Основы реляционных баз данных Лекция 5. Реляционная модель. Основы реляционной алгебры Желенкова Ольга Петровна, с.н.с. ОИ САО РАН, к.ф.-м.н апреля 2008
Реляционная модель (Е.Кодд, 1970) Структурная часть описывает, какие объекты рассматриваются реляционной моделью. Единственной структурой данных, используемой в реляционной модели, являются нормализованные n-арные отношения. Целостная часть описывает ограничения специального вида, которые должны выполняться для любых отношений. Это целостность сущностей и целостность внешних ключей. Манипуляционная часть описывает два способа манипулирования реляционными данными - реляционную алгебру и реляционное исчисление.
Реляционный термин Соответствующий "табличный" термин База данныхНабор таблиц Схема базы данныхНабор заголовков таблиц ОтношениеТаблица Заголовок отношенияЗаголовок таблицы Тело отношенияТело таблицы Атрибут отношенияНаименование столбца таблицы Кортеж отношенияСтрока таблицы Степень (-арность) отношенияКоличество столбцов таблицы Мощность отношенияКоличество строк таблицы Домены и типы данныхТипы данные в ячейках таблицы
Основанная на теории множеств реляционная алгебра формальная система манипулирования отношениями в реляционной модели данных. Наряду с реляционным исчислением, основанным на математической логике, является способом получения результирующего отношения.
Реляционная алгебра представляет собой набор операторов, использующих отношения в качестве аргументов, и возвращающие отношения в качестве результата.
Теоретико-множественные операторы: Объединение Пересечение Вычитание Декартово произведение Специальные реляционные операторы: Выборка Проекция Соединение Деление
Отношения совместимы по типу, если они имеют идентичные заголовки Отношения имеют одно и то же множество имен атрибутов, т.е. для любого атрибута в одном отношении найдется атрибут с таким же наименованием в другом отношении, Атрибуты с одинаковыми именами определены на одних и тех же доменах. оператор переименования атрибутов
Объединением двух совместимых по типу отношений A и B называется отношение с тем же заголовком, что и у отношений A и B, телом, состоящим из кортежей, принадлежащих или A, или B, или обоим отношениям.
Пересечением двух совместимых по типу отношений и называется отношение с тем же заголовком, что и у отношений A и B, и телом, состоящим из кортежей, принадлежащих одновременно обоим отношениям A и B.
Вычитанием двух совместимых по типу отношений A и B называется отношение с тем же заголовком, что и у отношений A и B, и телом, состоящим из кортежей, принадлежащих отношению A и не принадлежащих отношению B.
Декартовым произведением двух отношений A и B называется отношение, заголовок которого является сцеплением заголовков отношений A и B : а тело состоит из кортежей, являющихся сцеплением кортежей отношений A и B : таких, что
Выборкой (ограничением, селекцией) на отношении A с условием C называется отношение с тем же заголовком, что и у отношения A, и телом, состоящем из кортежей, значения атрибутов которых при подстановке в условие C дают значение ИСТИНА. C представляет собой логическое выражение, в которое могут входить атрибуты отношения A и (или) скалярные выражения.
Проекцией отношения A по атрибутам X,Y… Z, где каждый из атрибутов принадлежит отношению A, называется отношение с заголовком (X,Y… Z ) и телом, содержащим множество кортежей вида (x,y,…z), таких, для которых в отношении A найдутся кортежи со значением атрибута X равным x, значением атрибута Y равным y, …, значением атрибута Z равным z.
Соединение имеет сходство с декартовым произведением. Однако, здесь добавлено условие, согласно которому вместо полного произведения всех строк в результирующее отношение включаются только строки, ему удовлетворяющие. Условие представляет собой логическое выражение, в которое могут входить атрибуты отношений A и B и (или) скалярные выражения
Зависимые реляционные операторы – можно выразить через другие реляционные операторы: Оператор соединения Оператор пересечения Оператор деления
Примитивные реляционные операторы нельзя выразить друг через друга объединение, вычитание, декартово произведение, выборка, проекция)