Determinants and Their Role in a Database

Determinants identify values assigned to other attributes

A determinant in a database table is an attribute that you can use to determine the values assigned to other attributes in the same row. By this definition, any primary key or candidate key is a determinant, but there may be determinants that are not primary or candidate keys.

For example, a company might use a table with the attributes <Employee_id>, <First_name>, <Last_name> and <Date_of_Birth>.

Employee_id First_name Last_name Date of Birth


Megan Brown 01/29/1979
234 Ben Wilder 02/14/1985
345 Megan Chowdery 2/14/1985
456 Charles Brown 07/19/1984
Young database administrator working at desk
 Hero Images / Getty Images

In this case, the field <Employee_id> determines the remaining three fields. The name fields do not determine the <Employee_id> because the firm may have employees that share the same first or last name. Similarly, the <Date_of_Birth> field does not determine the <Employee_id> or the name fields because employees may share the same birthday.

Determinant Relationships to Database Keys

In this example, <Employee_id> is a determinant, a candidate key, and also a
primary key. It's a candidate key because when you search the entire database for 234, the row containing the information about Ben Wilder appears, and no other record is shown. Another candidate key occurs when you search the database by the information in three columns; <First_name>, <Last_name>, and <Date_of_Birth>, which also retrieves the same result. 

The <Employee_id> is the primary key because of all the combinations of
columns that can be used as a candidate key, it is the easiest column to use as
the primary reference to this table. Also, <Employee_id> is guaranteed to
be unique to this table, no matter how many other employees there are, as
opposed to the information in other columns.