steps to design database

my boss ask me to make new procedure for the database system development start from receiving a request from client until
the end of designing the database so i read some reference books but still not satisfied
so what is your suggestion about the best steps or procedure we have to follow ?

Who is Participating?
All is becoming clear.
I have tried to give you a rough outline of a procedure that I would use for database development. In no way is it comprehensive, but I thought it might get you started down the right track.
I initially thought jim and bg were being a bit harsh, now it is becoming clear they were being realistic.
As Tag says, "Everyone that posted has good and solid advice."
If you are expecting a complete document detailing database system development, I suggest you follow jimhorns advice. Im sure you are aware that a system development life cycle procedure document is potentially a complex bit of work.
Dont expect to get your technical documents for free here. You may get some pointers, but you will have to do the bulk of the work yourself.

Good Luck

You can first make a list of all the entities that will be there in the application
then list out the attributes of each entity and create relationship between the same
This will bring you close to the DB diagram

Jim HornMicrosoft SQL Server Developer, Architect, and AuthorCommented:
Hi rbaian,

If you have never created a database before, I recommend contracting this out to an experienced DBA/Programmer, and then studying their design/code as a tutorial.  

Hope this helps.
Network Scalability - Handle Complex Environments

Monitor your entire network from a single platform. Free 30 Day Trial Now!

jimhorn is correct, I'm continually amazed at how often these types of questions come up...
...who are these clients, would they ask a nun who had never driven a car or looked at an engine to change the alternator on their car....?

Sorry rbaian, but to undertake the development of a database in the circumstances you describe you need to be educated in their concepts and have experience of database development. Learn how a database should be designed (to 3rd normal form at least), design and develop databases and learn through practice. The knowledge transfer process jimhorn suggests is a great way to learn...

The actual development lifecycle for databases should follow the standard stages common to all IT related projects -- analysis, requirements definition, design / documentation, development, test (unit,system,user)....the detail of the stages will require database development specific tasks to be undertaken...

good luck


To actually answer your question, here is how I would approach designing a database for a client.
1. Meet with client to ascertain their requirements. Make sure they have a realistic expectation and you can design something that will do what they want. Important details at this stage are defining which database technology they are going to use, system requirements that will need to be met and ensuring you have the skillbase to service their particular needs. In this first meeting if you come to an agreement that you can do the job they want, then you can get the basic database elements down ie: tables, relationships and functionality requirements.
2. Take the information from the first meeting and develop a first draft of the database design, making sure you follow sound database development strategies ie: normalisation to 3nf, data dictionaries and so on. BG above roughs out the process in his last paragraph. Dont hesitate to contact the client for any clarification of requirements.
3. Once you have the first draft finished, it is time to have another meeting with the client. Go over the draft with them. If by some miracle they are completely satisfied with the design, congratulations are in order, the database design job is finished. If things go as normal, you will have a number of items that will need to be worked on.
4. Repeat steps 2 and 3 until you have a complete database design you and the client can live with.

Everyone that posted has good and solid advice. Listen to it. I've seen soooo many database designs that were an absolute nightmare for me to go in and redesign.

Much of what you are asking for will vary significantly from client to client, what technology you have or can have, what the developers skill set is, how much time you have to devote, how much money is the client willing to spend, online or offline, central or distributed, is it relational or object, how much does speed matter, is LDAP a more effective solution, even how many people will be using it. All of this and much more can play a small or large part in your design.

I've seen a simple flat single table meet the needs for a client (not something that I suggest) and I've seen extreamly elaborate solutions for the most demanding of clients. The questions you ask and the answers you interpret from the client will be critical.

My best advice is know what your company can do and what it already has done, learn the database tools that you will be working with, ask a lot of good questions, and consult these experts a lot (they're really good people). And if you have the luxury, even if you have to push the issue, take jimhorns advice and subcontract it.

rbaianAuthor Commented:
you still not get the point or may be my question is ambiguous.i'm talking about an organization system to develop a database.
as programmer i'v done alot of database but it does't mean that i can build or organize something like system development life cycle for my company.
i hope now you understand
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.