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