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