Таблица 4 Отношение "Посещать лекции"
C (студент) | B (предмет) | A (Преподаватель) |
Иванов | Алгебра | Шарипов |
Иванов | Базы данных | Пушников |
Петров | Алгебра | Пушников |
Петров | Геометрия | Цыганов |
Сидоров | Геометрия | Цыганов |
Сидоров | Базы данных | Пушников |
Рассмотрим отношение
подробнее. Оно задано на декартовом произведении . Это произведение, содержащее 3*3*3=27 кортежей, можно назвать "Студенты-Лекции-Преподаватели". Множество представляет собой совокупность всех возможных вариантов посещения студентами лекций. Отношение же показывает текущее состояние учебного процесса. Очевидно, что отношение является изменяемым во времени отношением.Итак, факты о ходе учебного процесса удалось отразить в виде двух отношений третьей степени (3-арных), а сами отношения изобразить в виде таблиц с тремя колонками.
Удобство использования табличной формы для задания отношения определяется в данном случае следующими факторами:
Все используемые множества конечны.
При добавлении или удалении студентов, предметов, преподавателей просто добавляются или удаляются соответствующие строки в таблице.
Нас сейчас не интересует вопрос, хороши ли полученные отношения. Заметим пока только, что, как показывают следующие замечания, не любую строку можно добавить в таблицу "Посещать лекции".
Замечание. В таблицу "Посещать лекции" нельзя добавить две одинаковые строки, т.к таблица изображает отношение
, а в отношении (как и в любом множестве) не может быть двух одинаковых элементов. Это пример синтаксического ограничения - такое ограничение задано в определении понятия отношение (одинаковых строк не может быть ни в одной таблице, задающей отношение).Замечание. В таблицу "Посещать лекции" нельзя добавить кортеж (Иванов, Геометрия, Пушников). Действительно, из таблицы "Читает лекции по…", представляющей отношение
, следует, что Пушников не читает предмет "Геометрия". Оказалось, что таблицы связаны друг с другом, и существенным образом! Это пример семантического ограничения - такое ограничение является следствием нашей трактовки данных, хранящихся в отношении (следствием понимания смысла данных).Введем понятие транзитивного замыкания, связанное с бинарными отношениями, которое понадобится в дальнейшем.
Определение 11. Пусть отношение
задано на декартовом квадрате некоторого множества . Транзитивным замыканием отношения называется новое отношение , состоящее из кортежей , для которых выполняется:либо кортеж
,либо найдется конечная последовательность элементов
, такая, что все кортежи принадлежат отношению .Очевидно, что
.Пример 7. Пусть множество
представляет собой следующее множество деталей и конструкций: = {Болт, Гайка, Двигатель, Автомобиль, Колесо, Ось}причем некоторые из деталей и конструкций могут использоваться при сборке других конструкций. Взаимосвязь деталей описывается отношением
("непосредственно используется в") и состоит из следующих кортежей:Таблица 5 Отношение R
Конструкция | Где используется |
Болт | Двигатель |
Болт | Колесо |
Гайка | Двигатель |
Гайка | Колесо |
Двигатель | Автомобиль |
Колесо | Автомобиль |
Ось | Колесо |
Транзитивное замыкание
состоит из кортежей (добавленные кортежи помечены серым цветом):Таблица 6 Транзитивное замыкание отношения R
Конструкция | Где используется |
Болт | Двигатель |
Болт | Колесо |
Гайка | Двигатель |
Гайка | Колесо |
Двигатель | Автомобиль |
Колесо | Автомобиль |
Ось | Колесо |
Болт | Автомобиль |
Гайка | Автомобиль |
Ось | Автомобиль |
Очевидный смысл замыкания
состоит в описании включения деталей друг в друга не только непосредственно, а через использование их в промежуточных деталях, например, болт используется в автомобиле, т.к он используется в двигателе, а двигатель используется в автомобиле.Множество - это неопределяемое понятие, представляющее некоторую совокупность данных. Элементы множества можно отличать друг от друга, а также определять, принадлежит ли данный элемент данному множеству. Над множествами можно выполнять операции объединения, пересечения, разности и дополнения.
Новые множества можно строить при помощи понятия декартового произведения (конечно, есть и другие способы, но они нас в данный момент не интересуют). Декартово произведение нескольких множеств - это множество кортежей, построенный из элементов этих множеств.
Отношение - это подмножество декартового произведения множеств. Отношения состоят из однотипных кортежей. Каждое отношение имеет предикат отношения и каждый n-местный предикат задает n-арное отношение.
Отношение является математическим аналогом понятия "таблица".
Отношения обладают степенью и мощностью. Степень отношения - это количество элементов в каждом кортеже отношения (аналог количества столбцов в таблице). Мощность отношения - это мощность множества кортежей отношения (аналог количества строк в таблице).
В математике чаще всего используют бинарные отношения (отношения степени 2). В теории баз данных основными являются отношения степени
. В математике, как правило, отношения заданы на бесконечных множествах и имеют бесконечную мощность. В базах данных напротив, мощности отношений конечны (число хранимых строк в таблицах всегда конечно).