A database attribute is a named property of a relation that maps each tuple to a value drawn from a specified domain.
Formally, given a relation schema
Age, StudentID). 1NF requires all attributes to be atomic.FullName into FirstName and LastName).Age derived from DateOfBirth).Attributes participate in the definitions of super keys, candidate keys, and primary keys. An attribute is called a key attribute (or prime attribute) if it is a member of any candidate key; otherwise it is a non-key attribute (or non-prime attribute).
This distinction is central to the definitions of 2NF and 3NF.
The Domain of an attribute is the set of all permissible values that that attribute may take. Each attribute in a relation schema is associated with exactly one domain.
A domain
Two attributes are domain-compatible if they draw from the same domain. Domain compatibility is a prerequisite for meaningful comparison operations in relational algebra (e.g. join conditions, set operations like union and intersection require union-compatible schemas, which in turn requires corresponding attributes to be domain-compatible).