[Summary] The 'C' Word - Mailing list pgsql-general
From | Roderick A. Anderson |
---|---|
Subject | [Summary] The 'C' Word |
Date | |
Msg-id | Pine.LNX.4.10.10107240659221.9916-100000@tincan.org Whole thread Raw |
List | pgsql-general |
In a time long, long ago (or maybe only a week or so I sent out a messsage about Certification and Training with a promise to provide the results. After getting a little busy and waiting to make sure I had everyones messages it is at last done. My original message follows and the replies that apply (separated by three dashes '---') follow. --- [Original Message] I have been thinking about Certification issues for different software packages and tried to follow any discussions I run across. Typically I think of certification as an indication of an ability to learn-to-the-exam or as a previous employer said 'shows you can take tests'. This brought to mind the number of questions that appear on this list that indicate the person has very little knowledge of relational databases. This then got me thinking about how people - especially those on the PostgreSQL lists - got their training and education in databases. For myself I learned through a mix of reading (books, magazines, documentation), vendor training (Oracle's mostly), and hands-on work ( couple of large projects for the US Forest Service). No formal school based training. This got me wondering about training available locally. A _very_ brief check showed only application specific training - most notable was MS Access. Nothing on database design, relational theory, data normalization, etc. Now the Inland Northwest (Eastern Washington and North Idaho) isn't exactly a hotbed of Information Technology so I was wondering where others got their training and education and how you would suggest a new user get some fundamental training and education. Please reply off-list and I will gather and summarize the results. --- [Reply] I suppose I got my first 'training' years ago when I was doing data entry into a 4D Macintosh system. Since I also wound up serving as informal liaison between my boss and the freelance programmer developing the database app., I learned some about translating requirements into a database design in the process. Later, still as a clerk, I complained that Excel 4.0 macros weren't flexible enough to create all the reports my boss wanted, and the IS department handed me a copy of MS Access 1.1. I managed to get myself on the distribution list for "Smart Access", a newsletter edited by Paul Litwin, and learned a lot that way. Later I went back to college to finish my degree and got some more formal training in relational database design and modeling. My employer also signed me up for a couple MS SQL Server classes, although they were more about implementation than design. Books and articles also helped of course; anything by C.J. Date in particular. Nowadays I'm astounded at the number of people who design or even write database applications but know nothing about relational theory, normalization, referential integrity, etc. Right now I'm trying to educate the people writing the specs for the database application I'm working on, trying to convince them of the need to design in referential integrity. (i.e., "We can't allow users to delete a record in table A if there are still records in table B that depend on it... unless we also delete the dependent records in table B.") For me, "Certification" so far seems to be a waste of time and money. Most certifications are platform or vendor-specific, and are more about implementation than understanding the background reasons for doing something. My B.S. in Business/Information Systems was earned by learning theory and general principles; the technologies used in the degree program are mostly outdated now, but I'll be leveraging the design principles for years to come. I'm not trying to generalize and say that all certification is worthless; my knowledge isn't broad enough for that. Just relating my personal experience and resulting opinions. :-) --- [Reply] My education has been (and continues to be) very much as you described, with ACM/USENIX seminars replacing the vendor training. Even here in Boston, it is hard to find academic programs that can match the effectiveness of on-the-job learning, nevermind the fact that my employer pays me to learn on the job, instead of having to pay a university. There are occasional worthwhile classes, and I will probably eventually do a program or a certification. But more for the credibility than for the learning experience. I expect windows-based training might be easier to get through a university in today's world, but I really don't know. But you do allude to the fundamental weakness. Few places teach programming, many teach languages. But I'd rather learn programming and pick up syntax as I need it. Maybe that's an old fashioned concept. --- [Reply] I read books. --- [Reply] I bought the books for MS SQL Server database design and administration and took the tests. I was working in that environment and thought it would be a good place to get a baseline of knowledge and get validation of what I thought I already knew. It was a great experience and served its purpose. I see a lot of PG users who don't know anything about database design. They are learning the hard way and perhaps leaving some carnage in their wakes. Certification is a good idea only because the pot-of-gold is a good motivation to learn what they should know before issuing their first CREATE TABLE in a production environment. Great Bridge should be getting some of that money instead of microsoft. --- [Reply] Formal training at university. I have also done some oracle and MS training however there are some differences in the approach. One give you an overview of a product only introducing theory as a side note, presented as the authoritive voice of god. Uni training tended to be far more abstract however balanced against this the information has dated (no pun intended) less. One thing that I really found interesting was indexing and the advantages and disadvantages of different indexing approaches. Reading books gives a similiar depth of knowledge however uni tend to force you to learn theory in areas that don't currently interest you but later tend to be valuable. --- [Reply] all my training was done on the job. i would agree to do something i only had a vague idea about and then poke around howtos, faqs, mailing lists, websites, etc until i got it done. it actually worked very well and i didn't waste as much time as one would expect. i've always felt a little insulted by computer classes because they assume no learn-it-yourself attitude. --- [Reply] I read books. And made a _lot_ of mistakes the first couple of times out. Also, I worked for a library, running their database, so I got to see someone _else's_ normalisation (on PICK, though, so not relational) design, which was pretty instructive. Oh, and I studied symbolic logic as an undergrad. --- [Reply] I started out learning SQL because I wanted to database-ize my website. I had MySQL available, so I got a copy of SQL For Dummies and skipped past all that tedious Relational Theory and Normalization crap and built my site, making quite a few mistakes. A few months later, I completed a database class at my college (Southern Polytechnic) where I learned the RIGHT way to do everything and why FOREIGN KEYs are so gosh darn important. Now I cringe when I see some of the questions on this list :) --- [The End] Enjoy, Rod -- Remove the word 'try' from your vocabulary ... Don't try. Do it or don't do it ... Steers try! Don Aslett
pgsql-general by date: