Databases Reference
In-Depth Information
| 12345876 | Susan | Smith |
+------------+------------+---------+
and keep less information in the Student_Grades table:
+------------+---------------------------+------+-----+------+
| StudentID | CourseName | Year | Sem | Pctg |
+------------+---------------------------+------+-----+------+
| 12345678 | Web Database Applications | 2004 | 2 | 72 |
| 12345121 | Programming 1 | 2006 | 1 | 87 |
| 12345678 | Computing Mathematics | 2005 | 2 | 43 |
| 12345678 | Computing Mathematics | 2006 | 1 | 65 |
| 12345121 | Web Database Applications | 2006 | 1 | 65 |
| 12345876 | Computing Mathematics | 2005 | 1 | 75 |
| 12345876 | Programming 1 | 2005 | 2 | 55 |
| 12345303 | Computing Mathematics | 2006 | 1 | 80 |
+------------+---------------------------+------+-----+------+
To look up a student's grades, we'd need to first look up her Student ID from the
Student_Details table and then read the grades for that Student ID from the Stu
dent_Grades table.
There are still issues we haven't considered. For example, should we keep information
on a student's enrollment date, postal and email addresses, fees, or attendance? Should
we store different types of postal address? How should we store addresses so that things
don't break when a student changes his address?
Implementing a database in this way is problematic; we keep running into things we
hadn't thought about and have to keep changing our database structure. Clearly, we
can save a lot of reworking by carefully documenting the requirements and then work-
ing through them to develop a coherent design.
The Database Design Process
There are three major stages in database design, each producing a progressively lower-
level description:
Requirements analysis
First, we determine and write down what exactly the database is needed for, what
data will be stored, and how the data items relate to each other. In practice, this
might involve detailed study of the application requirements and talking to people
in various roles that will interact with the database and application.
Conceptual design
Once we know what the database requirements are, we distill them into a formal
description of the database design. In this chapter, we'll see how to use modeling
to produce the conceptual design.
Logical design
Finally, we map the database design onto an actual database management system
and database tables.
 
Search WWH ::




Custom Search