Ответы на контрольные вопросы.
1. Дайте определение нормальной формы, которой как минимум должно удовлетворять каждое отношение.
Нормальная форма заключается в том, что старшая нормальная форма включает в себя свойства всех предыдущих, при этом, обладает своими отличительными признаками.
1НФ – имеет первичный ключ, атрибут или совокупность атрибутов, которые уникально характеризуют каждую запись. Каждый кортеж (строка) содержит в себе только одно значение для каждого из атрибутов.
2. Определите назначение методов нормализации данных.
Нормализацию данных можно представить, как метод анализ отношений на основе обнаружения первичного ключа и его функциональных и транзитивных зависимостей. Избавление от частичных функциональных и транзитивных зависимостей происходит за счет декомпозиции отношений.
3. Назовите типы аномалий, которые могут возникать в отношениях с избыточными данными. Приведите примеры, используя Вариант Задания.
Аномалии вставки. В реляционную таблицу нельзя добавить, например, преподавателя, если он не зафиксирован еще ни на одной кафедре.
Аномалии удаления. При удалении из реляционной таблицы, например, кафедры, удалится информация о всех преподавателях этой кафедры.
Аномалии модификации. При изменении, например, номера зала, информация о том, в каком зале хранится определенное наименование издания - пропадет.
4. Дайте определение функциональной зависимости. Перечислите функциональные зависимости в Варианте Задания.
Функциональная зависимость описывает связь между атрибутами отношения: если в отношении R, содержащем атрибуты А и В, атрибут В функционально зависит от атрибута А, то каждое отдельное значение атрибута А связано только с одним значением атрибута В.
В Варианте Задания можно выделить следующие зависимости:
Вид издания функционально зависит от Наименования издания. (Вид издания – Наименование издания)
Номер зала функционально зависит от Наименования издания. (Номер зала – Наименование издания)
Номер кафедры функционально зависит от Ф.И.О. преподавателя. (Номер кафедры - Ф.И.О. преподавателя)
5. Сформулируйте понятие полной функциональной зависимости и покажите, как оно связано с 2нф. Приведите пример, используя Вариант Задания.
Реляционная таблица находится во 2НФ - если она удовлетворяет определению 1НФ и все ее атрибуты, которые не входят в первичный ключ, полностью функционально связаны с ним.
Реляционное отношение в 1НФ:
Преподаватель в библиотеке (Ф.И.О., Кафедра, Название курса, Наименование, Вид издания, Номер зала, Дата выдачи, Количество экземпляров)
Некоторые атрибуты в этом отношении функционально зависят от части первичного ключа, а именно: атрибуты Номер зала и вид издания зависят от значения атрибута Наименование издания, а атрибут кафедра зависит от значения атрибута Ф.И.О. преподавателя.
Таким образом, из исходного отношения необходимо выделить 3 проекции – отношение «Преподаватель» с первичным ключом Ф.И.О., отношение «Издания» с первичным ключом Наименование и отношение «Место хранения» с первичным ключом Наименование.
Получим новые отношения:
Преподаватель (Ф.И.О, кафедра)
Издание (Наименование, Вид издания)
Место хранения (Наименование, Номер зала)
6. Сформулируйте понятие транзитивной зависимости и покажите, как оно связано с 3НФ.
Реляционная таблица находится в 3НФ – если она удовлетворяет определению 2НФ и ни один из ее не ключевых атрибутов не связан функциональной зависимостью с любым другим не ключевым атрибутом.
В данном варианте задания нет транзитивной зависимости.
7. Сформулируйте для Варианта Задания запрос с использованием предложения HAVING.
Сформировать количественное распределение наименований изданий
по курсам:
SELECT Sum(Преподаватель_В_Библиотеке.Количество_Экз) AS [Sum-Количество_Экз], Преподаватель_В_Библиотеке.Наименование
FROM Преподаватель_В_Библиотеке
GROUP BY Преподаватель_В_Библиотеке.Наименование, Преподаватель_В_Библиотеке.Названипе_Курса
HAVING (((Преподаватель_В_Библиотеке.Названипе_Курса)="Физика"))
8. Поясните, может ли (каким образом) быть улучшен проект БД, полученный после декомпозиции универсального отношения Варианта Задания.
Проект БД может быть улучшен введением дополнительных полей в отношения. Например, в отношение Место_Хранения можно ввести дополнительные поля Номер_Стеллажа и Номер_ Полки, для более удобной работы библиотекарей.
Проект БД может быть улучшен введением дополнительных отношений. Например, отношение Библиотекарь. Это отношение можно ввести, например, для дальнейшего сбора статистики работы библиотекарей.