ТРПО_05_Зинов_Шакиров_МО-317
.docxМинистерство науки и высшего образования РФ
Федеральное государственное бюджетное образовательное
учреждение высшего образования
«Уфимский государственный авиационный технический университет»
Факультет информатики и робототехники
Кафедра вычислительной математики и кибернетики
Отчет по лабораторной работе №5
Построение моделей предметной области
по дисциплине
«Технология разработки программного обеспечения»
Выполнили:
студенты группы МО-317
Шакиров А.Р.
Зинов В.И.
Проверил:
старший преподаватель
Тугузбаев Гаяз Ахтямович
Уфа 2020
Оглавление
Методология IDEF1X 3
Построение логической информационной модели в нотации IDEF1X 6
Вывод 11
На основе собранных данных строится логическая модель заданной предметной области.
Цель:
Изучение методики построения логической модели предметной области. Овладение навыками работы в Erwin Data Modeler.
Задачи:
Создать средствами редактора ERwin Data Modeler информационную модель получения расписания нотации IDEF1X.
Методология IDEF1X
Erwin Data Modeler имеет два уровня моделирования: логический и физический. На логическом уровне данные представляются так, как они выглядят в реальном мире. Объектами логического уровня являются сущности и атрибуты.
На физическом уровне модель зависит от конкретной реализации базы данных, выбираемой пользователем. При переходе модели на физический уровень производится трансформация сущностей в таблицы, а атрибутов в поля, поэтому все имена и описания физической модели должны соответствовать принятым для выбранной СУБД соглашениям.
Альтернативный ключ (Alternate Key) – потенциальный ключ, не ставший первичным. Erwin позволяет выделять атрибуты потенциальных ключей и при генерации схемы БД генерировать по этим группам отдельные уникальные индексы.
Инверсный вход (Inversion Entry) – атрибут или группа атрибутов, которые не определяют экземпляр сущности уникальным образом, но часто используются для обращения к экземплярам сущности. Erwin генерирует неуникальный индекс для каждого инверсного входа.
Связь является логическим соотношением между сущностями. Связь имеет имя, мощность, тип. Имя связи (Verb Phrase) – фраза, характеризующая отношение между родительской и дочерней сущностями. Для связи один-ко-многим достаточно указать имя, характеризующее отношение от родительской к дочерней сущности (Parent-to-Child). Для связи многие-ко-многим следует указывать имена как Parent-to-Child, так и Child-to-Parent.
Мощность связи (Cardinality) – служит для обозначения отношения числа экземпляров родительской сущности к числу экземпляров дочерней.
Различают четыре типа мощности:
общий случай, когда одному экземпляру родительской сущности соответствуют 0, 1 или много экземпляров дочерней сущности (не помечается каким-либо символом);
символом P помечается случай, когда одному P экземпляру родительской сущности соответствуют 1 или много экземпляров дочерней сущности (исключено нулевое значение);
символом Z помечается случай, когда одному Z экземпляру родительской сущности соответствуют 0 или 1 экземпляр дочерней сущности (исключены множественные значения);
цифрой помечается случай, когда одному экземпляру N родительской сущности соответствует заранее заданное число экземпляров дочерней сущности. Различают два типа связей: идентифицирующая и не идентифицирующая.
Идентифицирующая связь устанавливается между независимой (родительский конец связи) и зависимой (дочерний конец связи) сущностями. Когда рисуется идентифицирующая связь, ERwin Data Modeler автоматически преобразует дочернюю сущность в зависимую.
Зависимая сущность изображается прямоугольником со скругленными углами. Экземпляр зависимой сущности определяется только через отношение к родительской сущности. При установлении идентифицирующей связи атрибуты первичного ключа родительской сущности автоматически переносятся в состав первичного ключа дочерней сущности.
В дочерней сущности новые атрибуты помечаются как внешние ключи – (FK). При установлении не идентифицирующей связи дочерняя сущность остается независимой, а атрибуты первичного ключа родительской сущности мигрируют в состав не ключевых компонентов дочерней.
Не идентифицирующая связь служит для связи независимых сущностей. Идентифицирующая связь показывается на диаграмме сплошной линией с жирной точкой на дочернем конце связи, не идентифицирующая – пунктирной. Для не идентифицирующей связи можно указать обязательность (Nulls). В случае обязательной связи (No Nulls) при генерации схемы БД атрибут внешнего ключа получит признак NOT NULL несмотря на то, что внешний ключ не войдет в состав первичного ключа дочерней сущности.
В случае необязательной связи (Nulls Allowed) внешний ключ может принимать значение NULL. Необязательная не идентифицирующая связь помечается прозрачным ромбом со стороны родительской сущности. Атрибуты первичного ключа родительской сущности по умолчанию мигрируют со своими именами.
ERwin позволяет ввести для них роли или функциональные имена (Rolename), т. е. новые имена, под которыми мигрирующие атрибуты будут представлены в дочерней сущности.
Построение логической информационной модели в нотации IDEF1X
Рассмотрим логическую модель «Получение расписания» на уровне сущностей (рис. 1).
Рисунок 1. Логическая модель «Получение расписания» на уровне сущностей
В данной модели сущность «Преподаватель» соединена не идентифицирующей связью «Проводит» с сущностью «Занятие». Сущность «Группа» соединена не идентифицирующей связью «Приходит на» с сущностью «Занятие». Также с сущностью «Занятие» соединены не идентифицирующей связью сущности «Аудитория», «Предмет», «Тип_Занятия». Сущность «Кафедра» соединена не идентифицирующей связью с сущностью «Преподаватель».
Физическая модель «Получение расписания» на уровне сущностей выглядит следующим образом (рис. 2).
Рисунок 2. Физическая модель «Получение расписания» на уровне сущностей
В данной модели сущности «Преподаватель», «Аудитория», «Предмет», «Тип_Занятия» и «Группа» соединены с сущностью «Занятие». Связь не идентифицирующая, одному экземпляру сущности каждой из вышеописанных сущностей соответствует 0, 1 или более экземпляров сущности «Занятие». Сущность «Кафедра» соединена с сущностью «Преподаватель». Связь не идентифицирующая, одному экземпляру сущности «Кафедра» соответствует 0, 1 или более экземпляров сущности «Преподаватель».
Логическая модель «Получение расписания» на уровне атрибутов выглядит следующим образом (рис 3).
Рисунок 3. Логическая модель «Получение расписания» на уровне атрибутов
На уровне атрибутов сущности изображаются в виде прямоугольников со списком атрибутов, имя сущности пишется над прямоугольником. Прямоугольник сущности делится на две части. В верхней части приводятся атрибуты первичного ключа, а в нижней – все остальные. К атрибутам, являющимися внешними ключами, приписывается справа «(FK)».
Физическая модель «Получение расписания» на уровне атрибутов выглядит следующим образом (рис 4).
Рисунок 4. Физическая модель «Получение расписания» на уровне атрибутов
В физической модели на уровне атрибутов в прямоугольниках отображены не только атрибуты и ключи, но и их типы данных.
Вывод
В ходе лабораторной работы изучили методики построения логической модели предметной области. Овладели навыками работы в Erwin Data Modeler.