1. Feasibility studyThis process is not linear but is, as the name suggests, cyclic. For example, during implementation, the developers might realize that they neglected a system requirement. In this case, they would need to cycle back through the requirements, design, and implementation phases to make the necessary adjustments. As well as being cyclic, development might occur in more than one phase at once. For example, a large team project might have coordinating groups working simultaneously on physical relational database design and application design, or testing might occur in conjunction with data loading.
2. Requirements collection and analysis
3. Database design
a. Conceptual database design with normalization
b. Logical relational database design
c. Physical relational database design
4. Application design
5. Implementation
6. Data loading
7. Testing
8. Maintenance
Definition | The relational database lifecycle is the process of developing a relational database system. |
Definition | An update anomaly is a problem with inserting, deleting, or updating a database because of structure of the relations. |
Definition | A relational database is in First Normal Form (1NF) if each attribute is single-valued with atomic values. |
Definition | Attribute (or set of attributes) B is functionally dependent on attribute (or set of attributes) A, written A --> B, if for each value of A, there corresponds exactly one value of B. |
Definition | Attribute (or set of attributes) B is fully functionally dependent on attribute (or set of attributes) A, if B is functionally dependent on A but is not functionally dependent on any proper subset of A. |
Definition | A relational database is in Second Normal Form (2NF) if it is in 1NF and each attribute that is not a primary key is fully functionally dependent on the entity's primary key. |
Definition | A relational database is in Third Normal Form (3NF) if it is in 2NF and no non-primary key attribute is functionally dependent on another non-primary key. |
Example 1
Example
1 of the "Relational Database" module considers a chemical database.
Suppose the ChemExperiment entity incorrectly also included attributes
for the solvent's freezing point (FreezingPoint) and freezing point
depression constant (Kf), as the following ER diagram illustrates:
ChemExperiment is not in 3NF because FreezingPoint and Kf are functionally dependent on SolventName, which is not a primary key. SolventName --> FreezingPointTo normalize the entity to 3NF, we move attributes SolventName, FreezingPoint, and Kf into another entity, ChemSolvents, and keep SolventName as an attribute of ChemExperiment, as the following diagrams: The resulting ER diagram agrees with the schema design in Example 1 of the "Relational Database" module. |
Quick Review Question 4 Quick
Review Question 1 of module "Relational Databases" described a psychology
database that store data from a number of experiments. Suppose the entity
PsyExp for a conditioning experiment with a rat has attributes for
time, event, and event code, with data and ER diagram as follows:
Why is the entity not in 3NF? Normalize the entity to 3NF. |
Definition | Normalization of a data model is the process of converting the model to 3NF. |
Normal Form | Characteristics | Conversion Process |
1NF | Single-valued attributes | Create new entity from multivalued attribute |
Atomic-valued attributes | Break composite attribute into component attributes | |
2NF | 1NF | Convert to 1NF |
Non-primary key attributes fully functionally dependent on primary key | Attached non-primary key attribute to correct (perhaps new) entity | |
3NF | 2NF | Convert to 2NF |
No non-primary key attribute is functionally dependent on another non-primary key | Move both attributes into a new entity |
Example 2
The entity DragExpRun of ER diagram (Figure
15) of module "Entity-Relationship Model", which Figure 7 below reproduces,
maps to the following relation with primary key RunNumber:
Figure 7. Entity DragExpRun of ER diagram (Figure 15) of module "Entity-Relationship Model" |
Quick Review Question 5
Develop the table corresponding to the entity student from
Figure 4.
|
Example
3 The entity LabSection from
Figure 2 has 1-to-N relationship with DragRunExp from
Figure 7 because a lab section assigns many runs of the drag
experiment. Thus, in the DragRunExp relation, we have a
foreign key of the primary key of LabSection, which is a
collection of CatalogNumber, year, semester, and
section. The table configuration follows:
|
Quick Review Question 6
Revise the DragRunExp relation to reflect the fact that
team with primary key TeamNumber and additional
attribute of TeamGrade has a 1-to-N relationship with
DragRunExp.
|
Example 4
In ER diagram (Figure
15) of module "Entity-Relationship Model," entity student is
related to entity team with two relationships, one of which is a
1-to-1 LeaderOf relationship (see Figure 8). To convert to the logical
database model, in team we make StudentId a foreign key with
attribute name LeaderStudentId. The value of this attribute is the
student id of the team leader. The table configuration for team follows:
Figure 8. Entities student and team and their attributes and relationships from ER diagram (Figure 15) of module "Entity-Relationship Model" |
Example
5 The assistant and
LabSection entities of Figure 2 have an N-to-M
relationship, assists. As Figure 9 illustrates, we create a
new AssistantLabSection entity that has the primary keys from
both assistant and LabSection. A 1-to-N
relationship exists from assistant to
AssistantLabSection and from LabSection to
AssistantLabSection. The corresponding junction table is as
follows:
|
Quick Review Question 7 Resolve
the N-to-M relationship of student Figure
2 and LabSection of Figure 4 into a relation.
|
1. Exercise 1 | 2. Exercise 2 |
3. Exercise 3 | 4. Exercise 4 |
5. | a. Convert the N-to-M relationship TeamMemberOf from student to team to have only 1-to-N relationships in the ER model. |
b. Map Part a into relations. | |
6. | Develop the table corresponding to the entity LabSection from Figure 2. |
Copyright © 2002, Dr. Angela B. Shiflet
All rights reserved