Click here to Skip to main content
15,885,546 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
i would like to know the things should i remember(or take care) to design a database for a project?
Posted
Updated 6-Jan-14 3:30am
v2

There isn't a "list" as such, it's an experience thing as much as anything.
The important things are:
1) Don't over complicate it.
2) Don't store the same data in two places, use a reference to a different table that holds the actual data.
3) Make sure each table has an ID row - this can be an integer with Identity specification set to true if you want - so that it makes each row uniquely identifiable. It doesn't take much space, and it can save a lot of time.

Then, if you are a beginner, or not too sure try it all out manually:
Start with a pile of blank paper and a pencil, and go through each and every function the userhas to do and play with it on paper. The idea here is to get a firm picture of what data you need to play with and how it can be well organised - you should find that one approach falls over and makes life difficult somewhere else, or a small tweak or an extra table will make things easier.
Try it, test it, and use the paper as database tables. Then when you are happy, do it again - this time with two user doing things at the same time. Causes problems? Can do - and it's easier to fix now than later.

When you have that, design your DB from the paper version and again, try it out using SSMS and maybe a couple of stored procedures. Time spent here pays big dividends later!
 
Share this answer
 
There are enough best practices document which you can find on internet and they help you tell what NOT TO DO.

Some of them are:

http://architects.dzone.com/articles/20-database-design-best[^]

http://c2.com/cgi/wiki?DatabaseBestPractices[^]

What they would not tell you and in fact no one can tell you is what is best for your application.

I would say is use your common sense and try to KEEP IT SIMPLE. While designing the database or any other layer if you yourself do not feel comfortable or your team mate does not understand it then it is time to rethink about your design.

Remember the best design are those which you can explain to anyone (and I mean anyone with or without technical or functional knowledge) of what you are doing.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900