- Relation – A table with columns and rows.
- Attribute – A named column of a relation.
- Domain – The set of allowable values for one or more attributes.
- Tuple – A row of a relation.
- Intension – The structure of a relation (i.e. its attributes), together with a specification of the domains and any other restrictions on possible values. The structure of a relation is usually fixed (the intension is static).
- Extension – (or state) The tuples of a relation. The number of tuples in a relation, and their attribute values, change over time (the extension is dynamic).
- Degree – The number of attributes the relation contains.
- Cardinality – The number of tuples the relation contains.
- Relational database – A collection of normalized relations with distinct relation names.
A relation is a table with columns and rows; a relation schema is a named relation defined by a set of attribute and domain name pairs. A relational database schema is a set of relation schemas, each with a distinct name.
A relation has the following properties:
- has a name that is distinct from all other relation names in the relational schema;
- each cell contains exactly one atomic (single) value;
- each attribute has a distinct name;
- the values of an attribute are all from the same domain;
- each tuple is distinct; there are no duplicate tuples;
- the order of attributes has no significance;
- the order of tuples has no significance, theoretically.