Реляционная модель данных
4.4 Теорема Хиса
Докажем теорему Хиса (Heath), устанавливающую связь между функциональными зависимостями в схеме отношения и способом его полной декомпозиции. Она определяет условия при которых декомпозиция будет полной.
Теорема Хиса. Пусть в отношении со схемой , где — полный набор атрибутов отношения, выделены три набора атрибутов таких что , , , . Тогда, если набор функционально зависит от , то проекции, образуют полную декомпозицию отношения .
Доказательство. Введем вспомогательное отношение
( 4.1) |
как соединение двух проекций отношения . Покажем, что .
-
Выберем произвольную запись (кортеж) из . Так как
, a
то по свойству операции соединения .
Следовательно,
( 4.2) -
Выберем произвольный кортеж . Из (4.1) следует, что
( 4.3) ( 4.4) Значит в существуют записи
( 4.5) ( 4.6) Но функционально зависит от . Поэтому в кортежах (4.5) и (4.6) , а значит запись входит в отношение , иначе говоря
( 4.7) -
Сопоставляя (4.2) и (4.7), получаем . Иначе говоря, декомпозиция (4.1) полная.
Мнемоническое изображение декомпозиции по теореме Хиса даёт рисунок 4.6
4.5 Структура и особенности реляционной алгебры
Отношение определяется своей схемой . Набор записей в отношении определяет его состояние. При этом повторяющиеся кортежи в отношении отсутствуют.
Как вы помните, операция в любой алгебре над некоторым множеством даёт результат, принадлежащий этому же множеству Реляционная алгебра строится над множеством отношений. Поэтому в реляционной модели при выполнении операций создаются новые, может быть временные, отношения на основе набора уже имеющихся отношений. Средств для создания отношений, не выводимых из имеющихся нет. Изменять состояния отношений, то есть заполнять их кортежами, в реляционной модели невозможно. Иначе говоря, реляционная алгебра —это модель запросов к базе.
Реляционная алгебра определяется на конечном множестве отношений с фиксированной сигнатурой и конечным числом кортежей. Поскольку сигнатуры отношений могут не совпадать, реляционная алгебра многосортна. Сами отношения и кортежи разных отношений могут быть не сравнимы.
Ещё раз обращаем внимание на то, что набор схем отношений предполагается заданным заранее. Реляционная алгебра не изменяет его и не может изменять состояние отношений, то есть вводить, удалять и изменять записи. Манипуляции данными создают врeменные, не сохраняемые отношения.
Обратите внимание на то, что в реляционной модели кроме алгебры могут использоваться исчисления, которыми мы займёмся в "Языки реляционных баз данных" .
Сводка некоторых особенностей реляционной модели приведена на рисунке 4.7.
4.6 Операции реляционной алгебры
Полный перечень операций реляционной алгебры:
- Проекция.
- Естественное соединение.
- — соединение.
- Декартово произведение.
- Селекция.
- Булевы операции.
- Частное.
- Переименование атрибутов.
Все операции за исключением переименования работают с содержимым отношений. Результат операции есть новое отношение. Над ним так же можно выполнять операции.
Первые две операции, проекция и естественное соединение, позволили нам разобраться с декомпозицией отношений, сформулировать и доказать теорему Хиса. Изучим все остальные операции, не затрагивая пока переименования атрибутов.
4.6.1 υ-соединение
Определение. Пусть даны отношения со схемами и соответственно; —оператор сравнения на группах атрибутов и . Тогда -соединение отношений и есть отношение со схемой , полученной объединением атрибутов схем и без повторения. Записи получаются конкатенацией тех записей из и , у которых значения группы столбцов в и группы столбцов в находятся в отношении (удовлетворяют ).
Обозначение -соединения: .
Замечание. Очевидно, если в качестве взять равенство "=" и , получим естественное соединение со схемой
.
Рассмотрим пример -соединения для отношений employee и salgrade, то есть "работник" и "категория оплаты":
Отношение employee:
Отношение salgrade:
По условию с вариантом заполнения (т.е. состоянием), изображённым на рисунке 4.8, даст отношение, приведенное ниже. Здесь grade — категория оплаты, losal и hisal, соответственно, минимальная и максимальная зарплаты данной категории.
Результат -соединения: