Similar presentations:
ERM (Entity-Relation Model) Анализ и проектирование структур данных с использованием CASEсредств
1.
ERM (Entity-Relation Model)Анализ и проектирование структур
данных с использованием CASEсредств
2.
Стандарт IDEF1x. Общие сведенияРазработан в 1983 году в рамках проекта военного
ведомства США "Интегрированные системы
информационной поддержки" (ICAM).
Как методология семантического моделирования
данных.
Cтал расширением методологии IDEF1.
3.
IDEF1x. Базовые определенияЛогическая модель.
Физическая модель.
Сущность (Entity).
Атрибут (Attribute).
Связь (Realtionship).
Ключ.
4.
СвязиСвязь
Сущность
Сущность
Правила именования связей (Verb Phrase)
Выражает некоторое бизнес-правило, либо ограничение, например –
МЕНЕДЖЕР оформляет ДОГОВОР,
ПРЕДМЕТ изучается СТУДЕНТОМ.
Связи подписываются над линией и обозначаются, например,
1..N (читается «один-ко-многим»),
N..N (читается «многие-ко-многим»).
Имя связи указывают в направлении от родительской к дочерней сущности.
Для отношения «многие-ко-многим» используют имена в обоих направлениях.
Мощность связи (Cardinality)
Служит для обозначения отношения числа экземпляров родительской
сущности к числу экземпляров дочерней.
1..0 или более. Символ не предусмотрен.
1..1 или более. Символ «P».
1..0 или 1. Символ «Z».
1..const. Обозначается соответствующим числом.
5.
СвязиИдентифицирующая связь.
Связь между зависимой (дочерняя сторона связи) и независимой (родительская
сторона связи) сущностями.
Сотрудник
Ребёнок
имеется
Неидентифицирующая связь.
Необязательная
Отдел
работает
Сотрудник
Обязательная
Отдел
работает
Сотрудник
6.
КлючиВиды ключей.
Потенциальным ключом - атрибут или группа атрибутов, однозначно
идентифицирующих экземпляр сущности.
В общем случае у сущности может быть несколько потенциальных ключей,
хотя для целей однозначной идентификации достаточно одного.
Сложный ключ (составной) – ключ, содержащий более одного атрибута.
Первичный ключ - один из потенциальных ключей.
Альтернативный ключ - потенциальный ключ, не ставший первичным.
Суррогатный ключ - создаётся на основе искусственно созданного атрибута,
не имеющего аналогов в предметной области, это – автоинкрементный
столбец, уникальность значений которого поддерживается СУБД.
7.
КлючиТребования к первичному ключу.
Уникальность
Два экземпляра сущности не должны иметь одинаковых
значений атрибутов, образующих ключ
Компактность
Сложный ключ не должен содержать ни одного
атрибута, удаление которого не привело бы к потере
уникальности.
Простота
При выборе первичного ключа предпочтение отдаётся
более простым ключам, т.е. ключам, содержащим
меньшее количество атрибутов.
Полная определенность
Ни один из атрибутов, образующих ключ, не должен
содержать значение с предопределённым значением
NULL (пустой, неопределённый).
Постоянство во времени
Значения атрибутов ключа не должны изменяться на
протяжении всего времени его существования.
8.
Пример ER диаграммыПроектирование модели данных
на примере Интернет магазина
9.
Фазы жизненного цикла проектированияРазработка
логической
модели данных
Разработка
физической
модели данных
10.
Этапы разработки логической модели данныхРазработка диаграммы
«сущность-связь»
(Entity-Relation diagram,
ER).
Разработка
ER-diagram
Разработка диаграммы,
основанной на ключах
(Key Based model, KB).
Разработка
KB-model
Разработка полноатрибутивной модели
(Fully Attributed model,
FA).
Разработка
FA-model
11.
Этапы разработки физической модели данныхСоздание
трансформацион
ной модели
Разработка
модели СУБД
12.
Разработка диаграммы «сущность-свзяь» (ER)Последовательность разработки
Выделение сущностей предметной области (ПО)
Описание сущностей
Формирование тематических областей данных
Определение ключей и основных атрибутов сущностей
Определение связей
Описание связей
13.
Выделение сущностей предметной области (ПО)Содержит
информацию о
пользователях
Пользователь
Содержит
информацию о
заказах
Заказ
Содержит
информацию о
правах
пользователя
Права
Статус заказа
Содержит
информацию о
товарах
Товар
Содержит информацию о
статусах заказа (принят,
передан в обработку,
доставлен и т.д.)
Содержит
информацию о
категориях
товаров
Категория товара
14.
Выделение тематических областей данныхДанные, описывающие
пользователей.
Данные, описывающие
заказы пользователей.
Пользователь
Заказ
Статус заказа
Права
Товар
Категория товара
Данные, описывающие
товары интернет
магазина.
15.
Разработка диаграммы, основанной на ключах (Key Basedmodel, KB).
Первичный ключ (Primary Key)
Пользователь
ID пользователь
Права
ID права
Заказ
ID заказ
Товар
ID товар
Первичный ключ (Primary Key)
Статус заказа
ID статус заказа
Категория товара
ID категория
16.
Разработка полно-атрибутивной модели (Fully Attributedmodel, FA)
Порядок разработки FA Model
Формирование полных наборов атрибутов каждой из сущностей.
Использование доменов
Имя связи в направлении предок – потомок (только для связей типа N..N)
Нормализация
Рекомендации по приведению модели данных к нормальному виду
Для приведения модели к первой нормальной форме удалите
повторяющиеся атрибуты, либо группы атрибутов сущности
Для приведения модели ко второй нормальной форме удалите атрибуты,
зависящие только от части уникального идентификатора
Для приведения модели к третьей нормальной форме удалите атрибуты,
значения которых зависят от атрибутов, не входящих в уникальный
идентификатор.
17.
Разработка полно-атрибутивной модели (Fully Attributedmodel, FA)
Пользователь
Заказ
Статус заказа
ID пользователь
ID заказ
ID статус заказа
ФИО
Логин
Пароль
Телефон
Номер
Дата создания
Статус
Наименование
Основные
атрибуты
сущности
Права
Товар
Категория товара
ID права
ID товар
ID категория
Наименование
Наименование
Описание
Количество
Цена
Наименование
18.
Определение связей между сущностями ПОПорядок определения связей
Классификация связи
Имя связи в направлении потомок – предок
Имя связи в направлении предок – потомок (только для связей типа N..N)
Мощность связи
Определение связи (по аналогии с определением сущности)
19.
Определение связей между сущностями ПОСвязь «один ко многим»
Один пользователь может создать
не ограниченное количество
заказов.
Пользователь
Заказ
ID пользователь
Связь «один к
одному»
Пользователь
имеет права,
закрепленные за
одним
идентификаторо
м права.
создает
имеет
Права
N
ID статус заказа
Номер
Дата создания
Статус
ID пользователь
ID статус заказа
мощность связи
1
Статус заказа
ID заказ
1
ФИО
Логин
Пароль
Телефон
ID права
Связь «один к одному»
Заказ имеет один определенный
статус в определенный период
времени.
1
1
имеет
N
содержит
входит в
Товар N
1
Связь «многие ко многим»
Заказ содержит неограниченное
количество товара. Единица товара может
входить в неограниченное количество
заказов
Категория товара
ID товар
ID права
ID категория
N
Наименование
Миграция атрибутов.
Внешний ключ.
Наименование
Описание
Количество
Цена
ID категория
Наименование
содержит
1
Наименование
Связь «один ко многим»
Категория товара содержит
неограниченное количество товара
20.
Миграция атрибутовПри формировании связи между двумя
сущностями атрибуты ПК родительской сущности
мигрируют (копируются) в дочернюю сущность.
Процесс миграции характерен как для
идентифицирующей, так и к неидентифицирующей
связи, однако его реализация различна.
Атрибуты, мигрировавшие по идентифицирующей
связи, входят в ПК дочерней сущности, а атрибуты,
мигрировавшие по неидентифицирующей связи – нет.
В любом случае, совокупность атрибутов,
появившаяся в дочерней сущности путём миграции,
образует так называемый внешний ключ (FK).
21.
Связь «многие ко многим» в схеме СУБДРассмотрим связь «многие ко многим» в приведенном примере.
Заказ может содержать большое количество товара и каждый товар, в свою очередь,
может входить в несколько заказов.
Для практической реализации данной связи в схеме СУБД необходимо ввести таблицу связи,
где каждому ID заказа будет соответствовать несколько ID товара.
Заказ
Заказ
ID заказ
ID заказ
Номер
Дата создания
Статус
ID пользователь
ID статус заказа
Номер
Дата создания
Статус
ID пользователь
ID статус заказа
Таблица связи или
вспомогательная таблица.
1
Строка заказа
N
содержит
N
входит в
Товар N
ID заказ
ID товар
Товар
ID товар
ID товар
Наименование
Описание
Количество
Цена
ID категория
Наименование
Описание
Количество
Цена
ID категория
N
1
22.
Создание трансформационной моделиСоздаётся CASE-средством автоматически.
Содержит всю информацию, необходимую для генерации
схемы данных в реляционной СУБД, поддерживающей
стандарт SQL.
Инвариантна к конкретной реализации.
23.
Разработка модели СУБДДля перехода к модели СУБД необходимо выбрать в
интерфейсе CASE-средства одну из доступных СУБД.
Переход к физической модели не является необратимым: её
можно будет трансформировать в другую физическую
модель.
Однако при этом все настройки, специфичные для данной
СУБД, будут утеряны.