Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Студенческое общежитие.doc
Скачиваний:
297
Добавлен:
01.05.2014
Размер:
2.12 Mб
Скачать

3.4 Логическое проектирование

Логическое проектирование баз данных – это процесс конструирования общей информационной модели предприятия на основе отдельных моделей данных пользователей, которая является независимой от особенностей реально используемой СУБД и других физических условий. Построение логической модели данных осуществляется на основе концептуальной модели данных, отражающей представление отдельного пользователя о предметной области приложения, и включает в себя проверку полученной модели с помощью методов нормализации. Доработка концептуальной модели проводится с целью удаления из них всех элементов, затрудняющих реализацию данной модели в среде реляционных СУБД. В результате выполнения этих действий структура концептуальной модели данных будет изменена таким образом, чтобы полностью отвечать требованиям, выдвигаемым реляционной моделью организации баз данных.

На данном этапе выполняются следующие действия:

  1. Замена всех связей на бинарные связи типа 1:n.

  2. Анализ связей со степенью 1:1 и в случае, если их необходимость не найдет подтверждения, объединить соответствующие сущности в одну.

  3. Анализ всех сущностей, чтобы исключить синонимы.

  4. Анализ связей типа “суперкласс/подкласс”.

  5. Анализ всех атрибутов в проекте; все неключевые атрибуты должны присутствовать не более чем в одной сущности.

  6. Отслеживание уникальности связей.

Пример замены множественной связи, путём введения слабой сущности:

В концептуальной модели присутствует множественная связь:

исключаем множественную связь путём введения новой сущности «Мебель в комнате»:

Аналогично заменяются все связи m:n на связи1:n.

3.5 Генерация отношений

Следующим этапом проектирования модели базы данных является генерирование отношений, которое производится на основании построенной логической модели (см. Приложение 2).

Выделим, исходя из полученных сущностей, следующие отношения:

R1 (Комната) = {Номер комнаты, Номер общежития, Дата ревизии, Жилая площадь, Количество койко-мест}

R2 (Общежитие) = {Номер общежития, Адрес общежития, Количество жилых комнат}

R3 (Студент) = {Код студента, № комнаты, № общежития, ФИО, Пол, Группа, Домашний адрес, Текущий статус обучения, Форма обучения, Статус проживания}

R4 (Документы) = {Код документа, Название документа}

R5 (Твердый инвентарь) = {Инвентарный номер мебели, Наименование единицы мебели, Дата покупки}

R6 (Мягкий инвентарь) = {Инвентарный номер белья, Наименование единицы белья}

R7 (Мягкий инвентарь студента) = {Инвентарный номер белья, Код студента, Дата выдачи}

R8 (Мебель в комнате) = {Инвентарный номер мебели, Номер комнаты, Номер общежития, Дата установки}

R9 (Перечень документов) = {Код документа, Код студента}

R10 (Ревизия) = {Дата ревизии, ФИО ревизора}

3.6 Нормализация отношений

Нормальная форма Бойса-Кодда (НФБК) учитывает функциональные зависимости, в которых участвуют все потенциальные ключи отношения, а не только его первичные ключ.

Отношение находится в НФБК, если оно находится в первой нормальной форме (1НФ) и каждый детерминант является возможным ключом или ключом является вся схема отношения.

Необходимо отметить, что отношение находится в 1НФ, если значения его атрибутов атомарны, т.е. не являются списком или выражением. В данном случае все сгенерированные отношения находятся в 1НФ.

Декомпозиция до НФБК осуществляется на минимальном покрытии.

Минимальное покрытие – это неизбыточное покрытие, содержащее наименьшее количество функциональных зависимостей (ФЗ). В свою очередь, неизбыточное покрытие – это множество ФЗ, не содержащее избыточных ФЗ.

В исходном отношении выявляются множества возможных ключей и детерминантов.

Детерминантом называется левая часть полной ФЗ. Функциональная зависимость называется полной, если ни одно собственное подмножество левой части не определяет правую.

Если выделенные множества ключей и детерминантов не эквивалентны, то в отдельное отношение выделяется крайняя ФЗ; если после этого множества ключей и детерминантов оказываются эквивалентными, то декомпозиция завершается, иначе декомпозиция продолжается.

R1 (Комната) = {Номер комнаты, Номер общежития, Дата ревизии, Жилая площадь, Количество койко-мест}

Fmin = {Номер комнаты, Номер общежитияДата ревизии,Жилая площадь, Количество койко-мест}

Отношение находится в НФБК, т.к. множества ключей и детерминантов эквивалентны.

R2 (Общежитие) = {Номер общежития, Адрес общежития, Количество жилых комнат}

Fmin = {Номер общежития Адрес общежития, Количество жилых комнат}

Отношение находится в НФБК, т.к. множества ключей и детерминантов эквивалентны.

R3 (Студент) = {Код студента, № комнаты, № общежития, ФИО, Пол, Группа, Домашний адрес, Текущий статус обучения, Форма обучения, Статус проживания}

Fmin = {Код студента№ комнаты, № общежития, ФИО, Пол, Группа, Домашний адрес, Текущий статус обучения, Форма обучения, Статус проживания}

Отношение находится в НФБК, т.к. множества ключей и детерминантов эквивалентны.

R4 (Документы) = {Код документа, Название документа}

Fmin = {Код документа Название документа}

Отношение находится в НФБК, т.к. множества ключей и детерминантов эквивалентны.

R5 (Твердый инвентарь) = {Инвентарный номер мебели, Наименование единицы мебели, Дата покупки}

Fmin = {Инвентарный номер мебелиНаименование единицы мебели, Дата покупки}

Отношение находится в НФБК, т.к. множества ключей и детерминантов эквивалентны.

R6 (Мягкий инвентарь) = {Инвентарный номер белья, Наименование единицы белья}

Fmin = {Инвентарный номер белья Наименование единицы белья}

Отношение находится в НФБК, т.к. множества ключей и детерминантов эквивалентны.

R7 (Мягкий инвентарь студента) = {Инвентарный номер белья, Код студента, Дата выдачи}

Fmin = {Инвентарный номер белья, Код студента Дата выдачи}

Отношение находится в НФБК, т.к. множества ключей и детерминантов эквивалентны.

R8 (Мебель в комнате) = {Инвентарный номер мебели, Номер комнаты, Номер общежития, Дата установки}

Fmin = {Инвентарный номер мебели, Номер комнаты, Номер общежитияДата установки}

Отношение находится в НФБК, т.к. множества ключей и детерминантов эквивалентны.

R9 (Перечень документов) = {Код документа, Код студента}

Отношение находится в НФБК, т.к. ключом является вся схема отношения

R10 (Ревизия) = {Дата ревизии, ФИО ревизора}

Fmin = {Дата ревизии ФИО ревизора}

Таким образом, в результате проверки отношений получаем, что все отношение находится в НФБК.

Соседние файлы в предмете Базы данных