# Inference Rules

by Armstrong’s axioms are the complete set of basic inference rules used to infer all the functional dependencies on the relational database. An inference rule is a type of assertion that a user can apply to a set of functional dependencies to derive other FD (functional dependencies). These axioms in database management system were developed by the William w. Armstrong in 1974.

Following are the six most important rules for functional dependency:

### 1. Reflexive Rule

In the reflexive rule, if X is a set of attributes and Y is the subset of X, then X functionally determines Y.

Example:

Lastname   Firstname, Lastname
then, Firstname, Lastname → Lastname

### 2. Augmentation Rule

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

Example:

Regno → Firstname, Lastname

### 3. Transitive Rule

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

Example:

then Rollno → Pincode

### 4. Union Rule

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

Proof of this Rule:

X → Y (given) …. (1)
X → Z (given) …. (2)
X → XY (using Rule 2 on (1) by augmentation with X)     …. (3)
XY → YZ (using Rule 2 on (2) by augmentation with Y)    …. (4)
X → YZ (using Rule 3 on (3) and (4))

Example:

Rollno → name and Rollno → address

### 5. Decomposition Rule

This rule is the reverse of Union rule and also known as project rule.In the decomposition rule, if X determines Y and Z together, then X determines Y and Z separately.

Proof of this Rule:

X → YZ (given)…. (1)
YZ → Z    and  YZ →Y  ( using reflexive method) …. (2)
X → Y and X→ Z (using transitive rule) …. (3)

Example:

Rollno → Firstname, Lastname
then, Rollno → Firstname and Rollno → Lastname

### 6. Pseudo transitive Rule

In the pseudo transitive rule, if X determines Y, and YZ determines W, then XZ also determines W.

Proof of this Rule:

X → Y (given) …. (1)
YZ → W (given) …. (2)
XZ → YZ (using augmentation rule in (1))  …(3)
XZ → W (using a transitive rule in (2) and (3))

Example:

Rollno → name and name, marks →percentage
then, Rollno,marks → percentage

by 