Fields in a table that could be part of its key.
In Relational Databases, any field that could be a component of a Candidate Key is called a ”Prime Attribute”. If a field could not be a part of a candidate key, that’s considered a “non-prime attribute”.
Illustrative Example:
Given a table had the following columns:
- person ID
- first name
- last name
- phone number
- height
- weight
- age
- gender
You could feasibly see 4 sets of Candidate Keys like the following:
- A - person ID
- an example of Surrogate Keys, by convention forced to be unique (if otherwise meaningless)
- B - phone number
- usually unique to the individual, but sometimes shared
- C - email address
- usually unique to the individual, but sometimes shared
- D - first name + last name
- naming collisions happen in large enough datasets
Thus, the Prime and non-Prime attributes are as follows:
- PRIME - person ID
- PRIME - first name
- PRIME - last name
- PRIME - phone number
- PRIME - email
- NON-PRIME - height
- NON-PRIME - weight
- NON-PRIME - age
- NON-PRIME - gender
Source
https://en.wikipedia.org/wiki/Candidate_key