
- •Базы Данных
- •1.Понятие банка данных. Компоненты банков данных и их краткая характеристика
- •2.Языковые средства субд
- •3.Классификация баз данных
- •4.Этапы проектирования баз данных
- •Тсп для даталогического проектирования
- •Тсп для физического проектирования
- •5.Инфологическое (концептуальное) моделирование
- •7.Case -средства проектирования бд
- •9.Реляционные модели. Основные понятия
- •10.Реляционные модели. Нормальные формы отношений
- •5Nf. Декомпозиция без потерь
- •11.Реляционные модели. Нормализация отношений
- •12.Реляционные алгебры
- •13.Факторы, влияющие на проектирование баз данных
- •1. Специфика предметной области:
- •2. Особенности требуемой обработки информации:
- •3. Характеристика пользователей системы:
- •14.Алгоритм перехода от er-модели к реляционной модели данных
- •15.Ограничения целостности. Понятие и классификация
- •16.Возможности задания ограничений целостности в современных субд
- •17.Языки запросов. Понятие. Классификация
- •18.Классификация запросов. Особенности реализации запросов разных классов
- •19.Табличные языки запросов. Общая характеристика
- •20.Язык sql. Общая характеристика
- •21.Общая структура команды Select языка sql. Корректировка данных в sql
- •22.Sql. Создание объектов
- •23.Sql. Встроенный join
- •24.Sql. Понятие курсора. Использование курсоров
- •25.Sql. Группировка данных. Использование обобщающих функций
- •26.Sql. Создание и использование представлений
- •27.Генераторы экранных форм. Назначение. Классификация
- •28.Генераторы отчетов. Назначение. Классификация
- •29.Классификация распределенных банков данных
- •30.Проблемы обеспечения целостности в распределенных бд
- •31.Сравнение централизованных и распределенных систем
- •32.Распределенные бд. Технологии файл-сервер и клиент-сервер
- •33.Распределенные базы данных. Технология тиражирования
- •34.Проблемы, возникающие при параллельном доступе, и пути их решения
5Nf. Декомпозиция без потерь
Декомпозицией отношения R называется замена R на совокупность отношений {R1, R2,... , Rn} такую, что каждое из них есть проекция R, и каждый атрибут R входит хотя бы в одну из проекций декомпозиции. Декомпозиция называется декомпозицией без потерь, если R' в точности совпадает с R.
Пример:
Предположим, что нужно хранить данные об ассортименте нескольких продавцов, торгующих продукцией нескольких фирм (номенклатура товаров фирм может пересекаться):
Ассортимент (продавцы, фирмы, товары)
Продавец |
Фирма |
Товар |
Иванов |
Рога и Копыта |
Пылесос |
Иванов |
Рога и Копыта |
Хлебница |
Петров |
Безенчук&Ко |
Сучкорез |
Петров |
Безенчук&Ко |
Пылесос |
Петров |
Безенчук&Ко |
Хлебница |
Петров |
Безенчук&Ко |
Зонт |
Сидоров |
Безенчук&Ко |
Пылесос |
Сидоров |
Безенчук&Ко |
Телескоп |
Сидоров |
Рога и Копыта |
Пылесос |
Сидоров |
Рога и Копыта |
Лампа |
Сидоров |
Геркулес |
Вешалка |
Если дополнительных условий нет, то данное отношение, которое находится в 4-ой нормальной форме, является корректным и отражает все необходимые ограничения.
Теперь предположим, что нужно учесть следующее ограничение:
каждый продавец имеет в своём ассортименте ограниченный список фирм и ограниченный список типов товаров и предлагает товары из списка товаров, производимые фирмами из списка фирм.
Такое ограничение может быть вызвано, например, тем, что список типов товаров продавца ограничен имеющимися у него лицензиями, либо знаниями и квалификацией, необходимыми для их продажи, а список фирм каждого продавца определён партнёрскими соглашениями.
Предложенное выше отношение не может исключить ситуации, при которых данное ограничение будет нарушено.
Ничто не препятствует занести данные о торговле товаром, который данная фирма вообще не выпускает, либо данные о торговле товарами той фирмы, которую данный продавец не обслуживает, либо данные о торговле таким типом товара, который данный продавец не имеет право продавать.
Отношение не находится в 5NF, поскольку в нём есть нетривиальная зависимость соединения *{{Продавец, Фирма}, {Фирма, Товар}, {Продавец, Товар}}, однако подмножества {Продавец, Фирма}, {Фирма, Товар}, {Продавец, Товар} не являются суперключами исходного отношения.
В данном случае для приведения к 5NF отношение должно быть разбито на три: {Продавец,
Фирма}, {Фирма, Товар}, {Продавец, Товар}.
Товары продавцов
Продавец |
Товар |
Иванов |
Пылесос |
Иванов |
Хлебница |
Петров |
Сучкорез |
Петров |
Пылесос |
Петров |
Хлебница |
Петров |
Зонт |
Сидоров |
Телескоп |
Сидоров |
Пылесос |
Сидоров |
Лампа |
Сидоров |
Вешалка |
Фирмы продавцов
Продавец |
Фирма |
Иванов |
Рога и Копыта |
Петров |
Безенчук&Ко |
Сидоров |
Безенчук&Ко |
Сидоров |
Рога и Копыта |
Сидоров |
Геркулес |
Товары фирм
Фирма |
Товар |
Рога и Копыта |
Пылесос |
Рога и Копыта |
Хлебница |
Рога и Копыта |
Лампа |
Безенчук&Ко |
Сучкорез |
Безенчук&Ко |
Пылесос |
Безенчук&Ко |
Хлебница |
Безенчук&Ко |
Зонт |
Безенчук&Ко |
Телескоп |
Геркулес |
Вешалка |