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

       

Еще пример бинарного отношения


Пример 5. Пусть множество

есть следующее множество молодых людей: {Вовочка, Петя, Маша, Лена}, причем известны следующие факты:

  • Вовочка любит Вовочку (эгоист).
  • Петя любит Машу (взаимно).
  • Маша любит Петю (взаимно).
  • Маша любит Машу (себя не забывает).
  • Лена любит Петю (несчастная любовь).

    Информацию о взаимоотношения данных молодых людей можно описать бинарным отношением "любить", заданном на множестве

    . Это отношение можно описать несколькими способами.

    Способ 1. Перечисление фактов в виде произвольного текста (как это сделано выше).

    Способ 2. В виде графа взаимоотношений:

    Рисунок 1 Граф взаимоотношений

    Способ 3. При помощи матрицы взаимоотношений:



    Вовочка

    Петя

    Маша

    Лена

    Вовочка

    Петя

    Маша

    Лена

    Кого

    Кто

    Любит    
        Любит  
      Любит Любит  
      Любит    

    Таблица 1. Матрица взаимоотношений

    Способ 4. При помощи таблицы фактов:

    Кто любит

    Кого любят

    Вовочка Вовочка
    Петя Маша
    Маша Петя
    Маша Маша
    Лена Петя

    Таблица 2 Таблица фактов

    С точки зрения реляционных баз данных наиболее предпочтительным является четвертый способ, т.к. он допускает наиболее удобный способ хранения и манипулирования информацией. Действительно, перечисление фактов как текстовая форма хранения информации уместна для литературного произведения, но с трудом поддается алгоритмической обработке. Изображение в виде графа наглядно, и его удобно использовать как конечную форму представления информации для пользователя, но хранить данные в графическом виде неудобно. Матрица взаимоотношений уже больше соответствует требованиям информационной системы. Матрица удобна в обработке и компактно хранится. Но одно небольшое изменение, например, появился еще Вася и влюбился в несчастную Лену, требует перестройки всей матрицы, а именно, добавления и колонок, и столбцов. Таблица фактов свободна от всех этих недостатков - при добавлении новых действующих лиц просто добавляются новые строки.


    Что касается предиката данного отношения, то он имеет следующий вид (дизъюнктивная нормальная форма):

    R(x,y) = {(x = "Вовочка" AND y = "Вовочка") OR (x = "Петя" AND y = "Маша") OR (x = "Маша" AND y = "Петя") OR (x = "Маша" AND y = "Маша") OR (x = "Лена" AND y = "Петя")}

    Замечание. Приведенное отношение не является ни транзитивным, ни симметричным или антисимметричным, ни рефлексивным, поэтому оно не является ни отношением эквивалентности, ни отношением порядка, ни каким-либо другим разумным отношением.

    Замечание. Большая часть мировой литературы существует и имеет смысл лишь постольку, поскольку бинарное отношение "любить" не является отношением эквивалентности. В частности, по этой причине человечество не разбивается на классы эквивалентности взаимно любящих особей. Изучением характеристик данного отношения и соответствующего ему предиката занималось (и продолжает заниматься) большое количество экспертов, таких как Толстой Л.Н., Шекспир В. и др.


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