DB Design - Appears I have no idea.....

  • Hi All

    I've just read this blog about PK's and Identities.

    Appears that I'm one the donuts using PK's and Identities, wrongly combining and assuming that they are one and the same, blah de blah de blah!!! well I know they're not really, but I just got into a bad habit 'cos i didn't know any better - doh!

    "Oh yeah, I can design and develop databases - NOT!"

    There I was rolling along thinking all was great, well ok at least in my world and bang, I'm a real idiot it appears. There's a lot more about db design than PK's, FK's, identity columns and datatypes.

    I'm going to be going after my MCSD certification C#, my chosen elective is Designing and Implementing Databases with Microsoft SQL Server 2000, Enterprise Edition - Exam 70-229

    Questions:

    Will this above elective be enough to get me back onto the right path. Will I be taught the CORRECT way to design/build a SQL DB?

    What additional DB design training will I need to get to the level of understanding where I no longer make moronic mistakes?

    What's the next level from the above elective?

    My colleague and I will be going for out MCDBA after this sometime to the back-end of next year. Does this also help with the correct design methods for SQL Server.

    Any pointers, any comments, any advice will be gratefully received. I know I've a problem, just need a little guidance.

    Climbing back into my hole now.

  • Lee - I know from personal experience the number of poseurs out there masquerading as instructors and professors who certainly could not answer most of the questions I had....

    It's luck of the draw - you may land yourself with a great teacher who'll coax the guru out of you in no time or someone who's not worth crawling out of your hole for...

    for my money I'd say that just being on this great site, reading as many articles as you can - browsing the discussion forums where with everyone's work environment being as varied as they are you get as many perspectives - ask questions of your own - read some good books - and you'll find yourself keeping the money in your wallet as well as gaining invaluable knowledge...

    Before I forget - stop being so hard on yourself - everyone has to make a beginning somewhere and you're already way ahead of everyone else who's fallen into the trap of thinking that db design is slapping together a few tables via EM!!! So crawl out of your hole towards the light you've already seen...







    **ASCII stupid question, get a stupid ANSI !!!**

  • Hey sushila, thanks for that, it's actually quote sunny out here

    All I want to do is the right thing as in 'THE RIGHT THING' for any given situation. The MCSD for example, the route I'm taking to get it is proving difficult, I don't want a boot camp, knowledge cramming, quick get me certification type. I want facilitator led, classroom courses with my peers and the instructor being someone to guide me along the right path towards understanding the topic and being competent at it and I will apply the same approach to MCDBA too. My employer is paying for the lot

    I love working with SQL, however, at each turn I hear/read that I'm doing it all/most at least wrong and leave the design to the pro's - well I want to be a pro db designer, not someone who thinks he is. I subscribe to the ITToolBox and got wrapped up in a discussion about NULLS. I had been taught that NULLS are evil, a bit like cursors, design to never use NULLS. I found it so difficult at time trying to work out what the bloody hell I'm going to use as a default value. Then this debate starts about NULLS - wow, opened my mind. I'm now going back to allowing NULLS when the need arises. Mebbe some of you guru's out there will spit and say 'stupid boy', well - I don't really care. I've listened to both sides and I'm making my choice which is right for me right now.

    However, the PK/Identity thing is a major wrong turn that I made ages ago, so if someone can help me out here and point me in the right direction I'd appreciate it.

    So how did you get where you are, you pro db designers you, or should I say architect?

    What certifications have you earned?

    Was that certification enough to get you the knowledge you desired?

    If not, why not? What did you do about it?

    Some of the DB architects I've read and listened to are some of the most single minded and venomous people I've ever come across. They argue about virtually every little bit of data and how and why the only right way is their way. How the hell do I tell these people apart from the good guys????

  • Lee - this topic has been thrashed around on SSC as well - also includes joe celko's comments (that your blogger refers to).....

    follow these links...

    to id or not to id

    second link







    **ASCII stupid question, get a stupid ANSI !!!**

  • Speaking from my experience, the certification was more of a starting point rather than a goal. Sure it makes you learn the important stuff to pass the exam but 8 years on i'm still learning new and improved ways to do everything.

    Our main DB grows by around 20GB a week (last year was 10 GB which was scarey enough) and just trying to keep up with the demands are forcing me to become a better DBA, I'm one of those sick people that absolutely love their jobs but I would never criticise someone that's just starting out because they'd done something wrong.

    Learning by your mistakes is the best way (actually I take it back, learning from someone elses mistakes is better if you can get away with it).

    Mike

  • sushila >> thanks for the links. Opened my eyes yet again to the other side of the debate. Maybe I'm not as bad as I thought Joe Celko, blimey, likes the sound of his own voice or what, people like him make me want to turn off. At least Dale (in the link I provided) actually sounds like a nice guy:

    http://www.dalepreston.com/Blog/2005/02/motivation-by-insult.html

    Staying out of my hole now

    Mike >> Starting point - that's what I expected of the certification too, it just gets me to a level, providing I have the competence in the subject, to sell my skills that I'm certified for. At the mo it's just I don't feel really confident in selling myself as I do not have any professional certification achievements.

    Learning by your mistakes is the best way (actually I take it back, learning from someone elses mistakes is better if you can get away with it).

    Yeah I got that one already and that's really one of my reasons for posting the thread on here.

    Experience v's Wisdom

    Experience is tripping over the log, wisdom is watching the experienced and you stepping over both.

    Mike, just out of interest, did you go down the self study, distance learning, bootcamp or classroom route? 

    Thanks for your help guys!

  • Good question, I did my first SQL 6.5 admin course in a classroom with about 6 months of self study after it before I took the exam.  I now tend to do all my certifications via the self study route and have a good test setup that I use for playing around and breaking things on.

    I don't like bootcamps as I want to get proper experience rather than just learning enough to pass the exam, classroom courses are good but unless you get someone to pay for them they're out of my price bracket.  Even with official courses you just get the basics so the real learning comes from playing with it and learning what you did to break it

    I also like to attend conferences (one or two a year if possible) as thats another way of getting real world experience and contact with people I consider experts in their fields (anyone that's ever sat through one of Itzik Ben-Gan sessions will come away thinking he's a genius).

    One things for sure, i'm never going to know it all, which is why I'm happy communities like this one are around to ask questions when I get stuck with something.

  • Lee - in spite of Celko's ... er ... single-mindedness about certain things (or because of it? 🙂 he has published some very good books that are definitely worth studying, no matter which side of arguments like that you want to take. I liked "SQL for Smarties" very much.

  • funny you should say that Merrill...because for me - the single-mindedness - (actually - should correct that to the contemptuous and ridiculing tone of instruction) - has been such a turnoff that I am now in singleminded pursuit of resisting all temptation to touch anything branded with that name!

    ps: sure it may well turn out to be my loss and I may be digging my own grave - but aah - for the martyrdom of a principled death - it could be unparalleled!







    **ASCII stupid question, get a stupid ANSI !!!**

  • Always a dilemma :-). Back in the day I was a 3D graphics and CAD/modelling guy, and there was one piece of software I liked above all others, which will remain nameless. I knew that

    a. the guy who was responsible for its creation was extremely single-minded (In this case, read "difficult control freak," if you will. I do not know Joe at all and would not make such a characterization of him, but it is certainly true of this other guy.) and

    b. that his single-mindedness was actually what made the product so good, because it was TOTALLY rigorous.

    The interesting question for me is whether there's any cause-effect there 🙂

  • The interesting question for me is whether there's any cause-effect there...

    sure there is - I just followed the motivation-by-insult link that lee posted...I've often wondered why celko has even deigned to respond to the posts that he has when he seems to do nothing but heap scorn and rip the post(er) apart with scathing comments...this technique apparently has a name!

    the question more is the affect...some like you might just (intelligently and wisely) separate the wheat from the chaff and others like me might just cower beneath my desk and live in eternal fear of one of my posts ever coming in for some celko-initiated disparagement...







    **ASCII stupid question, get a stupid ANSI !!!**

  • the question more is the affect...some like you might just (intelligently and wisely) separate the wheat from the chaff and others like me might just cower beneath my desk and live in eternal fear of one of my posts ever coming in for some celko-initiated disparagement...

    For me it depends solely upon the confidence level I have with a particular subject. I have a high level of confidence with ASP & VBScript and so I'll battle, I'd rather discuss, the situation at hand, however, what makes me different is I know I don't know it all and I'm always willing to learn new methods of doing things, whether from a 'newbie', a peer or a master. I'm always also willing to pass on my knowledge to people providing the seeker is willing to match the effort I put in towards a solution to the problem, in a way that helps the seeker understand the concept that I'm trying to impart.

    When it comes to SQL, I will feel the same as you sushila, mainly because of my lack of confidence in my knowledge of the subject. Let's face it SQL is a damn complex topic which I find quite confusing a fair amount of the time and the difference between a newbie and a master is more vast than probably any other technology. As I've said before, I've found that masters fall into two distinct groups, the particularly nasty can't teach type, and the other more natural kind of patient teacher, coach. This is just human nature and unfortunately when head bloat comes into play, the first type thinks themselves omnipotent and treat ALL as their subordinates, whereas the second one will show humbleness and humility.

    Lee - in spite of Celko's ... er ... single-mindedness about certain things (or because of it? 🙂 he has published some very good books that are definitely worth studying, no matter which side of arguments like that you want to take. I liked "SQL for Smarties" very much.

    I've read the links that sushila posted and I'm afraid that 'The Man' attitude is all wrong to try and persuade anyone to listen to him, except mebbe for the sycophants that surround him. I may be missing an important lesson from this master and the recommendations you've given Merril, and although I'm sure would be a great read, well lets say I'm going to give it a body swerve. I'd want to give my hard earned to someone I respected, I will always go for the second type of master as they match my sentiments entirely and that's the type I would aspire to be myself.

    It's really unfortunate that such a fantastic technology has more than it's fair share of master type 1. This is only my second ever posting about SQL, but it won't be my last. And now I know more about the types involved I'll really try hard to stay out from under the table.

  • I'm going to be going after my MCSD certification C#, my chosen elective is Designing and Implementing Databases with Microsoft SQL Server 2000, Enterprise Edition - Exam 70-229

    Questions:

    Will this above elective be enough to get me back onto the right path. Will I be taught the CORRECT way to design/build a SQL DB?

    What additional DB design training will I need to get to the level of understanding where I no longer make moronic mistakes?

    What's the next level from the above elective?

    Lee, taking a course and certifying yourself in how to use SQL Server will in no way teach you how to design a database. It will teach you how to use SQL Server to create tables, stored procedures etc, but database design is theory and there is nothing of that in there.

    What you should do is take a step back and educate yourself in the fundamentals of database theory. Probably the best book you can get is CJ Date's An Introduction to Database Systems, Eighth Edition. That one is however quite heavy to read, so you might want to start out with something lighter. I suggest the two books below, mostly because they also take the approach of showing what the common misbeliefs in the database field today are, and correct them.

    CJ Date - Database in Depth - Relational Theory for Practitioners

    Fabian Pascal - Practical Issues in Database Management: A Reference for the Thinking Practitioner

  • Hey Chris

    Exactly the kind of info I'm after, thanks a million

Viewing 14 posts - 1 through 13 (of 13 total)

You must be logged in to reply to this topic. Login to reply