Главная » SQL, Базы данных » Функциональные зависимости

0

В этой главе речь пойдет о концепции функциональной зависимости, которая была названа Хью Дарвеном (Hugh Darwen) в личной беседе с автором если "не совсем фундаментальной, то очень близкой к таковой". Эта концепция лежит в основе многих обсуждаемых в последующих главах тем, включая, в частности, теорию проектирования базы данных, описанную в главе 12. Но следует сразу же отметить, что ее значимость не ограничивается только указанной областью применения; поэтому фактически данную главу вполне можно было включить в часть II настоящей книги вместо части III.

По сути, функциональная зависимость (далее для ее обозначения часто будет использоваться аббревиатура ФЗ) является связью типа "многие к одному" между множествами атрибутов внутри данной переменной  отношения. Например, для переменной отношения поставок SP  существует функциональная зависимость между множествами атрибутов {S#,P#} и {QTY}. Это означает, что для любого

допустимого  значения  этой  переменной  отношения  справедливы  следующие правила.

Для любой заданной пары значений атрибутов s# и Р# существует только одно соответствующее им значение1 атрибута QTY.

Но одно и то же соответствующее им значение атрибута QTY (в общем случае) могут иметь многие разные пары значений атрибутов S# и Р#.

Обратите внимание, что в показанном на рис. 3.8 (см. стр. 128) примере значения переменной отношения SP удовлетворяют этим правилам. Следует также отметить — нам снова приходится сталкиваться с концепцией, определение которой основано на понятии равенства кортежей.

В разделе 11.2 этой главы концепция функциональной зависимости определена более точно, с учетом того, что существуют и такие функциональные  зависимости, которые выполняются применительно к данной переменной отношения лишь в некоторых частных случаях, и такие, которые выполняются применительно к ней всегда. Как было указано выше, функциональные  зависимости представляют собой основу для применения научного подхода к решению целого ряда практических задач, поскольку обладают богатым набором  интересных свойств, позволяющих формально и строго решить многие проблемы. Ниже, в разделах 11.3—11.6, будут подробно описаны некоторые из  этих свойств и даны объяснения по поводу их практического применения. В конце главы, в разделе 11.7, представлено краткое резюме.

Примечание. Эта глава книги — самая формальная, и при первом чтении многие ее разделы можно пропустить. Фактически основная часть материала,  необходимого для изучения следующих трех глав, содержится в разделах 11.2  и  11.3. Поэтому все остальные разделы можно лишь просмотреть, а затем  вновь  вернуться к ним, ознакомившись с остальными тремя главами этой части.

Небольшое примечание в отношении используемой терминологии. В  англоязычной

литературе почти как равноценные употребляются два термина: functional dependence и functional dependency. Согласно нормам использования английского языка, термин dependence следовало бы применять для обозначения самой функциональной зависимости, а термин dependency — для обозначения  зависимых объектов. Однако термин функциональная зависимость часто приходится применять во множественном числе, а

в таких случаях термин dependencies кажется более удобным для произношения,  чем

dependences. Именно это и определяет смешанное использование в литературе обоих терминов.

Источник: Дейт К. Дж., Введение в системы баз данных, 8-е издание.: Пер. с англ. — М.: Издательский дом «Вильямс», 2005. — 1328 с.: ил. — Парал. тит. англ.

По теме:

  • Комментарии