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