Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Уровни логической модели



 

Различают три уровня логической модели, отличающихся по глубине представления информации о данных:

1. диаграмма сущность-связь (Entity Relationship Diagram (ERD));

2. модель данных, основанная на ключах (Key Based model (KB));

3. полная атрибутивная модель (Fully Attributed model (FA)).

Диаграмма сущность - связь- представляет собой модель данных верхнего уровня. Онавключает сущности и взаимосвязи, отражающие основныебизнес-правила предметной области. Диаграмма сущность-связь может включать связи многие-ко-многим и не включатьописание ключей.

Модель данных, основанная на ключах- более подробное представление данных. Она включаетописание всех сущностей и первичных ключей ипредназначена для представления структуры данных иключей, которые соответствуют предметной области.

Полная атрибутивная модель– наиболее детальное представление структуры данных:представляет данные в третьей нормальной форме и включаетвсе сущности, атрибуты и связи.

 

Сущность и атрибуты

 

Основные компоненты диаграммы ERwin– это сущности, атрибуты и связи. Каждая сущность является множеством подобных индивидуальных объектов, называемых экземплярами. Каждый экземпляр индивидуален и должен отличаться от всех остальных экземпляров. Атрибут выражает определенное свойство объекта. С точки зрения БД (физическая модель) сущности соответствует таблица, экземпляру сущности – строка в таблице, а атрибуту – колонка таблицы.

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

Фактически имя сущности дается по имени ее экземпляра. Примером может быть сущность Студент (но не Студенты!) с атрибутами Номер Студента, Фамилия Студента. На уровне физической модели ей может соответствовать таблица Student с колонками Student _number,Student _name.

Для внесения сущности в модель необходимо убедиться, что вы находитесь на уровне логической модели, и «кликнуть» по кнопке сущности на панели инструментов (ERwin Toolbox), затем «кликнуть» по тому месту на диаграмме, где необходимо расположить новую сущность. Щелкнув правой кнопкой мыши по сущности и выбрав из всплывающего меню пункт Entity Properties, можно вызвать диалог Entities, в котором определяются имя, описание и комментарии сущности.

Каждая сущность должна быть полностью определена с помощью текстового описания в закладке Definition(рис.6).

Закладки Note, Note 2, Note 3служат для внесения дополнительных комментариев и определений к сущности:

Definition- используется для ввода определения сущности.

Note- можно ввести полезное замечание.

Note 2- можно задокументировать некоторые возможные запросы.

Note 3- позволяет вводить примеры данных для сущности.

Icon- каждой сущности можно поставить в соответствие изображение.

Для определения UDPслужит диалог User-Defined Properties( меню Model/UDP dictionary…)

 


Рис.6 – Описание сущности

 

В нем необходимо указать вид объекта, для которого заводится UDP(диаграмма в целом, сущность, атрибут и т. д.) и тип данных. ERwin поддерживает для UDP шесть типов данных, в том числе:

List– список - при задании списка значения следует разделять запятой, значение по умолчанию выделяется символом «~»;

Command– команда – выполняемая строка.

Значение свойств, определяемых пользователем, задается в закладке UDPдиалога Entity Properties.

 

Рис.7 – Определение UDP

 

Атрибут или группа атрибутов, которые идентифицируют сущность, называется первичным ключом. Для описания атрибутов следует, «кликнув» правой кнопкой по сущности, выбрать впоявившемся меню пункт Attributes. Появляется диалог Attributes(рис.8).

Рис.8 – Окно атрибутов

 

Если щелкнуть по кнопке New…, то в появившемся диалоге New Attributeможно указать имя атрибута, имя соответствующей ему в физической модели колонки и домен. Домен атрибута будет использоваться при определении типа колонки на уровне физической модели. Для атрибутов первичного ключа в закладке Generalдиалога Attributesнеобходимо сделать пометку в окне выбора Primary Key.

Закладка Datatypeпозволяет выбрать тип атрибута.

Закладка Definitionпозволяет записывать определения отдельных атрибутов.

Очень важно дать атрибуту правильное имя. Атрибуты должны именоваться в единственном числе и иметь четкое смысловое значение. Согласно синтаксису IDEF1Xимя атрибута должно быть уникально в рамках модели (а не только в рамках сущности!).

Каждый атрибут должен быть определен (закладка Definition).

