Понятие реляционный (англ. relation — отношение) связано с разработками известного американского специалиста в области систем баз данных Е. Кодда.
Эти модели характеризуются простотой структуры данных, удобным для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных.
Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:
• каждый элемент таблицы — один элемент данных;
• все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину;
• каждый столбец имеет уникальное имя;
• одинаковые строки в таблице отсутствуют;
• порядок следования строк и столбцов может быть произвольным.
Пример Реляционной таблицей можно представить информацию о студентах, обучающихся в вузе (рис. 25).
№ личного дела | Фамилия | Имя | Отчество | Дата рождения | Группа | |
Сергеев | Петр | Михайлович | 01.01.76 | |||
Петрова | Анна | Владимировна | 15.03.75 | |||
Анохин | Андрей | Борисович | 14.04.76 | |||
Рис. 25. Пример реляционной таблицы
Отношения представлены в виде таблиц, строки которых соответствуют кортежам или записям, а столбцы — атрибутам отношений, доменам, полям .
Поле, каждое значение которого однозначно определяет соответствующую запись, называется простым ключом (ключевым полем). Если записи однозначно определяются значениями нескольких полей, то такая таблица базы данных имеет составной ключ. В примере, показанном на рис. 26, ключевым полем таблицы является "№ личного дела".
Чтобы связать две реляционные таблицы, необходимо ключ первой таблицы ввести в состав ключа второй таблицы (возможно совпадение ключей); в противном случае нужно ввести в структуру первой таблицы внешний ключ — ключ второй таблицы.
Пример На рис. 26 показан пример реляционной модели, построенной на основе отношений: СТУДЕНТ, СЕССИЯ, СТИПЕНДИЯ.
Рис. 26. Пример реляционной модели
СТУДЕНТ {Номер, Фамилия, Имя, Отчество, Пол, Дата рождения. Группа);
СЕССИЯ (Номер, Оценка!, Оценка2, ОценкаЗ, Оценка4, Результат);
СТИПЕНДИЯ (Результат, Процент).
Таблицы СТУДЕНТ И СЕССИЯ имеют совпадающие ключи (Номер), что дает возможность легко организовать связь между ними. Таблица СЕССИЯ имеет первичный ключ Номер и содержит внешний ключ Результат, который обеспечивает ее связь с таблицей СТИПЕНДИ