DBMS Normalization
Functional Dependency
Functional dependency (FD) is set of constraints between two attributes in a relation. Functional dependency says that if two tuples have same values for attributes A1, A2,..., An then those two tuples must have to have same values for attributes B1, B2, ..., Bn.Functional dependency is represented by arrow sign (→), that is X→Y, where X functionally determines Y. The left hand side attributes determines the values of attributes at right hand side.
Armstrong's Axioms
If F is set of functional dependencies then the closure of F, denoted as F+, is the set of all functional dependencies logically implied by F. Armstrong's Axioms are set of rules, when applied repeatedly generates closure of functional dependencies.- Reflexive rule: If alpha is a set of attributes and beta is_subset_of alpha, then alpha holds beta.
- Augmentation rule: if a → b holds and y is attribute set, then ay → by also holds. That is adding attributes in dependencies, does not change the basic dependencies.
- Transitivity rule: Same as transitive rule in algebra, if a → b holds and b → c holds then a → c also hold. a → b is called as a functionally determines b.
Trivial Functional Dependency
- Trivial: If an FD X → Y holds where Y subset of X, then it is called a trivial FD. Trivial FDs are always hold.
- Non-trivial: If an FD X → Y holds where Y is not subset of X, then it is called non-trivial FD.
- Completely non-trivial: If an FD X → Y holds where x intersect Y = Φ, is said to be completely non-trivial FD.
Normalization
If a database design is not perfect it may contain anomalies, which are like a bad dream for database itself. Managing a database with anomalies is next to impossible.- Update anomalies: if data items are scattered and are not linked to each other properly, then there may be instances when we try to update one data item that has copies of it scattered at several places, few instances of it get updated properly while few are left with there old values. This leaves database in an inconsistent state.
- Deletion anomalies: we tried to delete a record, but parts of it left undeleted because of unawareness, the data is also saved somewhere else.
- Insert anomalies: we tried to insert data in a record that does not exist at all.
First Normal Form:
This is defined in the definition of relations (tables) itself. This rule defines that all the attributes in a relation must have atomic domains. Values in atomic domain are indivisible units.Second Normal Form:
Before we learn about second normal form, we need to understand the following:- Prime attribute: an attribute, which is part of prime-key, is prime attribute.
- Non-prime attribute: an attribute, which is not a part of prime-key, is said to be a non-prime attribute.
Third Normal Form:
For a relation to be in Third Normal Form, it must be in Second Normal form and the following must satisfy:- No non-prime attribute is transitively dependent on prime key attribute
- For any non-trivial functional dependency, X → A, then either
- X is a superkey or,
- A is prime attribute.
Boyce-Codd Normal Form:
BCNF is an extension of Third Normal Form in strict way. BCNF states that- For any non-trivial functional dependency, X → A, then X must be a super-key.
- Stu_ID → Stu_Name, Zip
And
Zip → City
No comments:
Post a Comment