Часто приходится создавать производные атрибуты, то есть атрибуты, значение которых можно вычислять из других атрибутов. Примером производного атрибута может служить Возрастстудента, который может быть вычислен из атрибута Дата рождения студента. Производные атрибуты – ошибка нормализации, однако, их вводят для повышения производительности системы.

 

Рис.9 - Ввод атрибутов студента

 

 

Связи

 

Связьявляется логическим соотношением между сущностями. Каждая связь должна именоваться глаголом или глагольной фразой. Имя связи выражает некоторое ограничение или бизнес-правило и облегчает чтение диаграммы.

Связь показывает, какие именно действия делает студент. По умолчанию имя связи на диаграмме не показывается. Для отображения имени следует в контекстном меню, которое появляется, если щелкнуть левой кнопкой мыши по любому месту диаграммы, не занятому объектами модели, выбрать пункт Relationship Displayи затем включить опцию verb Phrase.

На логическом уровне можно установить идентифицирующую связь один-ко-многим, связь многие-ко-многим и неидентифицирующую связь один-ко-многим (соответственно это кнопки слева направо в палитре инструментов).

В IDEF1Xразличают зависимыеи независимые сущности. Тип сущности определяется ее связью с другими сущностями. Идентифицирующаясвязь устанавливается между независимой (родительский конец связи) и зависимой (дочерний конец связи) сущностями. Когда рисуется идентифицирующая связь, ERwinавтоматически преобразует дочернюю сущность в зависимую.

Зависимая сущность изображается прямоугольником со скругленными углами (рис.10).

Экземпляр зависимой сущности определяется только через отношение к родительской сущности.

При установлении идентифицирующей связи атрибуты первичного ключа родительской сущности автоматически переносятся в состав первичного ключа дочерней сущности. Эта операция дополнения атрибутов дочерней сущности при создании связи называется миграцией атрибутов. В дочерней сущности новые атрибуты помечаются как внешний ключ – (FK).

В дальнейшем, при генерации схемы БД, атрибуты первичного ключа получат признак NOT NULL, что означает невозможность внесения записи в таблицу заказов без информации о номере студента.

Рис.10 – Идентифицирующая связь (пример ERD - диаграммы)

 

В дальнейшем, при генерации схемы БД, атрибуты первичного ключа получат признак NOT NULL, что означает невозможность внесения записи в таблицу заказов без информации о номере студента.

При установлении неидентифицирующейсвязи дочерняя сущность остается независимой, а атрибуты первичного ключа родительской сущности мигрируют в состав неключевых компонентов родительской сущности. Неидентифицирующая связь служит для связывания независимых сущностей.

Идентифицирующая связь показывается на диаграмме сплошной линией жирной точкой на дочернем конце связи, неидентифицирующая – пунктирной.

Для создания новой связи следует:

1) установить курсор на нужной кнопке в палитре инструментов (идентифицирующая или неидентифицирующая связь) и нажать левую кнопку мыши;

2) щелкнуть сначала по родительской, а затем по дочерней сущности.

Для редактирования свойств связи следует “кликнуть” правой кнопкой мыши по связи и выбрать на контекстном меню пункт Relationship Properties(рис.11).

Рис.11 – Окно задания отношений

 

В закладке Generalпоявившегося диалога можно задать мощность, имя и тип связи.

Мощность связи (Cardinality)– служит для обозначения отношения числа экземпляров родительской сущности к числу экземпляров дочерней.

Различают четыре типа мощности:

Общий случай, когда одному экземпляру родительской сущности соответствуют 0, 1 или много экземпляров дочерней сущности, не помечается каким-либо символом («Ноль, один или много»);

Символом P помечается случай, когда одному экземпляру родительской сущности соответствуют 1 или много экземпляров дочерней сущности (исключено нулевое значение) («Один или много»);

Символом Z помечается случай, когда одному экземпляру родительской сущности соответствуют 0 или 1 экземпляр дочерней сущности (исключены множественные значения) («Ноль или один»);

Цифрой помечается случай точного соответствия, когда одному экземпляру родительской сущности соответствует заранее заданное число экземпляров дочерней сущности («Точно указанное количество»).

По умолчанию символ, обозначающий мощность связи, не показывается на диаграмме. Для отображения имени следует в контекстном меню, которое появляется, если щелкнуть левой кнопкой мыши по любому месту диаграммы, не занятому объектами модели, выбрать пункт Relationship Displayи затем включить опцию Cardinality.

Имя связи (Verb Phrase)– фраза, характеризующая отношение между родительской и дочерней сущностями.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.