Creating a Data Structure Chart
In our college database example, we've progressed through information gathering and categorizing data into fields, and have assigned the fields to categories that will be separate tables in the database. Now we need to figure out what relationships each table should have to each of the other tables in the database. The best way to visualize the relationships is to create a series of charts that represent the individual categories of information, then determine the relationship these groups should have to each other.We have several tables that will have a variety of relationships. The main ones are Students, Faculty, Courses, and Classes:Students.
Contains the data related to each individual student. Except for grade-related information, this data should remain relatively static once it is input.Courses.
Contains the data related to each course offered. Course information changes infrequently, so this is also a fairly stable file.Faculty.
Contains the data related to each member of the faculty. Faculty can be added or deleted but, like the student and course tables, will not change on a regular basis.Classes.
Contains a list of running courses, along with the list of students taking them and the instructor who teaches each course. This list changes every semester and requires a separate record for each class taken by every student.
Note that we have begun to divide our list into fields that will contain records in the individual tables and fields that will depend on lookups or relationships to other databases. All of our duplications are here, as well as those fields that are unique but depend on data from other tableslike the students' grade point averages and their accumulated credits, which will be calculated from their class data (Figure 2.4). We can use these organized field charts as blueprints for creating our database fields.
Figure 2.4. No fields should have to be input twice in a well-designed database. The fields in italics will appear in other databases by setting up relationships or using lookups.

