Determinants in Databases

Determinants can identify values assigned to other attributes

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.

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

Employee_idFirst_nameLast_nameDate of Birth

123

MeganBrown01/29/1979
234BenWilder02/14/1985
345MeganChowdery2/14/1985
456CharlesBrown07/19/1984


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 and/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.

Determinants Relationships to Database Keys

In this case, <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, then the row containing the information about Ben Wilder will appear, and no other record will be shown. Another candidate key would be to search the database by three columns; <First_name>, <Last_name> and <Date_of_birth>, which would also retrieve the same result. 

It's the primary key because, out 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> guaranteed to be unique to this table, no matter how many other employees there are, as opposed to other columns.