ВВЕДЕНИЕ В СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ

       

N-арные отношения (отношения степени n)


В математике 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-арных), а сами отношения изобразить в виде таблиц с тремя колонками.

    Удобство использования табличной формы для задания отношения определяется в данном случае следующими факторами:

  • Все используемые множества конечны.
  • При добавлении или удалении студентов, предметов, преподавателей просто добавляются или удаляются соответствующие строки в таблице.

    Нас сейчас не интересует вопрос, хороши ли полученные отношения. Заметим пока только, что, как показывают следующие замечания, не любую строку можно добавить в таблицу "Посещать лекции".

    Замечание. В таблицу "Посещать лекции" нельзя добавить две одинаковые строки, т.к. таблица изображает отношение
    , а в отношении (как и в любом множестве) не может быть двух одинаковых элементов. Это пример синтаксического ограничения - такое ограничение задано в определении понятия отношение (одинаковых строк не может быть ни в одной таблице, задающей отношение).

    Замечание. В таблицу "Посещать лекции" нельзя добавить кортеж (Иванов, Геометрия, Пушников). Действительно, из таблицы "Читает лекции по…", представляющей отношение
    , следует, что Пушников не читает предмет "Геометрия". Оказалось, что таблицы связаны друг с другом, и существенным образом! Это пример семантического ограничения - такое ограничение является следствием нашей трактовки данных, хранящихся в отношении (следствием понимания смысла данных).


    Содержание раздела