0% found this document useful (0 votes)
82 views1 page

Normalization to Third Normal Form Guide

1. The document discusses normalizing tables to 1NF, 2NF, and 3NF. It asks the reader to describe characteristics and processes related to converting tables to each normal form, including examples. 2. The reader is asked to normalize a specific student grade report table to 3NF and examine a branch table to normalize it to 3NF as well. 3. Normalization involves identifying functional dependencies and transitive dependencies to break tables into multiple tables without data repetition, in order to eliminate certain types of anomalies and data inconsistencies.

Uploaded by

Eric Awat
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views1 page

Normalization to Third Normal Form Guide

1. The document discusses normalizing tables to 1NF, 2NF, and 3NF. It asks the reader to describe characteristics and processes related to converting tables to each normal form, including examples. 2. The reader is asked to normalize a specific student grade report table to 3NF and examine a branch table to normalize it to 3NF as well. 3. Normalization involves identifying functional dependencies and transitive dependencies to break tables into multiple tables without data repetition, in order to eliminate certain types of anomalies and data inconsistencies.

Uploaded by

Eric Awat
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Assignment Introduction to Database

1. Describe the characteristics of a table that violates first normal form (1NF) and then describe
how such a table is converted to 1NF.

2. What is the minimal normal form that a relation must satisfy? Provide a definition for this
normal form.

3. Describe an approach to converting a first normal form (1NF) table to second normal form (2NF)
table(s).

4. Describe the characteristics of a table in second normal form (2NF).

5. Describe what is meant by full functional dependency and describe how this type of dependency
relates to 2NF. Provide an example to illustrate your answer.

6. Describe the characteristics of a table in third normal form (3NF).

7. Describe what is meant by transitive dependency and describe how this type of dependency
relates to 3NF. Provide an example to illustrate your answer.

8. Put the following student grade report table in 3rd normal form

Student_Grade_Report (StudentNo, StudentName, Major, CourseNo, CourseName, InstructorNo, InstructorName,


InstructorLocation, Grade)
9. Examine the table shown below.

branchNo branchAddress telNos


B001 8 Jefferson Way, Portland, OR 97201 503-555-3618, 503-555-2727, 503-555-6534
B002 City Center Plaza, Seattle, WA 98122 206-555-6756, 206-555-8836

B003 14 – 8th Avenue, New York, NY 10012 212-371-3000

B004 16 – 14th Avenue, Seattle, WA 98128 206-555-3131, 206-555-4112

(a) Why is this table not in 1NF?


(b) Describe and illustrate the process of normalizing the data shown in this table to third normal
form (3NF).
(c) Identify the primary, alternate and foreign keys in your 3NF relations.

Common questions

Powered by AI

The minimal normal form a relation must satisfy is the first normal form (1NF). A relation is in 1NF if all its attributes contain only atomic, indivisible values with no repeating groups or arrays, meaning each column consists of separate and unique data .

In normalizing tables to 3NF, the primary key is a unique identifier for each record. An alternate key is any candidate key that is not chosen as the primary key. Foreign keys are fields in a table that create a link between two tables, referencing the primary key in another table. Correctly identifying these keys is crucial for maintaining data integrity and ensuring reduced redundancy—critical when breaking down tables to remove partial and transitive dependencies .

A transitive dependency occurs when a non-key attribute depends on another non-key attribute, rather than directly on the primary key. In 3NF, no transitive dependencies can exist; every non-key attribute must rely solely on the primary key. For example, in a table with attributes StudentID, InstructorName, and InstructorAddress, if InstructorAddress depends on InstructorName rather than StudentID, a transitive dependency is present. Removing such dependencies by splitting tables ensures compliance with 3NF .

A table violates 1NF if it contains repeating groups, which occur when there are multiple values for a particular column in a single record or row. To transform a table to comply with 1NF, each field must contain only atomic, indivisible units of data. This is achieved by removing repeating groups and creating separate rows for each instance of the repeated data. For example, if a table has a column that stores multiple phone numbers for a single branch, to transform it to 1NF, separate rows would be added for each phone number, or a related table should be created with a foreign key relationship .

The sample branch office table does not conform to 1NF because it allows multiple telephone numbers in a single field, representing repeating groups. To normalize this into 3NF, first, the table should be split so that each phone number is stored in a separate row in a related table. Additionally, each non-key attribute should depend solely on the primary key. The third normal form further requires eliminating transitive dependencies, so any indirect relationships among non-key attributes need separate tables, ensuring only direct relationships with the primary key remain .

To normalize a Student_Grade_Report table into 3NF, first ensure it is in 1NF and 2NF. Then eliminate any transitive dependencies by separating attributes into distinct tables based on functional dependencies. For example, attributes like InstructorNo, InstructorName, and InstructorLocation should be in a separate Instructor table linked by a foreign key from the main table, which should contain only attributes directly related to StudentNo such as Grade. This reorganization eliminates redundancies and enhances data consistency and integrity .

A table is in second normal form (2NF) if it satisfies the conditions for 1NF and all non-key attributes are fully functionally dependent on the entire primary key. This means there are no partial dependencies of columns on composite primary keys. Each attribute must rely on the whole key, ensuring reduced redundancy and dependence on unique keys .

Transitioning from 2NF to 3NF requires the elimination of transitive dependencies. A table is in 3NF if it is in 2NF and all its attributes are non-transitively dependent on the primary key, which means there are no dependencies among non-key attributes. The purpose of this step is to prevent anomalies and ensure data integrity by excluding extraneous dependencies that could cause data updates leading to inconsistent records .

Full functional dependency exists when an attribute is only dependent on the entire primary key and not on any part of it. In relation to 2NF, a table achieves 2NF when all non-key attributes show full functional dependency on the primary key. For example, in a table with a composite primary key of (StudentID, CourseID), if Grade depends on both StudentID and CourseID and not just one of them, then Grade has a full functional dependency, satisfying the conditions necessary for 2NF .

To transition a 1NF table to a 2NF table, each partial dependency must be removed. This involves ensuring that all non-key attributes are fully functionally dependent on the entire primary key rather than just a part of it. The process includes identifying and eliminating partial dependencies by creating new tables for them and providing foreign keys to maintain data relationships. The result is that each table fulfills the condition that every non-key column is fully dependent on the primary key, eliminating redundancy associated with partial dependencies .

You might also like