- •Южно-сахалинский институт экономики, права и информатики
- •Рекомендуемая литература 55 аннотация
- •Предисловие
- •Раздел 1. Нормализация отношений. Практическая работа №1. Функциональные зависимости.
- •Нормальные формы .
- •Раздел 2. Концептуальное проектирование. Описание предметной области, используемой в качестве учебного примера. Анализ требований пользователя.
- •1.Требования к данным
- •2. Требования к транзакциям.
- •Практическая работа №1. Построение концептуальной модели.
- •1.Определение типов сущностей
- •2. Документирование выделенных типов сущностей.
- •3.Определение типов связей.
- •4. Определение мощности и уровня участия типов связей.
- •5. Документирование типов связей.
- •6. Построение предварительной er-диаграммы.
- •6. Варианты для самостоятельной работы.
- •Практическая работа №2. Определение атрибутов, доменов и ключей в методологии концептуального проектирования.
- •1. Определение атрибутов и связывание их с типами сущностей и связей.
- •2. Документирование выделенных атрибутов
- •3. Определение и документирование Доменов атрибутов .
- •4. Определение атрибутов, являющихся потенциальными и первичными ключами.
- •4. Варианты для самостоятельной работы.
- •Обсуждение локальной концептуальной модели данных с пользователями.
- •Практическая работа №3. Преобразование локальной концептуальной модели данных в логическую модель .
- •Определение набора отношений исходя из структуры локальной логической модели данных.
- •Практическая работа №4. Построение окончательной диаграммы .
- •1. Проверка модели с помощью правил нормализации.
- •2. Определение бизнес-правил.
- •3. Проверка модели в отношении транзакций пользователей.
- •4. Ссылочная целостность
- •5. Варианты для самостоятельной работы.
- •Практическая работа №4. Разработка физического проекта бд.
- •Алгоритм преобразования er-модели в реляционную модель данных.
- •Рекомендуемая литература
Раздел 1. Нормализация отношений. Практическая работа №1. Функциональные зависимости.
Основная цель проектирования реляционной БД заключается в группировании атрибутов в отношения так, чтобы минимизировать избыточность данных и таким образом сократить объем памяти, необходимый для физического хранения отношений, представленных в виде таблиц. При работе с отношениями, содержащими избыточные данные, могут возникать проблемы, которые называются аномалиями обновления.
Прежде всего необходимо познакомиться с понятием ФЗ.
Функциональная Зависимость (ФЗ) описывает связь между атрибутами отношения. Если в отношении атрибут В функционально зависит от атрибута А, то каждое значение атрибута А связано только с одним значением атрибута В.
ФЗ позволяют накладывать дополнительные ограничения на реляционную схему. Формально можно определить следующим образом: если А и В – атрибуты в таблице R, то запись
ФЗ: А -> В
Обозначает, что если два кортежа в таблице R имеют одно и то же значение атрибута А, то они имеют одно и то же значение атрибута В.
Атрибут в левой части ФЗ называется детерминантом, так как его значение определяет значение атрибута в правой части. Ключ таблицы является детерминантом, так как его значение однозначно определяет значение каждого атрибута таблицы.
ЗАДАЧА 1
Рассмотрите следующую реляционную таблицу. Заглавные буквы обозначают имена атрибутов, строчные буквы и цифры – значения атрибутов.
Отношение Х
-
А
В
С
Д
Е
а1
в2
с1
д3
е2
а3
в2
с3
д2
е4
а1
в3
с1
д1
е2
а2
в4
с1
д4
е2
Обведите в кружок те функциональные зависимости, которые кажутся Вам выполненными для X.
а) А С b) Д Е с) С А d) Е В
e) Е А f) С В g) В Д h) В А
Определите возможный ключ отношения Х.
Решение (вариант е):
Значением атрибута Е в первом, третьем и четвертом кортежах является е2. Соответствующие им значения атрибута А –а1, а1, а2. Следовательно, атрибут А функционально не зависит от атрибута Е. Ключом является атрибут, который однозначно определяет любой кортеж в таблице. В примере в качестве ключа может быть только атрибут Д.
ЗАДАЧА 2
Рассмотрите следующую реляционную таблицу. Заглавные буквы обозначают имена атрибутов, строчные буквы и цифры – значения атрибутов.
Отношение Y
-
А
В
С
Д
Е
а1
в2
с1
д3
е2
а2
в2
с3
д3
е4
а1
в3
с2
д1
е2
а2
в4
с5
д4
е5
Обведите в кружок те функциональные зависимости, которые не выполнены для Y.
а) А С b) Д Е с) С А d) Е В
e) Е А f) С В g) В Д h) В А
Определите возможный ключ отношения Y.
ЗАДАЧА 3
Рассмотрите следующую реляционную таблицу. Заглавные буквы обозначают имена атрибутов, строчные буквы и цифры – значения атрибутов.
Отношение Z
-
А
В
С
Д
Е
а1
в2
с2
д3
е2
а1
в2
с2
д1
е4
а2
в3
с2
д1
е2
а2
в4
с5
д1
е5
Обведите в кружок те функциональные зависимости, которые не выполнены для Z.
а) Е Д b) Д Е с) С А d) Е В
e) Е А f) В С g) В Д h) В А
Определите возможный ключ отношения Z.