Download CD Content
The purpose of this chapter is to introduce the basic concepts underlying databases, including entity-relationship diagrams, a technique for representing the structure of a database and normalization, and a technique for refining a database design.
The term database might have a generic meaning as any organized collection of information, but in computing, database usually refers to relational databases. This is a very specific way of organizing data; namely, using tables, records and fields, with support for the Structured Query Language, SQL. Database management systems, DBMS, is the term for any product that supports this standard way of organizing data. The Microsoft Access product and the open-source MySQL software are each examples of a DBMS.
Database design is part of what is termed information design or modeling. It takes place before or concurrently with focus on the processes of an application. Process design is the topic for the next chapter. Database design done in the early or analysis phase is also called logical design. The actual design is then called physical design. During the physical design phase, you must specify the data types and sizes of the fields. You can be somewhat product independent here, but it might make more sense to do this in the context of a specific product.
Database design can be independent of any particular application. Historically, the move to databases as replacements for unstructured files came about when people in organizations realized that many applications made use of the same information. The cost and benefit of the database thus can be amortized over several applications. This point is easier to say than to implement in practice, since it means that different departments in an organization need to work together to design and implement the database.