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!
Brian D. Egler, MCITP-DBA/MCSE/MCT, is currently an instructor with Global Knowledge, teaching various Microsoft training courses such as MCSE, MCITP-DBA and other SQL Server courses. He is a SQL specialist and an expert on Exchange, Windows, .Net and XML. Egler has been a technical instructor for 16 years and has more than 10 years experience with SQL Server, data modeling, database design, application development including IMS, DB2, Sybase. In addition, he is member of the Project Management Institute.
Global Knowledge sponsors a monthly giveaway on Microsoft Subnet. Check out the Microsoft Subnet home page for details.
Global Knowledge offers a comprehensive catalog of Microsoft courses, including:
MCITP: Database Administrator Boot Camp
SQL Server 2005 Administration
MCITP: Enterprise Administrator Boot Camp
More Microsoft Courses
|
|