- •II. Раздел «Управление данными»
- •Необходимость декомпозиции, проблемы дублирования данных.
- •Виды декомпозиций. Правила декомпозиции без потерь.
- •Функции администратора базы данных. Функции администратора данных.
- •Уровни моделирования базы данных.
- •Аксиомы вывода, rap-последовательность вывода. Примеры вывода функциональных зависимостей.
- •Классификация покрытий.
- •Нормальные формы. Общая классификация. Пример построения.
- •Практическая значимость понятий: замыкания фз, замыкание атрибутов.
- •Формализация реляционной базы данных.
- •Трёхуровневая архитектура ansi-sparc.
- •Функции и компоненты субд.
- •Архитектуры многопользовательских субд.
- •2. Файловый сервер
- •Технология «клиент-сервер»
- •Составные части языка sql и основные операторы.
- •Реализация запросов средствами sql (хранимые процедуры, функции, представления).
- •Целостность базы данных. Средства обеспечения целостности средствами sql.
- •Индексы базы данных. Назначение, классификация.
- •Оператор соединения в sql.
- •Операция соединения по двум отношениям (таблицам)
- •Операция тета-соединения
- •Естественное соединение
- •Левое внешнее соединение
- •Полусоединение
- •Использование подзапросов, коррелированные подзапросы.
- •Необходимость управления параллельностью.
- •Транзакция и её свойства.
- •Методы управления параллельностью.
- •Функции и архитектура распределённых субд.
- •Olap и oltp системы, хранилище данных.
- •Архитектуры olap.
- •Проблемы декомпозиции на минимальном покрытии. Теорема Хеза.
- •Ключи. Неопределенность значений атрибутов в ключах.
II. Раздел «Управление данными»
Необходимость декомпозиции, проблемы дублирования данных.
Виды декомпозиций. Правила декомпозиции без потерь.
Функции администратора базы данных. Функции администратора данных.
Уровни моделирования базы данных.
Аксиомы вывода, RAP-последовательность вывода. Примеры вывода функциональных зависимостей.
Классификация покрытий.
Проблемы декомпозиции на минимальном покрытии. Теорема Хеза.
Ключи. Неопределенность значений атрибутов в ключах.
Нормальные формы. Общая классификация. Пример построения.
Практическая значимость понятий: замыкания ФЗ, замыкание атрибутов.
Формализация реляционной базы данных.
ЕR – модель. Генерация отношений.
Трёхуровневая архитектура ANSI-SPARC.
Функции и компоненты СУБД.
Архитектуры многопользовательских СУБД.
Составные части языка SQL и основные операторы.
Реализация запросов средствами SQL (хранимые процедуры, функции, представления).
Целостность базы данных. Средства обеспечения целостности средствами SQL.
Индексы базы данных. Назначение, классификация.
Оператор соединения в SQL.
Использование подзапросов, коррелированные подзапросы.
Необходимость управления параллельностью.
Транзакция и её свойства.
Методы управления параллельностью.
Функции и архитектура распределённых СУБД.
OLAP и OLTP системы, хранилище данных.
Архитектуры OLAP.
Необходимость декомпозиции, проблемы дублирования данных.
Виды декомпозиций. Правила декомпозиции без потерь.
Декомпозиция отношений проводится, чтобы исключить избыточное дублирование в отношениях. Выделяют два типа декомпозиций отношений: без потерь и с потерями. Декомпозиция без потерь происходит тогда, когда после соединения вновь полученных отношений получается исходное отношение. В ряде случаев невозможно провести декомпозицию без потерь. В этом случае надо решить: или поддерживать избыточное дублирование; или теряем ФЗ и поддерживаем ее программным путем. Выбор должен быть обоснован.
Существуют следующие виды декомпозиций:
Декомпозиция на минимальном покрытии (если в отношении только один ключ);
Декомпозиция на кольцевом покрытии (если в отношении несколько ключей и существуют эквивалентные левые части ФЗ);
Декомпозиция по теореме Хеза (если ни один из вышеперечисленных методов неприемлем или не дает желаемого результата).
Процесс декомпозиции следует всегда начинать со следующих операций:
с определения (идентификации) всех атрибутов, подлежащих хранению в БД.
установления между ними функциональных зависимостей.
Критерий, по которому определяют необходимость декомпозиции отношения, - нахождение отношения в той или иной НФ.
Процесс декомпозиции осуществляется поэтапно, при этом на каждом этапе (в большинстве случаев) исходное отношение разбивается только на 2 отношения, затем делается вывод о необходимости продолжения декомпозиции, если она необходима - процесс продолжается.
Декомпозиция снимает большинство проблем, связанных с выполнением операций – удаление, добавление и редактирование, за счет исключения избыточного дублирования информации.
Примеры декомпозиций:
1. На минимальном покрытии: R={ABC}, F={A->B, B->C} => R1={AB} R2={BC}
2. Декомпозиция на кольцевом покрытии: {ABCD}, F={A->B, B->AC, C->D}. В отношении присутствуют два эквивалентных атрибута А и В. Декомпозиция этого отношения путём выделения каждой ФЗ в отдельное отношение приведёт к избыточному дублированию, но уже на уровне отношения. В том случае декомпозиция осуществляется на минимальном кольцевом покрытии: G={(A,B)->C, (C)->D} => G1={(A,B)->C } {ABC} и G2={(C)->D } {CD}
3. Пусть дано отношение со схемой R={ABC} и множеством ФЗ {A->B}. Данное отношение декомпозируется без потерь по т.Хеза на два отношения R1={AB} и R2={AC}
4.
Декомпозиций без потерь и с потерями:
R={ABC}
и F={AB
C;
C
B}.
Без
потерь:
R1={CB}
и R2={AC}.
С
потерями:
R1/={AB}
и R2/={CB}
