Lecture 8 - Database Management-Functional Dependencies and Normalisation
Lecture 8 - Database Management-Functional Dependencies and Normalisation
DATABASE SYSTEMS
FUNCTIONAL
DEPENDENCY
Outline of Today’s Class
DBMS Functional Dependency: Transitive, Trivial,
Multivalued
•What is a functional dependency?
•Key terms
•Rules of Functional Dependencies
•Types of Functional Dependencies
•Multivalued dependency in DBMS
•Trivial Functional dependency
•Non trivial functional dependency in DBMS
•Transitive dependency
•What is Normalization?
•Advantages of Functional Dependency
What is a functional dependency?
Functional Dependency is when one attribute determines
another attribute in a DBMS system. Functional
Dependency plays a vital role to find the difference
between good and bad database design.
Employee number Employee Name Salary City
1 Dana 50000 San Francisco
2 Francis 38000 London
3 Andrew 25000 Tokyo
By this, we can say that the city, Employee Name, and salary are functionally
depended on Employee number.
Multivalued dependency:
Trivial functional dependency:
Non-trivial functional dependency:
Transitive dependency:
Multivalued dependency in DBMS
Example:
(Company} -> {CEO} (if we know the Company, we knows the CEO name)
But CEO is not a subset of Company, and hence it's non-trivial functional
dependency.
Transitive dependency:
A transitive is a type of functional dependency which happens when t
is indirectly formed by two functional dependencies.
{Company} -> {CEO} (if we know the compay, we know its CEO's name)
{ Company} -> {Age} should hold, that makes sense because if we know the company
name, we can know his age.
Note: You need to remember that transitive dependency can only occur in a relation of
three or more attributes.
What is Normalization?
Normalization is a method of organizing the data in the database
which helps you to avoid data redundancy, insertion, update &
deletion anomaly. It is a process of analyzing the relation schemas
based on their different functional dependencies and primary key.
Normalization is inherent to relational database theory. It may
have the effect of duplicating the same data within the database
which may result in the creation of additional tables.