Normalization of Database Tables Flashcards
What is normalization?
It is the evaluation and correction of table structures to minimize data redundancies
What does normalization do?
It reduces data anomalies and assigns attributes to tables based on determination
What are the three different normal forms?
First normal form
Second normal form
Third normal form
What is the structural point of view of normal forms?
Higher normal forms are better than lower normal forms
Properly designed 3NF structures meet the requirement of fourth normal form (4NF)
What is denormalization?
It is when there is the production of a lower normal form
What does denormalization result in?
It results in an increased performance and greater data redundancy
What does normalization do when used while designing a new database structure?
Analyzes the relationship among the attributes within each entity
Determines if the structure can be improved through normalization
Improves the existing data structure and creates an appropriate database design
What is unnormalized data?
It is raw data in its original state, it might contain redundant data, multivalued data, and/or other data anomalies not found on normalized data relations
What is the objective of the normalization process?
It is to ensure that each table conforms to the concept of well-formed relations
That all tables are at least 3NF
What are the well-formed relations that normalization attempts to make each table conform to?
Each table represents a single subject
Each row/column intersection contains only one value and not a group of values
No data item will be unnecessarily stored in more than one table
All nonprime attributes in a table are dependent on the primary key
Each table has no insertion, update, or deletion anomalies
What is functional dependence?
It is when one attribute is fully functionally dependent on another attribute if each value of the other attribute determines one and only one value of the initial (one) attribute
What is fully functional dependence?
It is when an attribute is functionally dependent on a composite key of another attribute but not on any subset of that composite key, the initial attribute is fully functionally dependent on the other attribute
What is a partial dependency?
It is a functional dependency in which the determinant is only part of the primary key
What is a transitive dependency?
It is when an attribute is dependent on another attribute that is not part of the primary key
What is a repeating group?
It is when a group of multiple entries of the same type can exist for any single key attribute occurence