- •Основные требования к организации базы данных
- •Основные компоненты субд
- •Три уровня представления данных в аис.
- •Классификация моделей данных
- •Инфологическое моделирование
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных. Элементы модели
- •Правила вывода функциональной зависимости
- •Реляционная алгебра
- •Нфсо, нф1, нф2
- •Нормальная форма Бойса - Кодда(нфбк)
- •Минимальное покрытие
- •Обобщённый алгоритм декомпозиции:
- •Соединение без потерь, сохраняющих зависимость
- •Метод Табло
- •Язык запросов sql. Основные категории
- •Язык запросов sql. Тип связывания
- •Многотабличные запросы. Использование псевдонимов
- •Использование оператора union для объединения результатов инструкций select
- •Модели транзакций. Журнал транзакций.
- •Основные компоненты субд Cache'
- •Файлы прямого и последовательного доступа
- •Инвертированные списки
- •Многозначная зависимость
- •Модель удаленного доступа к данным
- •Постреляционная модель данных
- •Многомерные модели
- •Распределенная обработка данных
- •Плотный, неплотный индекс
- •Модель сервер-приложение
- •Организация индексов в виде в-деревьев
- •Реляционное исчисление с переменными на доменах
- •Реляционное исчисление с переменными кортежами
- •Модель активного сервера
- •Модель файлового сервера
- •Субд Cache. Виды классов. Элементы классов
Минимальное покрытие
Полное множество правил вывода состоит из 3 аксиом Амстронга, а также трёх следующих из этих аксиом правил.
Правила вывода:
1. Аксиомы 1.2.3
1. Рефлексивность: XU, YU, YX,то XY
2. пополнение: XU, YU, ZU, XY, то XZYZ
3. транзитивность: XU,YU,ZU, XY,YZ, то XZ
2. Из них следуют правила:
1. Объединения AB,AC то AB,C
2. Декомпозиции AB,C, то AB,AC
3. Псевдотранзит: XY; Y,WZ; то X,WZ
По этим правилам определяем избыточные зависимости
Обобщённый алгоритм декомпозиции:
1. Построение универсального отношения для БД.
2. Определение всех ФЗ, существующих между атрибутами универсального отношения.
3. Удаление всех избыточных ФЗ из исходного набора ФЗ с целью получения минимального покрытия. Эта процедура проводится путём поочерёдного удаления избыточных ФЗ с последующей проверкой получаемого на каждом шаге набора ФЗ на наличие хотя бы одной избыточной ФЗ.
4. Использование ФЗ из минимального покрытия для декомпозиции универсального отношения в набор НФБК- отношений.
5. Если может быть получено более чем одно минимальное покрытие, осуществляется сравнение результатов, полученных на основе различных минимальных покрытий, с целью определения варианта, лучше других отвечающего требованиям заказчика.
При исполнении алгебраической декомпозиции необходимо помнить о нежелательности проекции, порождаемой ФЗ, у которой зависимостная часть является детерминантом другой ФЗ или когда зависимостная часть ФЗ зависит более чем от одного детерминанта. В любом из этих случаев может быть утеряна ФЗ из БД. Если достигнуть состояние, в котором проецирование, не влекущее за собой потерь ФЗ, становится невозможным, то необходимо сделать выбор:
а). выбор оставшихся ФЗ и создание одного отношения для каждых детерминанта и набора зависящих от него атрибутов;
б). изменение порядка ранее проведенных декомпозиций, т. к. алгоритм проектирования не ведёт к единственному решению.
Соединение без потерь, сохраняющих зависимость
Из всех возможных разложений схемы должны использоваться только те, которые обладают свойством соединений без потерь. Пусть в схеме R имеется множество функциональных зависимостей. Говорят, что схема R разложима без потерь на отношения R1,R2,Rk, с сохранением функциональной зависимости, если для каждого кортежа r из R может быть r восстановлен соединением его проекций.
Условия отсутствия потерь при соединении:
Если R1 и R2 являются разложением R, с сокращением функциональных зависимостей – это разложение обеспечивает соединение без потерь с сохранением функциональной зависимости <=> если R1^R2R1-R2 либо R1^R2R2-R1 при многозначной зависимости R1^R2->>R1-R2, либо R1^R2->>R2-R1
Операции пересечения и разности определены над списками атрибутов отношений.
Пример:
Служащие(№,отдел,город)
1 разложение E1(№, отдел) E2(№, город)
2 разложение E3(№, отдел) E4(отдел, город)
1. E1^E2=№ E1-E2=отдел E2-E1=город. №отдел, №город условие удовлетворяет, разложение без потерь.
2. E3^E4=отдел E3-E4=№ E4-E3=город. отдел№, отделгород эти зависимости в исходном разложении не существуют, а исходные функциональные зависимости утеряны, значит это разложение с потерями.
Для разложений более чем из двух отношений можно использовать метод Табло