PDF Version of this document Search Help Glossary

Lesson Navigation IconRelational database model

Unit Navigation IconConcepts

Unit Navigation IconTransforming ER-schema

Unit Navigation IconData integrity

Unit Navigation IconNormalization

LO Navigation IconDependencies

LO Navigation IconFirst normal form (1NF)

LO Navigation IconSecond normal form (2NF)

LO Navigation IconThird normal form (3NF)

LO Navigation IconExercise normalization

LO Navigation IconUnit summary

Unit Navigation IconSummary

Unit Navigation IconRecommended Reading

Unit Navigation IconGlossary

Unit Navigation IconBibliography

Unit Navigation IconMetadata

GITTA/CartouCHe news:

Go to previous page Go to next page


In order to be able to normalise a relation according to the three normal forms, we must first understand the concept of dependency between attributes within a relation.

Functional dependency:
If A and B are attributes of relation R, B is functionally dependenton A (denoted A --> B), if each value of A in R is associated with exactly one value of B in R.


ID Name
S1 Meier
S2 Weber

The attribute Name is functionally dependent of attribute ID (ID --> Name).

Identification key:
If every attribute B of R is functionally dependent of A, than attribute A is a primary key.


ID Name Surname
S1 Meier Hans
S2 Weber Ueli

Attribute ID is the identification key

Full functional dependency:
We talk about full functional dependency if attribute B is functional dependent on A, if A is a composite primary key and B is not already functional dependent on parts of A.


IDStudent Name IDProfessor Grade
S1 Meier P2 5
S2 Weber P1 6

The attribute Grade is fully functional dependent on the attributes IDStudent and IDProfessor.

Transitive dependency:
If A determines B and B determines C then C is determined by (dependent on) A. We write A --> B and B --> C but not B --> A.


ID Name Konto_Nr Bank_Code_No Bank
L1 Meier 1234-5 836 UBS
L2 Weber 5432-1 835 CS

There is a transitive dependency between Bank_Code_No and Bank because Bank_Code_No is not the primary key of the relation.

Top Go to previous page Go to next page