Реляционная модель данных - созданная Эдгаром Коддом логическая модель данных, описывающая:
- структуры данных в виде (изменяющихся во времени) наборов отношений;
- теоретико-множественные операции над данными: объединение, пересечение разность и декартово произведение;
- специальные реляционные операции: селекция, проекция, соединение и деление;
- специальные правила, обеспечивающие целостность данных.
В реляционной модели достигается гораздо более высокий уровень абстракции данных, чем в иерархической или сетевой.
На реляционной модели данных строятся реляционные базы данных.
Кристофер Дейт определил три составные части реляционной модели данных:
- структурная
- манипуляционная
- целостная
- Структурная часть модели определяет, что единственной структурой данных является нормализованное n-арное отношение. Отношения удобно представлять в форме таблиц, где каждая строка есть кортеж, а каждый столбец – атрибут, определенный на некотором домене. Данный неформальный подход к понятию отношения дает более привычную для разработчиков и пользователей форму представления, где реляционная база данных представляет собой конечный набор таблиц.
- Целостная часть модели определяет требования целостности сущностей и целостности ссылок. Первое требование состоит в том, что любой кортеж любого отношения отличим от любого другого кортежа этого отношения, т.е. другими словами, любое отношение должно обладать первичным ключом. Требование целостности по ссылкам, или требование внешнего ключа состоит в том, что для каждого значения внешнего ключа, появляющегося в ссылающемся отношении, в отношении, на которое ведет ссылка, должен найтись кортеж с таким же значением первичного ключа, либо значение внешнего ключа должно быть неопределенным (т.е. ни на что не указывать).
- Манипуляционная часть модели определяет два фундаментальных механизма манипулирования данными – реляционная алгебра и реляционное исчисление. Основной функцией манипуляционной части реляционной модели является обеспечение меры реляционности любого конкретного языка реляционных БД: язык называется реляционным, если он обладает не меньшей выразительностью и мощностью, чем реляционная алгебра или реляционное исчисление.
Структурная РМД
Пусть даны n множеств данных D1,D2, ...,Dn. Тогда R - отношение над этими множествами, если R представляет собой множество парных кортежей.
<d1,d2,...,dn>, di € Di
Множество Di является множеством допустимых значений di и называется доменом.
RD1*D2* ...*Dn (декартово произведение)
Пр.
Пусть дано 3 домена
D1 - мн. фамилий студентов
D2 - мн. номеров студентов
D3 - мн.допустимых значений суммы стипендий
Заголовок отношений записывается:
<имя отношения> (<A1>, <A2>,..., <An>)
Стипендия (Фамилия, Группа, Сумма)
Реляционная модель данных предусматривает структуру данных, обязательными объектами которой являются:
- отношение;
- атрибут;
- домен;
- кортеж;
- степень;
- кардинальность;
- первичный ключ.
Отношение - это плоская (двумерная) таблица, состоящая из столбцов и строк:
ID | Фамилия | Имя | Должность | г.р. |
1 | Петров | Игорь | Директор | 1968 |
2 | Иванов | Олег | Юрист | 1973 |
3 | Ким | Елена | Бухгалтер | 1980 |
4 | Сенин | Илья | Менеджер | 1981 |
5 | Васин | Сергей | Менеджер | 1978 |
Соответствие между формальными терминами реляционной модели данных и неформальными:
- отношение (формальный термин) - таблица (неформальный термин);
- атрибут - столбец;
- кортеж - строка или запись;
- степень - количество столбцов;
- кардинальное число - количество строк;
- первичный ключ - уникальный идентификатор;
- домен - общая совокупность допустимых значений.
В структурной части модели фиксируется, что единственной структурой данных, используемой в реляционных БД, является нормализованное n-арное отношение. Определяются понятия доменов, атрибутов, кортежей, заголовка, тела и переменной отношения.
Домен определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу типа данных. Если вычисление этого логического выражения дает результат "истина", то элемент данных является элементом домена.
Наиболее правильной интуитивной трактовкой понятия домена является понимание домена как допустимого потенциального множества значений данного типа.
Схема отношения - это именованное множество пар {имя атрибута, имя домена (или типа, если понятие домена не поддерживается)}.
Степень или "арность" схемы отношения - мощность этого множества. Степень отношения СОТРУДНИКИ равна четырем, то есть оно является 4-арным.
Схема БД (в структурном смысле) - это набор именованных схем отношений.
Кортеж, соответствующий данной схеме отношения, - это множество пар {имя атрибута, значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения.
Кортеж - это набор именованных значений заданного типа.
Отношение - это множество кортежей, соответствующих одной схеме отношения (аналог – таблица).
Свойства отношений:
- нет одинаковых кортежей;
- кортежи не упорядочены сверху вниз;
- все значения атрибутов атомарные (нормализованное отношение - на пересечении столбца и строки может находиться 1но отношение).