Database Systems has a practical, hands-on approach that makes it uniquely suited to providing a strong foundation in good database design practice. Database design is more art than science. While it’s true that a properly designed database should follow the normal forms and the relational model, you still have to come up with a design that reflects the business you are trying to model. This paper shows describes design process of database project.
The importance of Completing the Design Process
An important point to keep in mind is that the level of structural integrity and data integrity is in direct proportion to how thoroughly the design process is followed. The less time spent on the design process, the greater the risk of encountering problems with the database. While thoroughly following the database design process may not eliminate all of the problems you may encounter when designing a database, it will greatly help to minimize them. Also in an RDBMS software program a well-designed database is easier to implement than a poorly designed database. (Michael J. Hernandez, 1996)
Key database Design Concepts
Before a design effort can proceed full speed ahead, the designer must first take time to understand the business. Understanding the business involves understanding the entities, data, and rules within an organization, and then converting these attributes of the business into a business model. Then, the designer must have a solid comprehension of the proposed database model. Finally, the designer will convert the business model into a database model, using a design methodology, whether automated or a manual process.
(Ryan Stephens ; Ronald Plew, 2002)
General Design Process
Following table list general steps of database design
1Requirements collection and analysis
2Conceptual database design
3Choice of a DBMS
4Data model mapping (also called logical database design)
5Physical database design
6Database system implementation
(Elmasri, Ramez, ; Navathe, Shamkant B., 1994)
Creating the application is the last stepnot the first! Many developers take an idea for an application, build it, then go back and try to make a set of database tables fit into it. This approach is completely backwards, inefficient, and will cost a lot of time and money.
Before starting any application design process, sit down and talk it out. If you can’t describe your applicationincluding the objectives, audience, and target marketthen you’re not ready to build it, let alone model the database.
Once you can describe the actions and nuances of your application to other people and have it make sense to them, you can start thinking about the tables you want to create. Start with big flat tables because, once you write them down, your newfound normalization skills will take over. You will be able to find your redundancies and visualize your relationships.
The next step is to do the normalization. Go from flat table, to first normal form, and so on, up to the third normal form if possible. Use paper, pencils, Post-it Notes, or whatever helps you to visualize the tables and relationships. There’s no shame in data modeling on Post-it Notes until you’re ready to create the tables themselves. Plus, they’re a lot cheaper than buying software to do it for you, which range from one hundred to several thousands of dollars!
After you have a preliminary data model, look at it from the application’s point of view. Or look at it from the point of view of the person using the application you’re building. This is the point where you define business rules and see if your data model will break. An example of a business rule for an online registration application is, “Each user must have one e-mail address, and it must not belong to any other user.” If EmailAddress weren’t a unique field in your data model, then your model would be broken based on the business rule.
After your business rules have been applied to your data model, only then can application programming begin. You can rest assured that your data model is solid and you will not be programming yourself into a brick wall. The latter event is all too common.
Proper database design is the only way your application will be efficient, flexible, and easy to manage and maintain. An important aspect of database design is to use relationships between tables instead of throwing all your data into one long flat file. Types of relationships include one-to-one, one-to-many, and many-to-many.
Using relationships to properly organize your data is called normalization. There are many levels of normalization, but the primary levels are the first, second, and third normal forms. Each level has a rule or two that must be followed. Following all of the rules will help ensure that your database is well organized and flexible.
To take an idea from inception through to fruition, you should follow a design process. This process essentially says “think before you act.” Discuss rules, requirements, and objectives, and then create the final version of your normalized tables.
1.Elmasri, Ramez, ; Navathe, Shamkant B., Fundamentals of Database Systems, Second Edition, Addison-Wesley Publishing Company, 1994, ISBN 0-8053-1748-1, pages 450-452.), retrieved from website http://www.ibiblio.org/faint/finosaur/db/ , Feb 06, 2005
2.Michael J. Hernandez, Database Design For Mere Mortals, Chapter 4, 1996, retrieved from UOP resource safari Tech Books Online website, Feb 06,2005
3.Ryan Stephens ; Ronald Plew, Key database design concepts, 2002, retrieved from website http://searchdatabase.techtarget.com/originalContent/0,289142,sid13_gci812028,00.html, Feb 06, 2005