The method for designing a relational database is to use a process commonly known as normalisation. The goal of database normalisation is to:

  • Decide if a given relation schema is in ‘good form’.
  • If a given relation schema is not in ‘good form’, losslessly decompose it into a number of smaller relation schemas, each of which is in an appropriate good form.

Database normalisation theory is based on functional dependencies and multivalued dependencies.

Notational conventions

  • Greek letters are used for attributes.
  • denotes a set of attributes which is a superkey.
  • Lowercase names are used for relations. Uppercase names are used for relation schemas.
    • denotes the relation with schema .