## Armstrong’s Axioms for Functional Dependency(FD)

- Armstrong’s Axioms is a set of rules.
- Armstrong’s Axioms is used to derive new FDs from other FDs.
- It provides a simple technique for reasoning about functional dependencies.
- It is used to infer all the functional dependencies on a relational database.

If **custid **or **ano **is removed from the primary key **access_date **cannot be determined uniquely. So **access_date **is fully functional dependent on **custid **and **ano **.

But **balance **and **bname **depend only on the **ano **. If **custid **is removed from the primary key even then dependency of **balance **and **bname **on **ano **holds.

So **balance **and **bname **do not fully functionally

dependent on primary key i.e. custid and ano.In other word balance and bname partially depend on primary key.

## Various Axioms Rules

#### Rule 1:

**Reflexivity.**

If A is a set of attributes and B is a subset of A, then A holds B. { A -> B }

#### Rule 2:

**Augmentation **

If A hold B and C is a set of attributes, then AC holds BC. {AC -> BC}

It means that attribute in dependencies does not change the basic dependencies.

#### Rule:3

**Transitivity **

If A holds B and B holds C, then A holds C.

If {A -> B} and {B -> C}, then {A -> C}

A holds B {A -> B} means that A functionally determines B.

#### Rule:4 **Union**

If A holds B and A holds C, then A holds BC.

If{A -> B} and {A -> C}, then {A -> BC}

#### Rule:5 **Decomposition**

If A holds BC and A holds B, then A holds C.

If{A -> BC} and {A -> B}, then {A -> C}

#### Rule:6 **Composition**

If A holds B and X holds Y, then AX holds BY.

If{A -> B} and {X-> Y}, then {AX->BY}

**Rule:7 Pseudo Transitivity **

If A holds B and BC holds D, then AC holds D.

If{A -> B} and {BC -> D}, then {AC -> D}

**Rule:8 Self-determination**

A ->A