Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Проектирование систем баз данных
1) Строят концептуальную модель предметной области, максимально отражающую её. 2) Строят схему БД. 3) Должна быть обеспечена возможность хранения всех необходимых данных в БД, исключая избыточность дублирования. 4) Необходимо свести к минимуму число хранимых отношений. Для этого нормализуют отношения для предотвращения аномалий при вставке, удалении, обновлении. Устранение избыточности. Пусть имеется некоторое отношение:
В отношении имеется избыточное дублирование значения атрибута “Рабочий тел” у Котлова. Пусть преподаватель консультирует студентов, которые проживают в общежитии. Консультант:
В представленном отношении нет атомарности атрибутов. Аномалия вставки. Предположим, что появился студент, который не закончил обучаться по какому-то предмету, то есть у него отсутствует оценка. Аномалия обновления. Если у Петрова изменился номер комнаты, то нужно изменять четыре кортежа. Аномалия удаления. Преподаватель узнаёт, что Алексеев закончил изучение немецкого языка и удаляет его из списка, пропадает информация о комнате и телефоне или оставить Алексеева в списке, но без предмета, что очень неудобно. Выполним нормализацию, которая основана на понятии функциональной зависимости между атрибутами. Определим, что такое функциональная зависимость. Пусть а и b атрибуты БД. Если каждому значению атрибута а, в любой момент времени, соответствует одно и тоже значение атрибута b, то говорят, что атрибут b зависит от а, то есть а . Под атрибутом а можно понимать не только один атрибут, но и целую группу атрибутов. Отношение находится в первой нормальной форме, если все его атрибуты являются простыми. На первом этапе выписываются все функциональные зависимости для этого отношения: Номер Имя Номер Комната Номер Телефон Телефон Комната Комната Телефон Номер, Предмет, Семестр Оценка Отношение находится во второй нормальной форме, если оно находится в 1НФ, и каждый не ключевой атрибут функционально полно зависит от первичного ключа. Если первичным ключом является отношение, то оно находится во второй нормальной форме. (Номер, Имя, Должность, Оклад, Кафедра, Предмет, Часы, Сл. Телефон) Первичный ключ может быть составным: (Номер, Предмет, Имя, Должность, Оклад, Кафедра, Часы, Сл. Телефон) Отношение находится в третьей нормальной форме, если оно находится во 2НФ, и каждый не ключевой атрибут не транзитивно зависит от первичного ключа. Номер Должность Оклад – транзитивная зависимость. Выполним декомпозицию. Преподаватель_предмет (Номер, Предмет, Часы) Преподаватель (Номер, Имя, Должность, Кафедра) Кафедра (Кафедра, Сл. Телефон) Должность (Должность, Оклад) Все четыре отношения в третьей нормальной форме. Существуют более сильные требования. В ряде ситуаций 3-я нормальная форма не помогает, тогда применяют третью нормальную форму Бойса-Кодда. Определения: Атрибут или набор атрибутов, которые будут использоваться в качестве первичного ключа, называются возможным ключом. Пусть имеет место функциональная зависимость A , причём, В зависит функционально полно от A, тогда атрибут A называют детерминантом В. Пример. Отношение “Консультант”. Возможный ключ: Детерминанты: Имя, Комната, Тел, Оценка. Отношение находится в нормальной форме Бойса-Кодда, если любой его детерминант является возможным ключом. Сведение к НФБК устраняет большинство аномалий при проектировании БД. Существует методика на основе функциональных зависимостей между атрибутами. Как и в случае любой нормализации выполняется декомпозиция: 1. Разрабатывается отношение в 1 НФ. 2. Определяются и выписываются все функциональные зависимости. 3. Для каждого из отношений выписываются возможные ключи и детерминанты и определяют, находятся ли они в НФБК, если нет, выполняют декомпозицию на два отношения. 4. Для полученных отношений повторяют шаги 2 и 3. Пусть имеется отношение R(А, В, С, D, E, . . .). Пусть имеет место функциональная зависимость То есть функциональная зависимость выделяется в отдельное отношение. Такая декомпозиция происходит без потерь при естественном соединении. Пример. Пусть существуют Появились два лишних кортежа. Декомпозиция отношения консультант: Номер, Предмет, Семестр Оценка Номер Имя Номер Комната Номер Телефон Телефон Комната Комната Телефон Консультант (Номер, Имя, Комната, Тел, Предмет, Семестр, Оценка) В данном отношении имеются транзитивные цепочки A . Поэтому руководствуются правилом крайнего (Если в функциональной зависимости имеется транзитивная зависимость, то декомпозицию выполняют по крайней с правой зависимости). Применим это к отношению “Консультант”. R1 (Номер, Предмет, Семестр, Имя, Комната, Оценка) R2 (Комната, Телефон) R3 (Номер, Предмет, Семестр, Оценка) R4 (Номер, Имя, Комната).
Таким образом, окончательно получаем: R2 (Комната, Телефон) R3 (Номер, Предмет, Семестр, Оценка) R4 (Номер, Имя, Комната).
R2: R4:
R3:
Существенно сократилось число кортежей.
Дата добавления: 2014-08-04; просмотров: 361; Нарушение авторских прав Мы поможем в написании ваших работ! |