CLAIM – научно-образовательный кластер

Филиппович Андрей

Взаимные функциональные зависимости
(фрагмент статьи)

 

Возможность применения правил Армстронга

Проектирование схемы базы данных начинается с определения универсального отношения, в которое входят все атрибуты. Для предметной области задается множество ограничений с помощью функциональных, многозначных и других зависимостей. Для вывода новых ФЗ или сокращения их числа используются правила Армстронга. Эти правила общеизвестны и приводятся почти в каждой книге по БД. Однако ни в одной из них не говорится об ограниченности их использования. Рассмотрим пример использования правила объединения:

Если A -> B, A-> С то A-> BС

Пусть имеется два простейших отношения ЗАРПЛАТА(Сотрудник, Зарплата) и СЧЕТА(Сотрудник, N_Кредитки). Во второй таблице задаются номера кредитных карточек сотрудников. Предположим, что у Невезинского нет кредитки. Специалист по БД решил оптимизировать структуру и устранить избыточность, пользуясь вышеупомянутым правилом.

Если Сотрудник -> Зарплата, Сотрудник -> N_Кредитки

то Сотрудник -> {Зарплата, N_Кредитки}

 

Сотрудник Зарплата
Невезинский 1000
Почтов 780
Саркисьян 1000
Трифонов 550

 

Сотрудник N_Кредитки
Почтов 11153
Саркисьян 11154
Трифонов 11155

 

Сотрудник Зарплата N_Кредитки
Невезинский 1000 Null
Почтов 780 11153
Саркисьян 1000 11154
Трифонов 550 11155

 

Сразу после "оптимизации" в результирующем отношении появится кортеж, который имеют пустое (неопределенное) значение. Реляционное отношение, да и ФЗ (A-> BС) таких кортежей не поддерживают, поэтому такая запись должна автоматически удалиться.

Большинство современных СУБД поддерживают трехзначную логику (с использованием Null значений), поэтому запись может не пропасть. Однако наличие неопределенных значений приводит к появлению неоднозначности в запросах и программах.

Таким образом, свободно применять правила Армстронга можно только для проектируемой БД, не имеющей данных. При реструктуризации необходимо использовать Null-значения.

Это замечание существенно для баз данных с динамически изменяемой структурой, к которым можно отнести современные объектно-реляционные разработки.

 © НОК CLAIM, 2006-2012. Замечания, вопросы и сведения об ошибках просим сообщать в форуме или присылать администратору сайта.

OZON.ru Rambler's Top100