Реляционная модель данных является совокупностью простейших двумерных таблицах – отношения. Связи между двумя логически связанными таблицами в реляционной модели устанавливаются по равенству значений одинаковых атрибутов таблиц-отношений.
Таблица является основным типом структуры данных. Структура таблицы определяется совокупностью столбцов в каждой строке таблицы содержится по одному значению в соответствующем столбце. Общее число строк не ограниченно.
Столбец соответствует некоторому элементу данных-атрибуту. Один или несколько атрибутов, значение которых однозначно идентифицируют строку таблицы, являются ключом таблиц. Столбец таблиц со значениями соответствующего атрибута называется домином, а строки со значениями разных атрибутов-кортежи.
Кортежи не должны повторятся внутри таблицы-отношений, и соответственно должны иметь уникальный идентификатор-первичный ключ.
Первичный ключ называется простым, когда он состоит из одного атрибута (поля), или составным когда он состоит из нескольких атрибутов(полей).
Кроме первичного ключа в отношении могут существовать и вторичные ключи.
Вторичный ключ-это такой ключ значение которого могут повторяться в разных строках-кортежах(записях).
Таким образом в каждой таблице БД может существовать первичный ключ.
Под первичным ключом понимают поле или набор полей, однозначно идентифицирующий запись. Значение первичного ключа в таблице БД должны быть уникальны, то есть в таблице не должно существовать двух или более записей с одинаковым значением первичного ключа. Первичный ключ должен быть минимально достаточным, т.е. в нем не должно быть полей, удаление которых из первичного ключа не отразится на его уникальности. В качестве первичного ключа в справочнике городской телефонной сети, но можно использовать номер телефона абонента; в паспорте номер и серию паспорта; в автомобиле номер двигателя; в банке его регистрационный номер; для налогоплательщика его идентификационный номер.
В тех случаях, когда нельзя выбрать первичный ключ из имеющихся полей, следует добавить в таблицу семантически не значащие поле (т.е. не несущее иного смыслового содержания, кроме обеспечения уникальности записи).
В большинстве современных СУБД уникальность первичного ключа отслеживается автоматически, кроме того многие СУБД (в частностиAccess) требуют всегда определять первичный ключ для таблицы базы данных.