Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Представление основных математических структур на языке SCB(Монография, ч3).doc
Скачиваний:
37
Добавлен:
15.06.2014
Размер:
6.96 Mб
Скачать
      1. Типология отношений на основе понятия функциональной зависимости

Идентификаторы ключевых scb-узлов:функциональная зависимость; отношения без функциональных зависимостей; отношения с одной функциональной зависимостью; отношения с несколькими функциональными зависимостями; ключевая функциональная зависимость; ключ отношения; отношение без ключей; отношение с одним ключом; отношение с несколькими ключами; функция; декартово произведение; отношение без функций; отношение с одной функцией; отношение с несколькими функциями; взаимно однозначное бинарное отношение; алгебраическая операция.

Определение 3.3.5.1. Будем говорить, что отношениеrимеетфункциональную зависимостьатрибутовay1 ,… ,aym отатрибутов ax1 , … , axnв том и только в том случае,если:

  • указанные множества атрибутов не имеют общих элементов;

  • все перечисленные атрибуты входят в схему отношения  r ;

  • в отношении  rне существует двух таких кортежей, у которых бы совпадали элементы, имеющие атрибуты из множества{ax1 ,   , axn } , ноне совпадали элементы, имеющие атрибуты из множества {ay1 , ,aym } .

Другими словами, те элементы кортежа, входящего в отношение  r, которые имеют атрибуты из множества{ax1 ,  , axn },однозначноопределяют другие элементы этого же кортежа, имеющие атрибуты из множества{ay1 , ,aym }[330] (Мейер Д.1987кн-ТеориРБД). Атрибуты из множества{ax1 , … , axn }будем называть атрибутами аргументов функциональной зависимости, а атрибуты из множества{ay1 ,… ,aym }– атрибутами результата функциональной зависимости. Минимальное число атрибутов аргументов и атрибутов результата равно 1.

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

  • отношения без функциональных зависимостей;

  • отношения с одной функциональной зависимостью;

  • отношения с несколькими функциональными зависимостями.

Определение 3.3.5.2. Функциональную зависимость атрибутовay1 ,… ,aymот атрибутовax1, … , axnв рамках отношенияr   будемназывать ключевой функциональной зависимостьюв том и только в том случае,еслив схеме отношенияr   не существует ни одного атрибута, который бы не принадлежал либо множеству{ay1,… ,ay, либо множеству{ax1,  … ,  axn .

Множество атрибутов аргументов ключевой функциональной зависимости иногда называют ключом заданного отношения.

Из приведенного определения следует, что для любых двух различных кортежей  kiиkj, входящих во множество, существует атрибутaxeиз множества{ax1 ,  … ,  axn }такой, что элемент кортежаkiс атрибутомaxeне совпадает с элементом кортежаkj , имеющим тот же атрибут. Другими словами, в отношенииr  не существует двух таких кортежей, в которых бы совпадали элементы с атрибутами из множества{ax1 ,  … ,  axn }и не совпадали элементы, имеющие остальные атрибуты [330] (Мейер Д.1987кн-ТеориРБД). Это означает, что для кортежей, принадлежащих отношениюr,  элементы, имеющие атрибуты из множества{ax1 ,  … ,  axn ,однозначноопределяютвсеостальные элементы кортежа, т.е. однозначно определяют весь кортеж.

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

  • отношения без ключей;

  • отношения с одним ключом;

  • отношения с несколькими ключами.

Определение 3.3.5.3. Ключевую функциональную зависимость отношенияr  будем называтьфункциейв том и только в том случае, если:

  • количество атрибутов результатов этой ключевой зависимости равно 1 – обозначим этот единственный атрибут результата функциональной зависимости через  ay ;

  • в каждом кортеже отношения  r  существует не более одного компонента с атрибутомay ;

  • проекция отношения rпо атрибутамax1 ,  axnв случае, если количество указанных атрибутов больше 1, представляет собой декартово произведение.

Примечание.Определение декартова произведения см. впункт 3.3.7.

Функцию  n-арного отношения будем называтьn - 1)  -арной функцией.

Заметим, что каждая функциональная зависимость бинарного ориентированногоотношения являетсяключевойфункциональной зависимостью, а такжефункцией.

Анализ наличия функций в отношениях позволяет выделить следующие классы отношений:

  • отношения, не имеющие функций;

  • отношения, имеющие одну функцию;

  • отношения, имеющие несколько функций.

Определение 3.3.5.4. Взаимно однозначным   отношениембудем называть бинарное ориентированное отношение, которому соответствуютдверазличные функции.

Определение 3.3.5.5. Функцию отношения r   будем называтьалгебраической операциейв том и только том в случае, если отношениеrпринадлежит к классу отношений, у которыхвсе домены совпадают(см. пункт 3.3.4).