Какой шаг следует добавить в приведенный ниже алгоритм декомпозиции отношений?
Алгоритм
Алгоритм
Алгоритм
Повторение пунктов 2 и 3 для каждого нового отношения, полученного в результате декомпозиции.
Алгоритм
Операция | Результат выполнения | ||
---|---|---|---|
1 | Объединение отношений | A | Отношение С, которое включает в себя все кортежи со всеми атрибутами исходных отношений А и В, удовлетворяющими заданному условию |
2 | Пересечение отношений | B | Отношение С, которое включает в себя кортежи отношения А, отличные от кортежей отношения В |
3 | Разность отношений | C | Отношение С, которое включает в себя кортежи отношения А, полностью совпадающие с кортежами отношения В |
4 | Декартово произведение отношений | D | Отношение С, которое включает в себя атрибуты отношения А, отличные от атрибутов отношения В, и только те кортежи, декартовы произведения которых с отношением В дают отношение А |
5 | Проекция отношения | E | Отношение С, которое включает в себя все кортежи отношения А, но только с теми атрибутами, на которые выполняется проекция |
6 | Деление отношений | F | Отношение С, степень которого равна сумме степеней исходных отношений, а мощность — произведению возможностей исходных отношений |
7 | Выбор (селекция) из отношения | G | Отношение С, которое включает в себя кортежи отношения А, удовлетворяющие заданному условию (критерию выбора) |
8 | Соединение отношений А | H | Отношение C, которое включает в себя все кортежи отношения А и кортежи отношения B, отличные от кортежей отношения A |
Нормальная форма | Определение | ||
---|---|---|---|
1 | Первая нормальная форма (1НФ) | A | отношение должно удовлетворять зависимости по соединению относительно своих проекций. |
2 | Вторая нормальная форма (2НФ) | B | все неключевые атрибуты отношения функционально полно зависят от составного ключа отношения; отношение не должно содержать частичных ФЗ. |
3 | Третья нормальная форма (3НФ) | C | неключевые атрибуты отношения не зависят от ключей; отношение допускает наличия только таких нетривиальных ФЗ, в которых ключ определяет один или более других атрибутов: , где включает некоторый ключ. |
4 | Нормальная форма Бойса-Кодда (НФБК) | D | все неключевые атрибуты отношения зависят только от первичного ключа; отношение не должно содержать транзитивных ФЗ неключевых атрибутов от ключа |
5 | Четвертая нормальная форма (4НФ) | E | отношение не должно содержать независимых многозначных ФЗ. |
6 | Пятая нормальная форма (5НФ) | F | все атрибуты отношения являются простыми, т.е. не имеют компонентов. |
Исходное отношение:
Преподаватель_предмет (Личный_#, Предмет, Часы, Фамилия, Должность, Оклад, Кафедра, Телефон )
Результирующие отношения:
Преподаватель (Личный_#, Фамилия, Должность, Оклад, Кафедра, Телефон )
Предмет(Личный_#, Предмет, Часы )
Комментарий к ответу: Отношение Преподаватель_Предмет содержит частичные ФЗ: пять последних неключевых атрибутов зависят от части ключа Личный_#. Это может привести к следующим аномалиям:
Устранение аномалий заключается в выполнении двух проекций отношения.
Конструкция | Определение | ||
---|---|---|---|
1 | Отношение | A | таблица |
2 | Атрибут | B | имя колонки таблицы |
3 | Схема отношения | C | список имен атрибутов |
4 | Домен | D | тип данных колонки таблицы |
5 | Кортеж | E | строка таблицы |
Понятие | Определение | ||
---|---|---|---|
1 | Ключ отношения | A | это уникальное значение атрибута или атрибутов в кортеже, позволяющее идентифицировать сущность или часть сущности предметной области |
2 | Возможный ключ отношения | B | это атрибут составного ключа, однозначно определяющий совокупность неключевых атрибутов отношения |
3 | Первичный ключ отношения | C | это первичный ключ отношения, содержащий несколько атрибутов |
4 | Составной ключ отношения | D | это значение атрибута или атрибутов, позволяющее однозначно идентифицировать кортеж |
5 | Частичный ключ отношения | E | это значение атрибута или атрибутов отношения, которые являются кандидатами на ключ отношения |
6 | Атомарный ключ отношения | F | это первичный ключ отношения, содержащий один атрибут |
7 | Внешний (посторонний) ключ отношения | G | это атрибут кортежа, который является первичным ключом другого отношения |
Исходное отношение:
Курсовой_проект (Преподаватель, Проект, Студент)
Иванов Тема1 Петрова
Фролов Тема1 Исаев
Антонов Тема1 Сидоров
Иванов Тема2 Ивлева
Фролов Тема2 Степанов
Фролов Тема3 Мусин
Антонов Тема3 Сац
Результирующие отношения:
Руководство (Преподаватель, Предмет)
Выполнение (Студент, Предмет)
Комментарий к ответу: На роль ключа отношения Курсовой_проект претендует набор атрибутов {Преподаватель, Предмет}. Студент выполняет только один проект, один и тот же проект может выполняться несколькими студентами у разных преподавателей. Отношение содержит следующие ФЗ: и .
Отношение находится в 3НФ и не содержит частичных и транзитивных ФЗ. Однако наличие ФЗ части составного ключа от неключевого атрибута может привести к следующим аномалиям:
Устранение аномалий заключается в удалении ФЗ ключа от неключевого атрибута.
Преподаватель (Личный_#, Фамилия, Должность, Оклад, Кафедра, Телефон )
Результирующие отношения:
Преподаватель(Личный_#, Фамилия, Должность, Кафедра)
Должность (Должность, Оклад)
Кафедра (Кафедра, Телефон)
Комментарий к ответу: Отношение Преподаватель содержит транзитивные зависимости: и . Это может привести к следующим аномалиям:
Устранение аномалий заключается в выполнении трех проекций отношения.
Действия | |
---|---|
1. | Определить функциональные зависимости в отношении |
2. | Назначить первичные ключи связывающих отношений, исходя из уникального идентификатора связи и процедуры миграции ключей при нормализации |
3. | Получить список атрибутов сущности |
4. | Определить класс принадлежности сущности к связи |
5. | Для полученных отношений назначить первичные ключи |
6. | Определить степень связи сущностей |
7. | Выполнить нормализацию сущности (преобразовать сущность в отношение |
8. | Нормализовать отношение (разрешить связи) |
9. | Определить возможные ключи отношения, в частности, рассмотрев уникальный идентификатор сущности |
10. | Получить список детерминантов |