steps to design database

Posted on 2005-05-04
Last Modified: 2013-12-03
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 ?

Question by:rbaian

    Expert Comment


    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

    LVL 65

    Expert Comment

    by:Jim Horn
    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.
    LVL 13

    Expert Comment

    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


    LVL 8

    Expert Comment

    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.

    LVL 1

    Expert Comment

    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.


    Author Comment

    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
    LVL 8

    Accepted Solution

    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

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    How to run any project with ease

    Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
    - Combine task lists, docs, spreadsheets, and chat in one
    - View and edit from mobile/offline
    - Cut down on emails

    Suggested Solutions

    In today’s complex data management environments, it is not unusual for UNIX servers to be dedicated to a particular department, purpose, or database.  As a result, a SAS® data analyst often works with multiple servers, each with its own data storage…
    I guess that all of us know that caching the data usually increase the performance, but I worried if all of us are aware about the risk that caching the data provides and how to minimize this.  That’s the reason why I decided to write this short art…
    Video by: Steve
    Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
    Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

    761 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    11 Experts available now in Live!

    Get 1:1 Help Now