русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Функциональная зависимость атрибутов


Дата добавления: 2014-11-01; просмотров: 791; Нарушение авторских прав


 

Ранее были рассмотрены принципы объединения элементов данных в логические записи и показано, что все элементы данных в логической записи связаны между собой. В реляционных моделях существует аналогичное понятие функциональной зависимости атрибутов. Говорят, что атрибут В функционально зависит от атрибута А, если в каждый момент времени каждому значению атрибута А соответствует только одно, связанное с ним значение атрибута В и обозначают А В. Это же выражение можно прочитать как А функционально определяет В.

В следующем примере отношения

ПЕРСОНАЛ(Табельный номер, ФИО, Должность, Номер проекта, Дата окончания)

можно определить следующие функциональные зависимости:

Табельный номер ФИО

Табельный номер Должность

Табельный номер Номер проекта

Номер проекта Дата окончания

Действительно, каждому табельному номеру соответствует только одна фамилия, имя, отчество. Каждому проекту соответствует только одна дата окончания.

В общем случае определить функциональную зависимость атрибутов на множестве атрибутов и их значений можно следующим образом. Объединить атрибуты и их значения в одно отношение, отсортировать кортежи отношения по значению определяющего атрибута (атрибутов) и выяснить для каждого атрибута, зависимость которого необходимо найти, наличие повторяющихся значений. Если таковые есть, то атрибут не зависит от определяющего. В противном случае зависимость существует.

Например, пусть имеется множество атрибутов А, В, С и их значения, собранные в отношении R.

А В С
M
N
M
L
N
L

 

А В С
M
M
N
N
L
L

Попытаемся установить следующие зависимости А В и А С . Для этого отсортируем отношение по домену А:



 

 

Из таблицы видно, что каждому значению атрибута А соответствует только одно значение атрибута В и разные значения атрибута С. Следовательно А функционально определяет В, а С не зависит от А.

В отношении могут существовать функциональные зависимости между любыми атрибутами. Но при построении реляционных моделей представляют интерес только зависимости между ключом и остальными атрибутами отношения и транзитивные зависимости. Под транзитивной зависимостью понимают зависимость одного атрибута от другого через третий атрибут. Так, в рассмотренном выше примере имеет место зависимость:

Табельный номер Номер проекта Дата окончания

Здесь Дата окончания зависит от атрибута Табельный номер через Номер проекта,т.е. имеет место транзитивная зависимость.

Характер функциональных зависимостей в отношении влияет на оптимальность реляционной модели с точки зрения качества базы данных, построенной на этой модели.

 



<== предыдущая лекция | следующая лекция ==>
Преобразование сетевых моделей в реляционные | Вторая нормальная форма


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.306 сек.