I started out in Database Design early in my application development career. I still remember being issued with an official IBM stencil for drawing Entity Relationship Diagrams (ERDs). Change management was performed using erasers and pencils. You remember that, don't you? Maybe not. I ended up working for Bachman Inc, a great company that pioneered the graphical database design tools we know today. The important thing I learnt in those early days was how to build a blueprint for your database, much like an architect draws up a blueprint for your dream house - before a brick is laid.
The analogy holds true to database design. You wouldn't go out and buy hammer, nails and lumber and start building a house "on the fly". We hire a qualified architect to draw up a blueprint for our house, then discuss it and change it on paper until we're satisfied. If at first, a laundry room on the second floor sounds a good idea, but then we hear about a horror story of a sudden leak in a washing machine (I speak from experience) then we can move the laundry room downstairs very easily with a blueprint. Of course, it would be very expensive after building the house. In the same way, we should design our database using a graphical tool to produce the "blueprint" - a data model - before a single line of application code is written.
Charlie Bachman was a true database guru, developing a network DBMS that evolved into Cullinet's IDMS. With the advent of IBMs relational DB2, Charlie saw an opportunity for graphical tools to design databases independent of the final platform. Like CAD/CAM for your database. Bachman started out developing tools on the Windows platform, having to develop the graphics drivers in-house as there was no equivalent technology available. This was 1989 and predictions of the imminent death of Windows were greatly exaggerated. IBM's OS/2 was going to take over the world. So, being an IBM partner, Bachman developed a new suite of tools on OS/2 waiting for the market to switch over. These tools were widely regarded as the "Rolls Royce" suite of database design tools. Loyal customers would buy dedicated machines for OS/2 solely to run the Bachman tools. Unfortunately, these superior products lost market appeal as OS/2 struggled and other tools loyal to Windows gained traction like ER/Win, PowerDesigner and even Visio. All these tools now have the Bachman innovations of Forward Engineering (generate a database from a model) and Reverse Engineering (generate a model from an existing database). But that's history. The best products don't always win the day. (dare I mention BetaMax or even HD-DVD?). The point is, we have to select the design tool of choice and carefully develop the data model as the blueprint of the database. Only when the design is agreed upon, approved and tested can we proceed with application coding. Because going back and changing an existing database after an application has been written is a very expensive proposition. So take the time to get it right first time.
You are the qualified architect. Build that Blueprint. (And remember don't put the Laundry room on the second floor!) Cheers Brian
See recent blog posts...
Slowly Changing Dimensions – a cool new transform in SSIS
Bill Gates is giving us a break with SQL Server licensing – or is he?
Database failure? Don’t update your resume - You can be the hero!
Latest software headlines from Network World:
Errant e-mail to me will cost you
Red Hat looks to mainstream markets for growth
Goldman Sachs leads $12 million investment in Nimsoft
|
Does Verizon's Voyager stack up to the iPhone? |
|
|
5 IT skills that won't boost your salary
[1,407]
Women 4 times more likely than men to cough up personal info
[589]
Japan's 10 funniest tech-related commercials [Videos]
[407]
Throwing away a promo CD is "unauthorized distribution"?
[1,265]
Adults too quick to dismiss educational video games
[682]
Attack of the iPhone clones [Slideshow]
[578]
10 things IT needs to know about AJAX
[1,258]
This Year's 25 Geekiest 25th Anniversaries [Slideshow]
[409]
|
|