- •Содержание
- •Введение
- •Описание case-средств и нотаций
- •2.1 Нотация диаграммы “сущность-связь”
- •2.2 Объекты нотации idef1x
- •2.3 Описание Case-средстваERwin
- •Построение моделей
- •3.1 Концептуальное проектирование
- •3.2 Анализ сущностей
- •3.3 Анализ атрибутов1
- •3.4 Логическое проектирование
- •3.5 Генерация отношений
- •3.6 Нормализация отношений
- •Формирование запросов
- •Заключение
- •Список литературы
- •Приложение 1
- •Приложение 2
3.4 Логическое проектирование
Логическое проектирование баз данных – это процесс конструирования общей информационной модели предприятия на основе отдельных моделей данных пользователей, которая является независимой от особенностей реально используемой СУБД и других физических условий. Построение логической модели данных осуществляется на основе концептуальной модели данных, отражающей представление отдельного пользователя о предметной области приложения, и включает в себя проверку полученной модели с помощью методов нормализации. Доработка концептуальной модели проводится с целью удаления из них всех элементов, затрудняющих реализацию данной модели в среде реляционных СУБД. В результате выполнения этих действий структура концептуальной модели данных будет изменена таким образом, чтобы полностью отвечать требованиям, выдвигаемым реляционной моделью организации баз данных.
На данном этапе выполняются следующие действия:
Замена всех связей на бинарные связи типа 1:n.
Анализ связей со степенью 1:1 и в случае, если их необходимость не найдет подтверждения, объединить соответствующие сущности в одну.
Анализ всех сущностей, чтобы исключить синонимы.
Анализ связей типа “суперкласс/подкласс”.
Анализ всех атрибутов в проекте; все неключевые атрибуты должны присутствовать не более чем в одной сущности.
Отслеживание уникальности связей.
Пример замены множественной связи, путём введения слабой сущности:
В концептуальной модели присутствует множественная связь:
исключаем множественную связь путём введения новой сущности «Мебель в комнате»:
Аналогично заменяются все связи 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 = {Дата ревизии ФИО ревизора}
Таким образом, в результате проверки отношений получаем, что все отношение находится в НФБК.