An Introduction to Database Design

  • I have been trying to emphasize, and explain how I do this, which is precisely TO emphasize the conceptual, general principles for creating good abstractions/models at the first meetings. How the process of abstraction and modeling needs to be done, and why I want to do it that way for their project. The "tools" we will use: Conceptual models and DFDs at first, Logical Data models later.

    No way do we start talking about tables until typically 3 or 4 meetings in- AFTER we have a good conceptual model, AFTER we have a context diagram so we know what the input and output data will be.

    People are smart enough to realize, once you explian it to them properly, that some intellectual effort and rigour is needed to do the job well. They don't run out the door. Doesn't happen.

    ken

  • kenambrose (1/25/2011)


    I have been trying to emphasize, and explain how I do this, which is precisely TO emphasize the conceptual, general principles for creating good abstractions/models at the first meetings. How the process of abstraction and modeling needs to be done, and why I want to do it that way for their project. The "tools" we will use: Conceptual models and DFDs at first, Logical Data models later.

    No way do we start talking about tables until typically 3 or 4 meetings in- AFTER we have a good conceptual model, AFTER we have a context diagram so we know what the input and output data will be.

    People are smart enough to realize, once you explian it to them properly, that some intellectual effort and rigour is needed to do the job well. They don't run out the door. Doesn't happen.

    ken

    And yet people here are telling you they've seen it happen. I've seen it happen. Sometimes they retreat to excel, sometimes they just want to hire someone else to do it for them, sometimes they continue doing it improperly in a database. I've seen other people with the same explanation stick to it and persevere, but they're far fewer and further between.

    Hell I've known people who would retreat as soon as you tell them "We're not going to start talking about tables until 3 or 4 meetings in" because they just don't have the time to go to that many meeteings about it. I've known others that need the hands-on before they're even going to try to learn the "conceptual, general principles for creating good abstractions/models". Not that they don't want to learn, just that until they've touched it you might as well be speaking in Martian.

    When I'm trying to get people to buy-in to the databsae concept, I tailor my pitch to my audience, to the time they have available, their knowledge of computer systems, their comfort level with computers and what they really want to do with the system. Most business people don't need or want 3 or 4 sessions of theory before they talk about tables.

    You seem to be doing formal training courses, is that right? Would you appraoch the characters in the story you're commenting on in the same way you approach your classes? Who is attending the classes you're teaching and are they going to be db professionals when done or management/general workers? How long are the courses you're teaching if the first 3 or 4 sessions don't even get to tables?

    --------------------------------------
    When you encounter a problem, if the solution isn't readily evident go back to the start and check your assumptions.
    --------------------------------------
    It’s unpleasantly like being drunk.
    What’s so unpleasant about being drunk?
    You ask a glass of water. -- Douglas Adams

  • kenambrose (1/25/2011)


    People are smart enough to realize, once you explian it to them properly, that some intellectual effort and rigour is needed to do the job well. They don't run out the door. Doesn't happen.

    ken

    That, Mr.Ambrose, is not an assertion of a general trend, but a blanket statement.

    And those do take only one data point to disprove.

    And I have seen what you say "doesn't happen" happen. A lot.

    People don't all learn the same way. Period. You have to be able to teach in different ways for different people. Paul here has written an article that works for many of us in dealing with many of the people we work with.

    I get the fact that it doesn't work for you or your associates. I have also met and worked with people who learn and work better by starting with the abstract principles. So I say to you honestly, if you have a way that works for you and your associates, PLEASE PLEASE PLEASE write it up and submit it to this community.

    You've made your objections to this particular article clear. The next step is to produce an article you feel presents an introduction to design that will be equally or more useful than this one.

  • Well of course the obvious inference in the statement "doesn't happen" is that "doesn't happen to ME".

    I truly have never had that happen in years of on and off formal DB training classes, and on the job/ on the project training of SMEs to the process.

    re. an article: I would LOVE to. IF I can get some time off from 13 hour days on my current contract (3+ hours commute per day) I will do it.

    There is not all that much difference actually now that I think about it from the first few days of training in the generic DB classes I use to do , and the first few JAD meetings with SMEs that I often do now. Except I get to stick around and work more deeply with the SMEs as we go through discovery and modeling of their domains together.

    And then I often have to actually implement, but that is another story...

  • @stefan.

    In a previous career, I was in the printing industry (20+ years). I learned a lot about the concept of "quality" in that career.

    As professionals, we get to decide what we want to do, what OUR quality standards - as professionals - are. That is a concept I call "professional commitment".

    More than once in my printing career, I told managers that if they wanted to fire me for doing the job in such a way that I was confident it would not end up in the dumpster, as a professional, I was FINE with gettin fired for that reason. (absolutely true story, I had to say it numerous times).

    In this profession we are confronted with similiar challenges and my response is the same. If you don't want to put the minimum effort into doing the job right, then go ahead and produce crap,. But MY name won't be on it...

    I guess its a different way of thinking about work than the more "modern" hired gun way.

    When you go to a doctor and tell the doctor, "I don't want to go through a bunch of examinations, tests, interviews, see specialists, etc. I just want you to cure my problem in 3 visits max, at a cost of X max."

    As a doctor what do you say to the person in your office who presents you with this? I say, sorry can't help you.

  • kenambrose (1/25/2011)


    @Stefan.

    In a previous career, I was in the printing industry (20+ years). I learned a lot about the concept of "quality" in that career.

    As professionals, we get to decide what we want to do, what OUR quality standards - as professionals - are. That is a concept I call "professional commitment".

    More than once in my printing career, I told managers that if they wanted to fire me for doing the job in such a way that I was confident it would not end up in the dumpster, as a professional, I was FINE with gettin fired for that reason. (absolutely true story, I had to say it numerous times).

    In this profession we are confronted with similiar challenges and my response is the same. If you don't want to put the minimum effort into doing the job right, then go ahead and produce crap,. But MY name won't be on it...

    I guess its a different way of thinking about work than the more "modern" hired gun way.

    When you go to a doctor and tell the doctor, "I don't want to go through a bunch of examinations, tests, interviews, see specialists, etc. I just want you to cure my problem in 3 visits max, at a cost of X max."

    As a doctor what do you say to the person in your office who presents you with this? I say, sorry can't help you.

    Ah, this explains a lot. If you're filtering out the people that don't want to do it your way before you start, of course you're going to end up with a higher success rate.

    As a doctor, it depends on what the patient's problem is. Is the patient overweight? Then you say "I might not be able to solve your problem, but here's what we can do within the parameters you've set. Eat less and exercise more and here are some ways to go about that." Same with databases. Don't want to go through the training to be a DBA/designer because you just want a simple database to use as a tool for what you consider your "real" job? OK, here's some of the basics, we'll work together occasionally and I'll be here to answer questions when you have them and review your work when you want me to.

    Personally I try to help people and that tends to mean that more often than not I adjust what I do to what they are capable of. If that means they have a database that isn't perfect, but they can understand it and use it for what they need, fine. You aren't seeing people give up and run back to Excel after the first class because you've told them to go back to Excel before they even get there.

    --------------------------------------
    When you encounter a problem, if the solution isn't readily evident go back to the start and check your assumptions.
    --------------------------------------
    It’s unpleasantly like being drunk.
    What’s so unpleasant about being drunk?
    You ask a glass of water. -- Douglas Adams

  • kenambrose (1/25/2011)


    ...

    re. an article: I would LOVE to. IF I can get some time off from 13 hour days on my current contract (3+ hours commute per day) I will do it

    ....

    You've spent enough time and energy on your debate here, to write half the article, so spend the time in here writing the article instead of adding a rebuttal to every point raised here. Then you can make one more comment here with a link to the article.

  • <<You've spent enough time and energy on your debate here, to write half the article,>>

    Not even in the same continent Jack. A few typo ridden, before the morning commute emails, don't come near the time it takes to write a high quality tutorial for beginning DB design. I expect the author of the article we are discussing will back me up on that.

    Besides, I made a better alternative suggestion earlier in the discussion. Folks who want to be competent at this stuff should go out and read Fabian Pascal's intro. And if 100 pages with lots of graphics is too much, then maybe DB design is simply not what they should be attempting...

  • kenambrose (1/25/2011)


    A few typo ridden, before the morning commute emails, don't come near the time it takes to write a high quality tutorial for beginning DB design. I expect the author of the article we are discussing will back me up on that.

    Once I hit on the idea of using this particular writing style to explain difficult concepts to a new audience, the business of actually writing the article was very quick - less than a day, in fact.

    Besides, I made a better alternative suggestion earlier in the discussion. Folks who want to be competent at this stuff should go out and read Fabian Pascal's intro. And if 100 pages with lots of graphics is too much, then maybe DB design is simply not what they should be attempting...

    The only reason I would encourage someone to read Fabian Pascal's work is for entertainment value: his relational zealotry escalated to self-parody long ago. Others cover the same ground in much better style.

  • Hi Paul,

    <<Fabian Pascal's work is for entertainment value>>

    Yes I can see, based on the approach offered in your article, that you would consider such commitment to Codd's work "zealotry" and dismiss it as entertainment...

  • SQLkiwi (1/26/2011)


    The only reason I would encourage someone to read Fabian Pascal's work is for entertainment value: his relational zealotry escalated to self-parody long ago. Others cover the same ground in much better style.

    There are some but not many others who have produced similar content and the same high quality as Fabian Pascal's output. 10 years after it's publication, Pascal's "Practical Issues" book remains one of my regular must-read recommendations. Judging from some of the content on this site, even some of its regular contributors would do well to read his and similar works.

  • kenambrose (1/26/2011)


    Yes I can see, based on the approach offered in your article, that you would consider such commitment to Codd's work "zealotry" and dismiss it as entertainment...

    No you are quite wrong. I simply prefer the writing style of people like Hugh Darwen and Chris Date for example.

    Regarding the approach taken in this first article, you are welcome to your opinion, but be aware that is all it is.

  • David Portas (1/26/2011)


    There are some but not many others who have produced similar content and the same high quality as Fabian Pascal's output. 10 years after it's publication, Pascal's "Practical Issues" book remains one of my regular must-read recommendations. Judging from some of the content on this site, even some of its regular contributors would do well to read his and similar works.

    Don't mistake my distaste for Fabian's style for opposition to the core message that he and others have been trying to disseminate all these years. Not that I think for one moment that the TransRelational Model or Tutorial D are about to replace SQL or semi-relational databases.

    My view is that a confrontational and intolerant style just polarizes opinion, and encourages the stream of almost-religious flame wars on this topic that so many of us find tedious in the extreme.

    If the relational model is failing (and it has had a while to bed in now) a large part of the blame lies with some of its proponents' failure to engage with people.

    One of the goals of this series of articles is to try a different, more inclusive approach, while hopefully still getting the important messages across. We'll see how we go.

  • Beautiful article...:-)

  • Brilliant and funny article Paul. I wonder if Daniel Vettori really does wear wasabi lip balm?! 😛

Viewing 15 posts - 76 through 90 (of 125 total)

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