Google
 
   
Login
Username:

Password:


Lost Password?

Register now!
Search
Main Menu
top books
Polls
What do you think about php-deluxe.net?
Excellent!
Cool
Hmm..not bad
What the hell is this?
encyclopedia
recommendation
compare webbrowser
Freenet DSL
Who's Online
5 user(s) are online (4 user(s) are browsing encyclopedia)

Members: 0
Guests: 5

more...
browser tip
Unix Befehle
manual of unix befehle
recommendation!
Sponsored
partner

Database design

Database design is the process of producing a detailed data model of a Database. This model contains all the needed logical and physical design choices and physical storage parameters needed to generate a design in a Data Definition Language, which can then be used to create a database. A fully attributed data model contains detailed attributes for each entity.

The term database design can be used to describe many different parts of the design of an overall database system. Principally, and most correctly, it can be thought of as the logical design of the base data structures used to store the data - in the relational model these are the database table and database view. However, the term database design could also be used to apply to the overall process of designing, not just the base data structures, but also the forms and queries used as part of the overall database application within the Database Management System or DBMS.

= Design Process =

The process of doing database design generally consists of a number of steps which will be carried out by the database designer. Not all of these steps will be necessary in all cases, but most usually, the designer must:

  • Determine the data to be stored in the database
  • Determine the relationships between the different data elements
  • Superimpose a logical structure upon the data on the basis of these relationships.
  • Within the relational model the final step can generally be broken down into two further steps, that of determining the grouping of information within the system, generally determining what are the basic objects about which information is being stored, and then determining the relationships between these group of information, or objects.

    == Determining Data to be Stored ==

    In a majority of cases, the person who is doing the design of a database is a person with expertise in the area of database design, rather than expertise in the domain from which the data to be stored is drawn e.g. financial information, biological information etc. Therefore the data to be stored in the database must be determined by co-operating with a person who does have expertise in that domain, and who is aware of what data must be stored within the system.

    This process is one which is generally considered part of requirements analysis, and requires skill on the part of the database designer to elicite the needed information from those with the domain knowledge. This is because those with the necessary domain knowledge frequently cannot express clearly what their system requirements for the database are as they are unaccustomed to thinking in terms of the discrete data elements which must be stored.

    == Determine Data Relationships ==

    Once a database designer is aware of the data which is to be stored within the database, he must then determine how the various pieces of that data relate to one another. When performing this step, the designer is generally looking out for the dependencies in the data, where one piece of information is dependent upon another i.e. when one piece of information changes, the other will also. For example, in a list of names and addresses, the address is dependent upon the name, because of the fact that if the address is different then the associated name is different two, but the inverse is not necessarily true (assuming the normal situation where two people can have the same address, but one person cannot have two addresses).

    (NOTE: Many people believe that the relational model is so called because of the stating of relationships between the data encoded there-in. This is not true. The relational model is named such because it is based upon the mathematical structures known as relations)

    == Logically Structuring Data ==

    Once the relationships and dependencies amongst the various pieces of information have been determined, it is possible to arrange the data into a logical structure which can then be mapped into the storage objects with the database management system. In the case of relational databases the storage objects are database table which store data in rows and columns.

    The way this mapping is generally performed is such that each set of related data which depends upon a single object, whether real or abstract, is placed in a table. Relationships between these dependent objects is then stored as links between the various objects.

    = See also =

  • Entity-relationship model
  • Database normalization