DBMS Concepts

DBMS Tutorial Components of DBMS. Applications of DBMS The difference between file system and DBMS. Types of DBMS DBMS Architecture DBMS Schema Three Schema Architecture. DBMS Languages.

DBMS ER Model

ER model: Entity Relationship Diagram (ERD) Components of ER Model. DBMS Generalization, Specialization and Aggregation.

DBMS Relational Model

Codd’s rule of DBMS Relational DBMS concepts Relational Integrity Constraints DBMS keys Convert ER model into Relational model Difference between DBMS and RDBMS Relational Algebra DBMS Joins

DBMS Normalization

Functional Dependency Inference Rules Multivalued Dependency Normalization in DBMS: 1NF, 2NF, 3NF, BCNF and 4NF

DBMS Transaction

What is Transaction? States of transaction ACID Properties in DBMS Concurrent execution and its problems DBMS schedule DBMS Serializability Conflict Serializability View Serializability Deadlock in DBMS Concurrency control Protocols

Difference

Difference between DFD and ERD

Misc

Advantages of DBMS Disadvantages of DBMS Data Models in DBMS Relational Algebra in DBMS Cardinality in DBMS Entity in DBMS Attributes in DBMS Data Independence in DBMS Primary Key in DBMS Foreign Key in DBMS Candidate Key in DBMS Super Key in DBMS Aggregation in DBMS Hashing in DBMS Generalization in DBMS Specialization in DBMS View in DBMS File Organization in DBMS What Is A Cloud Database What Is A Database Levels Of Locking In DBMS What is RDBMS Fragmentation in Distributed DBMS What is Advanced Database Management System Data Abstraction in DBMS Checkpoint In DBMS B Tree in DBMS BCNF in DBMS Advantages of Threaded Binary Tree in DBMS Advantages of Database Management System in DBMS Enforcing Integrity Constraints in DBMS B-Tree Insertion in DBMS B+ Tree in DBMS Advantages of B-Tree in DBMS Types of Data Abstraction in DBMS Levels of Abstraction in DBMS 3- Tier Architecture in DBMS Anomalies in Database Management System Atomicity in Database Management System Characteristics of DBMS DBMS Examples Difference between Relational and Non-Relational Databases Domain Constraints in DBMS Entity and Entity set in DBMS ER Diagram for Banking System in DBMS ER Diagram for Company Database in DBMS ER Diagram for School Management System in DBMS ER Diagram for Student Management System in DBMS ER Diagram for University Database in DBMS ER Diagram of Company Database in DBMS Er Diagram Symbols and Notations in DBMS How to draw ER-Diagram in DBMS Integrity Constraints in DBMS Red-Black Tree Deletion in DBMS Red-Black Tree Properties in DBMS Red-Black Tree Visualization in DBMS Redundancy in Database Management System Secondary Key in DBMS Structure of DBMS 2-Tier Architecture in DBMS Advantages and Disadvantages of Binary Search Tree Closure of Functional Dependency in DBMS Consistency in Database Management System Durability in Database Management System ER Diagram for Bank Management System in DBMS ER Diagram for College Management System in DBMS ER Diagram for Hotel Management System in DBMS ER Diagram for Online Shopping ER Diagram for Railway Reservation System ER Diagram for Student Management System in DBMS Isolation in DBMS Lossless Join and Dependency Preserving Decomposition in DBMS Non-Key Attributes in DBMS Data Security Requirements in DBMS DBMS functions and Components What is Homogeneous Database? DBMS Functions and Components Advantages and Disadvantages of Distributed Database Relational Database Schema in DBMS Relational Schema

Functional Dependencies

Functional Dependencies (FD) in the relational database management system occurs when one attribute in a relation uniquely determines other attribute in that relation. It describes the relation between the attributes. The term functional dependency was introduced by E.F Codd. It is used to define different normal forms and helps in preventing data redundancy.

For an attribute X, there should exist only one value of Y. It means that X determines Y or Y is functionally dependent on X.
A functional dependency of X on Y can be represented as X ? Y.
Here, Y is the dependent attribute, and X is the determinant set. Functional dependency may also be based on the composite attributes of the relation.

For example:
Table: Student

student_id Name Course Age
101 Amit MCA 20
102 Kartikey MBA 21
103 Krishna MCA 20

In the above table Student, if you know the value of student_id of any student which is unique for each student, you can obtain Name, Course, and age of that student with the help of that student_id.

By this, we can say that the Age, Name, and Course are functionally dependent on student_id, or we can say student_id determines Age, Name and Course of the Student.

student_id ? Name, Age, Course

Types of Functional Dependencies:

There are two types of functional dependencies:

  1. Trivial Functional Dependency
  2. Non-trivial Functional Dependency

1. Trivial Functional Dependency

X ? Y is said to be trivial functional dependency when Y is a subset of X, i.e., ? X.
X ? X and Y ? Y are also trivial functional dependency.

Example:
Table: Student

student_id Name
101 Amit
102 Kartikey
103 Krishna

Above table consists of two columns: student_id and Name.

{student_id, Name} -> student_id is a trivial functional dependency as student_id is a subset of {student_id,Name}.

2. Non-trivial Functional Dependency

X ? Y is said to bea non-trivial functional dependency, if and only if Y is not a subset of X, i.e., ? X. It can also be defined as when at least one attribute in the right side of FD is not a part of the left side of FD.

Example:
Table: Student

student_id Name
101 Amit
102 Kartikey
103 Krishna

Above table consists of two columns student_id and Name.

student_id -> Name is a non-trivial functional dependency as Name is not a subset of student_id

Advantages of Functional Dependency

  • Functional Dependency removes data redundancy where the same values should not be repeated at multiple locations in the same database table.
  • It maintains the quality of data in the database.
  • FD allows clearly defined meanings and constraints of databases.
  • It helps in identifying bad designs of the database.
  • It expresses the facts about the database design.