Базы данных. Вводный курс


Правила функциональных зависимостей - часть 2


Любое множество столбцов, являющееся двойником BUC-множества, также есть BUC-множество, так что это свойство распространяется через различные выражения, производящие виртуальные таблицы. Если имеются два множества столбцов S1 и S2, такие, что S1
S2, S1
S2, и S2 является BUC-множеством, то и S1 является BUC-множеством. Могут существовать таблицы, у которых BUC-множество является пустым. Такая таблица может содержать не более одной строки. С другой стороны, могут существовать таблицы, у которых вообще отсутствуют BUC-множества.
  • Множество столбцов, составляющих первичный ключ таблицы, называется ее BPK-множеством (акроним BPK происходит от Base table Primary Key). Понятно, что каждое BPK-множество является BUC-множеством. Если имеются два множества столбцов S1 и S2, такие, что S1
    S2, S1
    S2, и S2 является BPK-множеством, то и S1 является BPK-множеством. Подобно BUC-множествам, BPK-множества могут быть пустыми.

    На основе этих определений в стандарте SQL:1999 устанавливаются правила функциональных зависимостей для 11 компонентов языка.

    • Базовые таблицы. Если у таблицы имеется первичный ключ, то соответствующее множество столбцов образует BPK-множество этой таблицы. Если у таблицы имеется не откладываемое ограничение уникальности и ни у одного столбца, указанного в этом ограничении, не допускается наличие неопределенных значений, то соответствующее множество столбцов является BUC-множеством. Если множество столбцов UCL базовой таблицы – BUC-множество, а CT обозначает все множество столбцов этой таблицы, то FD UCLCT представляет собой известную функциональную зависимость базовой таблицы.
    • Конструкторы табличных значений. Поскольку для конструкторов табличных значений невозможно определять ограничения, в стандарте SQL:1999 для них не специфицированы BUC- и BPK-множества. В стандарте не определяются известные функциональные зависимости для такого рода конструкций, отличные от аксиоматических. Однако стандарт допускает, чтобы реализации SQL включали дополнительные механизмы определения известных функциональных зависимостей.
    • Соединенные таблицы.


      Начало  Назад  Вперед



      Книжный магазин