Relational Model

The relational model, introduced by Edgar Codd in 1970, is the theoretical foundation for relational DBMS. It represents data as relations (tables), where each relation is a set of tuples (rows) with attributes (columns). All data manipulation is performed through Relational Algebra operations.

Core Terminology

Formal TermCommon TermDescription
RelationTableA set of tuples with a defined schema
TupleRow / RecordA single data entry in a relation
AttributeColumn / FieldA named property with a domain (type)
DomainData typeThe set of allowed values for an attribute
SchemaTable definitionThe structure (attribute names and domains)
DegreeColumn countNumber of attributes in a relation
CardinalityRow countNumber of tuples in a relation

Integrity Rules

Entity Integrity

Every relation must have a Primary Key, and no primary key attribute can be NULL.

Referential Integrity

Every Foreign Key value must match an existing Primary Key value in the referenced relation, or be NULL.

Domain Integrity

All attribute values must come from the attribute’s defined domain (enforced via SQL Data Types and CHECK constraints).

Properties of Relations

  • No duplicate tuples — Guaranteed by the Primary Key
  • Tuples are unordered — There is no inherent row order (ORDER BY is a query operation)
  • Attributes are unordered — Column order doesn’t matter
  • Attribute values are atomic — Each cell contains a single value (1NF)

Schema vs Instance

  • Schema — The structure definition (table name, column names, types, constraints). Rarely changes.
  • Instance — The current set of data (rows) in the table. Changes with every INSERT/UPDATE/DELETE.

From Conceptual to Relational

The Entity-Relationship Diagram (ERD) captures the conceptual model, which is then mapped to the relational model through Normalization: