Code360 powered by Coding Ninjas X Naukri.com. Code360 powered by Coding Ninjas X Naukri.com
Table of contents
1.
Introduction
2.
What are functional dependencies and their types?
3.
What are Armstrong axioms? Why are they important?
4.
Inference Rules (IR)
4.1.
Reflexive Rule (IR1)
4.2.
Augmentation Rule (IR2)
4.3.
Transitive Rule (IR3)
4.4.
Union Rule (IR4)
4.5.
Decomposition Rule (IR5)
4.6.
Pseudo-transitive Rule (IR6)
5.
Frequently Asked Questions
6.
Key Takeaways
Last Updated: Mar 27, 2024

Inference Rule in DBMS

Master Python: Predicting weather forecasts
Speaker
Ashwin Goyal
Product Manager @

Introduction

Before heading to what Inference rules are, let's just quickly go through a few important points one must be aware of, such as What are functional dependencies and their types? What are Armstrong axioms?

Source: Link


You can also read about the Multiple Granularity Locking and Checkpoint in DBMS

What are functional dependencies and their types?

Functional dependencies in DBMS are a relationship that exists between two attributes. Generally exists between the primary key and non-key attribute within a table. E.g.:

X→Y

The left side of FD is a determinant, and the right side of the production is a dependent.

They are of four types mainly:

  1. Trivial Functional dependencies: This dependency is a set of attributes called trivial if the set of attributes is in that attribute.
  2. Non-trivial Functional dependencies: Functional dependency occurs when A->B holds where B is not a subset of A. Suppose attribute B is not a subset of attribute A in a relationship.
  3.  Multivalued dependencies: Multivalued dependency occurs when multiple independent multivalued attributes are in a single table. A multivalued dependency is a complete constraint between two sets of attributes in a relation.
  4. Transitive dependencies: A type of functional dependency is transitive if two functional dependencies indirectly form it.

Also See, Specialization and Generalization in DBMS, Multiple Granularity in DBMS

Get the tech career you deserve, faster!
Connect with our expert counsellors to understand how to hack your way to success
User rating 4.7/5
1:1 doubt support
95% placement record
Akash Pal
Senior Software Engineer
326% Hike After Job Bootcamp
Himanshu Gusain
Programmer Analyst
32 LPA After Job Bootcamp
After Job
Bootcamp

What are Armstrong axioms? Why are they important?

If F is a set of functional dependencies, then the closure of F is denoted as F+. Armstrong's Axioms are rules that generate a closure of functional dependencies. They are used to analyze, refine and maintain a relational Database.

Inference Rules (IR)

Armstrong's axioms are basic inference rules used to conclude functional dependencies on the relational database. 

An inference rule asserts that a user can apply to a set of functional dependencies to derive other FD (functional dependencies). William w. Armstrong developed these axioms in the database management system in 1974.

Following are the six most essential inference rules for functional dependency:

Reflexive Rule (IR1)

In the reflexive rule, if X is a set of attributes and Y is the subset of X, then X functionally determines Y., i.e., X ⊇ Y then X->Y.

E.g.:

X={a,e,i,o,u}

Y={a,e,o}

 

Augmentation Rule (IR2)

In the augmentation rule, if X determines Y and Z is any attribute set, XZ determines YZ. It is also called a partial dependency. i.e if X  ->  Y then XZ   ->  YZ.

E.g.:

For R(WXYZ), if W -> Y, then WZ -> YZ.

 

Transitive Rule (IR3)

In the transitive rule, if X determines Y and Y determines Z, X also determines Z.

i.e  if X->Y and Y->Z , then X->Z.

Union Rule (IR4)

This rule is also known as the additive rule. In the union rule, if X determines Y and X determines Z, then X also determines both Y and Z., i.e., If X  ->  Y and X  ->  Z then,

X  -> YZ. 

Proof:

1. X → Y (given)
2. X → Z (given)
3. X → XY (using IR2 on 1 by augmentation with X. Where XX = X)
4. XY → YZ (using IR2 on 2 by augmentation with Y)
5. X → YZ (using IR3 on 3 and 4)

Decomposition Rule (IR5)

This rule is the reverse of the Union rule. If X determines Y and Z together in the decomposition rule, X determines Y and Z separately. i.e If X  -> YZ then ,X ->  Y and X  ->  Z .

Proof:

1. X → YZ (given)
2. YZ → Y (using IR1 Rule)
3. X → Y (using IR3 on 1 and 2)

Pseudo-transitive Rule (IR6)

In the pseudo-transitive rule, if X determines Y, and YZ determines W, then XZ also determines W., i.e., If X  ->  Y and YZ  ->  W then, XZ  -> W.

Proof:

1. X → Y (given)
2. WY → Z (given)
3. WX → WY (using IR2 on 1 by augmenting with W)
4. WX → Z (using IR3 on 3 and 2)

Must Recommended Topic, Schema in DBMS.

You can also read about Aggregation in DBMS here.

Frequently Asked Questions

Q1: What are the advantages of functional dependencies?
Ans: Functional Dependency removes data redundancy where the same values should not repeat at multiple locations in the same database table. It maintains the quality of data in the database. It also allows clearly defined meanings and constraints of databases.

Q2: What do you understand by the closure of an attribute?
Ans: The Closure of an Attribute is defined as a set of attributes functionally determined.

Q3: What is meant by the term integrity constraints in the database? Why are they used?
Ans: Integrity constraints are a set of rules. It is used to maintain the quality of information. They ensure that the data insertion, updating, and other processes have to be performed so that data integrity is not affected.
Thus, integrity constraint is used to guard against accidental damage in the database.

Q4. If XY-> Z then, does it imply X->Z and Y-> Z also hold?
Ans: No, the above statement is similar to the union rule, but the vice-versa doesn't hold.

Check this out :  what is schema in dbms

Key Takeaways

So, this article discussed DBMS's fundamentals and some crucial topics such as Armstrong axioms and deeply talked about inference rules.

Recommended Readings:

If you are a beginner, interested in important DBMS concepts, and exploring many other fields, you can look for our articles for reference for more clarity of concepts.

DBMS is one of the essential fields you must train yourself in or have substantial knowledge about. One of the most important and asked topics in interview rounds.

Check out the Top 100 SQL Problems to get hands-on experience.

Next article
Introduction to Scheduling in DBMS
Live masterclass