![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Предположим, что нужно хранить данные об ассортименте нескольких продавцов, торгующих продукцией нескольких фирм (номенклатура товаров фирм может пересекаться):
Ассортимент (продавцы, фирмы, товары) | ||
Продавец | Фирма | Товар |
Иванов | Рога и Копыта | Пылесос |
Иванов | Рога и Копыта | Хлебница |
Петров | Безенчук&Ко | Сучкорез |
Петров | Безенчук&Ко | Пылесос |
Петров | Безенчук&Ко | Хлебница |
Петров | Безенчук&Ко | Зонт |
Сидоров | Безенчук&Ко | Пылесос |
Сидоров | Безенчук&Ко | Телескоп |
Сидоров | Рога и Копыта | Пылесос |
Сидоров | Рога и Копыта | Лампа |
Сидоров | Геркулес | Вешалка |
Если дополнительных условий нет, то данное отношение, которое находится в 4-ой нормальной форме, является корректным и отражает все необходимые ограничения.
Теперь предположим, что нужно учесть следующее ограничение: каждый продавец имеет в своём ассортименте ограниченный список фирм и ограниченный список типов товаров и предлагает товары из списка товаров, производимые фирмами из списка фирм.
То есть продавец не имеет право торговать какими угодно товарами каких угодно фирм. Если продавец П имеет право торговать товарами фирмы Ф, и если продавец П имеет право торговать товарами типа Т, то в этом случае в ассортимент продавца П входят товары типа Т фирмы Ф при условии, что фирма Ф производит товары типа Т.
Такое ограничение может быть вызвано, например, тем, что список типов товаров продавца ограничен имеющимися у него лицензиями, либо знаниями и квалификацией, необходимыми для их продажи, а список фирм каждого продавца определён партнёрскими соглашениями.
В рассматриваемом примере, в частности, предполагается, что продавец Иванов имеет право торговать товарами только фирмы «Рога и Копыта», продавец Петров — товарами только фирмы «Безенчук&Ко», зато продавец Сидоров не имеет право торговать хлебницами и сучкорезами и т.д.
Предложенное выше отношение не может исключить ситуации, при которых данное ограничение будет нарушено. Ничто не препятствует занести данные о торговле товаром, который данная фирма вообще не выпускает, либо данные о торговле товарами той фирмы, которую данный продавец не обслуживает, либо данные о торговле таким типом товара, который данный продавец не имеет право продавать.
Отношение не находится в 5NF, поскольку в нём есть нетривиальная зависимость соединения *{{Продавец, Фирма}, {Фирма, Товар}, {Продавец, Товар}}, однако подмножества {Продавец, Фирма}, {Фирма, Товар}, {Продавец, Товар} не являются суперключами исходного отношения.
В данном случае для приведения к 5NF отношение должно быть разбито на три: {Продавец, Фирма}, {Фирма, Товар}, {Продавец, Товар}.
Товары продавцов | |
Продавец | Товар |
Иванов | Пылесос |
Иванов | Хлебница |
Петров | Сучкорез |
Петров | Пылесос |
Петров | Хлебница |
Петров | Зонт |
Сидоров | Телескоп |
Сидоров | Пылесос |
Сидоров | Лампа |
Сидоров | Вешалка |
Фирмы продавцов | |
Продавец | Фирма |
Иванов | Рога и Копыта |
Петров | Безенчук&Ко |
Сидоров | Безенчук&Ко |
Сидоров | Рога и Копыта |
Сидоров | Геркулес |
Товары фирм | |
Фирма | Товар |
Рога и Копыта | Пылесос |
Рога и Копыта | Хлебница |
Рога и Копыта | Лампа |
Безенчук&Ко | Сучкорез |
Безенчук&Ко | Пылесос |
Безенчук&Ко | Хлебница |
Безенчук&Ко | Зонт |
Безенчук&Ко | Телескоп |
Геркулес | Вешалка |
Дата публикования: 2015-10-09; Прочитано: 254 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!