Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design

   

Defining the Final Table List

Your preliminary table list is as complete as it can be at this point, so you'll now transform it into a final table list . This new list incorporates two elements that are not currently on the preliminary table list: table type and table description . Figure 7.9 shows an example of a final table list.

Figure 7.9. An example of a final table list.

A table type allows you to classify a table by the role it plays within the database and provides you with a means of identifying tables that function in a similar manner. The table's role determines its type, and there are four table types that you can associate with a given table:

  1. A data table represents a subject that is important to the organization and is the primary foundation of the information that the database provides. (You'll learn more about data tables later in this chapter.)

  2. A linking table establishes a link between two tables in a many-to-many relationship. (Chapter 10 covers linking tables in more detail.)

  3. A subset table contains fields that are related to a particular data table and further describes the data table's subject in a very specific manner. (You'll learn more about subset tables later in this chapter.)

  4. A validation table contains relatively static data and is a crucial component of data integrity. (Chapter 11 provides further details on this type of table.)

A table description provides a clear definition of the subject represented by the table and states why the subject is important to the organization. There are certain guidelines that govern how you create a table description, and you'll learn about them later in this chapter. There is a final task you have to perform before you transform your preliminary table list into the final table list: refining the table names .

Refining the Table Names

Naming a table is a more complex affair than you may realize at the moment. As you learned in Chapter 3, a table represents a single subject; therefore, its name must clearly identify the subject it represents. The following guidelines will help you create table names that are clear, unambiguous, descriptive, and meaningful. They will also help ensure that you name your tables in a consistent manner.

Guidelines for Creating Table Names

Use these guidelines to refine each table name on the preliminary table list. When you're finished, this list becomes your final table list and remains so for the duration of the database-design process. Note that the list is "final" only in the sense that you've accounted for all the tables that you identified throughout the entire analysis process. It's very likely that you'll add new tables to this list based on requirements imposed by relationships, data integrity, or other information that you develop.

Indicating the Table Types

As you learned earlier in this chapter, you indicate each table's type on the final table list. Recall that the four classifications you can use to identify the table type are data , linking , subset , and validation .

When you first create your final table list, every item on the list is a data table because it represents a subject that is important to the organization and serves as the primary foundation of the information that the database provides. There will be no linking tables or validation tables on the list because you have not yet defined relationships or imposed data integrity. (You'll address these issues later in the design process.) The list will not contain subset tables because you define them after you assign fields to the data tables.

For the moment, designate each table on the final table list as a data table. You'll assign other table types later as the database-design process continues to unfold.

Composing the Table Descriptions

The table description is another aspect of a table that you record on the final table list. A table description is crucial because it helps everyone understand why a given table exists and why the organization is concerned with collecting the data for that table. In fact, the description must explicitly define the table and state its importance to the organization. It doesn't matter whether the definition comes first or you use more than one sentence to convey this informationboth the definition and the explanation of the table's importance must be in the description. The table description also provides a means of validating the need for a tableif you are unable to explain why a table is important to the organization, then you need to determine when and how the table was identified and whether it really is necessary at all.

Just as you had guidelines to help define table names, you also have a set of guidelines to help you compose a table description that is focused, concise, unambiguous, and clear.

Guidelines for Composing a Table Description

Interviewing Users and Management

Now you'll define table descriptions for the tables on the final table list. You'll conduct interviews with both users and management, and enlist their aid in establishing each table's definition and importance to the organization. (This is one of the few times that you'll actually interview both groups together.) Your main objective is to get a consensus on general descriptions for the tables. When your interviews are complete, take your notes and compose final table descriptions, making sure to follow the guidelines outlined above. Then confer with both parties once more to make certain that the descriptions are acceptable and easily understood by all. The final table list is complete when everyone has agreed on the descriptions.

Consider this example: Assume you're developing a database for a local software training organization. Your assistant, John, is conducting an interview with some of the people from the organization. Specifically, he's speaking to Mark from the administration department; Frits, the instructor coordinator ; Sara, the vice president of sales; and Caroline, the head of the organization. The dialogue on the next page is a partial transcript of John's interview. John is currently discussing the Clients table.

Note

Unlike the interviews you conducted during the analysis and requirements review stages of the design process, you no longer need to involve everyone in the organization. But you will work with a representative group of users and management for the interviews you'll conduct throughout the remainder of the design process.

J OHN :

"Okay, let's talk about the Students table. How would you describe a 'student'?"

F RITS :

"A student is a private individual who comes in for one of our classes."

S ARA :

"That's only partially true. A student can also be an individual that an organization sends to our classes. For example, many of our students come from local banks and insurance companies, and those organizations pay for the students' tuitions."

M ARK :

"Yes, you're quite right. I guess we can simply say that a student is an individual who comes in for one of our classes."

(John makes a note of what Mark just said.)

J OHN :

"Goodgot it. Does everyone agree with Mark?"

(Everyone nods in approval.)

 

"Great. Now, how would you explain to someone why student information is important to this organization?"

C AROLINE :

"Without students, we don't have a business!"

F RITS :

"If we can keep track of the students who attend our classes, we can send them information regarding our new classes."

S ARA :

"Keeping track of this information allows us to keep billing and contact information current. This is especially true for organizations that send their employees to our classes. Training coordinators move on to other positions , and we have to know the name of the new person we'll be dealing with."

J OHN :

"Good point. Does anyone have anything further to add? No? Okay, does everyone agree with what has been said so far?"

(Everyone once again nods in approval. Because no additional comments are made, John jots down some final notes and moves on to the next table.)

As you can see, conducting this type of interview is a fairly straightforward affair. Notice how John attempts to get a consensus as he recognizes that no one has anything else to say about the topic at hand. He then makes note of the points that will help him compose the description and moves on to his next topic.

After John has finished conducting the interview, he uses his notes to develop a table description for each table on the final table list. He'll have to interpret and study the participant's responses in order to develop a suitable table description. Based on his examination, John writes the following description:

Studentsthose individuals who attend our classes. The information provided by the data in the Students table allows our organization to further promote our classes and supports proper communications with the students.

John then writes a description for each table on the final table list. When he's finished, he'll speak with Mark, Frits, Sara, and Caroline once more to make sure the descriptions are acceptable and that everyone understands them without any difficulty.


   
Top

Категории