Does a composite primary key break the first normal form

database-designprimary-key

Does having a composite/compound key (using multiple columns/attributes) to form the primary key break first normal form? (I am assuming that this is handled by the DBMS, and so the attribute containing composite key does not exist in the table/relation itself, and so this still complies with the first normal form, but is this correct?) thanks.

Best Answer

No, this is quite normal (pun intended). The criteria is

First Normal Form:

Tables are said to be in first normal form when:

  • The table has a primary key.
  • No single attribute (column) has multiple values.
  • The non-key attributes (columns) depend on the primary key.

None of these requirements for 1NF is violated by the design you propose.

For instance a Junction Table created to normalize a many-to-many relationship will always have a composite Primary Key, with each component being also a Foreign Key into one of the joined tables.