Читайте также:
|
|
В процессе нормализации приходится оперировать понятием функциональной зависимости атрибутов внутри отношения.
Если даны два атрибута (простые или составные), А и В, то говорят, что В функционально зависит от А, если для каждого значения А в любой момент времени существует ровно одно связанное с ним значение В.
Другими словами, если В функционально зависит от А, то каждый из кортежей, имеющих одно и то же значение А, должен иметь и одно значение В. Их значения могут изменяться время от времени, но только таким образом, что каждое уникальное значение А имело бы только одно значение В, связанное с ним. В таком случае атрибут А называют детерминантом функциональной зависимости.
В рассмотренном ранее примере (см. раздел «Аномалии хранения данных»), атрибут ФИО студента функционально зависит от атрибута No зач.; Колич.часов зависит от атрибута Шифр курса; а Оценка – от составного детерминанта No зач и Шифр курса.
Способы нотации для описания функциональных зависимостей не стандартизованы. Два наиболее часто используемых показаны на рис.8.
|
| |||
Рис 8. Варианты записи функциональных зависимостей.
В практике проектирования зависимость не может быть доказана путем простого просмотра отдельного экземпляра отношения и поиска нескольких случаев, в которых два атрибута принимают одни и те же значения. В лучшем случае это может указать направление поиска. Функциональные зависимости (ФЗ) устанавливаются исходя из семантики данных, для чего проектировщик (постановщик задачи) должен хорошо представлять себе специфику предметной области. Конечно, иногда наличие ФЗ очевидно, более того – в ряде случаев проектировщик водит «искусственный» детерминант ФЗ. В упомянутом уже примере (рис. …) очевидна зависимость атрибутов ФИО студента и Дата рожд. от атрибута № зачетки. Это следует из того факта, что каждому студенту выдается зачетная книжка с уникальным номером. Атрибут ФИО студента не может быть детерминантом, поскольку не гарантирована его уникальность. Детерминант Таб.№ преподавателя введен из сходных соображений, это пример «искусственного» ключа, в том смысле что этот атрибут отсутствует в предметной области и введен специально для надежной идентификации.[2] А вот зависимость Шифр курса -> Таб. № преподавателя не очевидна. Более того, предположение о существовании такой зависимости говорит о том, что каждый преподаватель читает точно одну учебную дисциплину. Если в предметной области такое ограничение действительно существует, то оно должно быть должным образом отображено в модели данных. При нормализации инструментом такого отображения и является объявление функциональных зависимостей.
Дата добавления: 2015-07-19; просмотров: 107 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Теорема Хита. | | | Теорема Хита. |