Determinants and Their Role in a Database

Determinants identify values assigned to other attributes

Multi layered businessmen in the city

Hiroshi Watanabe/Getty Images

A determinant in a database table is an attribute that can be used 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_idFirst_nameLast_nameDate of Birth



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 the entire database is searched 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.