
- •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}