Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


РАЗРАБОТКА МОДЕЛИ ПРЕДМЕТНОЙ ОБЛАСТИ ТИПА «СУЩНОСТЬ-СВЯЗЬ»



В реальном проектировании структуры базы данных применяется так называемое, семантическое моделирование. Семантическое моделирование представляет собой моделирование структуры данных, опираясь на смысл этих данных. В качестве инструмента семантического моделирования используются различные варианты диаграмм сущность-связь (ER - Entity-Relationship), которые могут быть относительно легко отображены в любую систему баз данных.

Первый вариант модели сущность-связь был предложен в 1976 г. Питером Пин-Шэн Ченом. В дальнейшем многими авторами были разработаны свои варианты подобных моделей (нотация Мартина, нотация IDEF1X, нотация Баркера и др.). Кроме того, различные CASE-средства используют несколько отличающиеся друг от друга нотации ERD. Одна из наиболее распространенных нотаций предложена Баркером и используется в Oracle Designer. В CASE-средстве SilverRun используется один из вариантов нотации Чена. CASE-средства ERwin, ER / Studio, Design / IDEF используют методологию IDEF1Х. По сути, все варианты диаграмм сущность-связь исходят из одной идеи – рисунок всегда нагляднее текстового описания. Все такие диаграммы используют графическое изображение сущностей предметной области, их свойств (атрибутов), и взаимосвязей между сущностями.

Модель типа «сущность-связь» – это неформальная модель предметной области, которая используется на этапе инфологического проектирования БД.

Основное назначение неформальной модели «сущность-связь» – семантическое описание ПрО и представление информации для обоснования выбора видов моделей и структуры данных.

При построении модели используется три основных конструктивных элемента для представления составляющих ПрО:

v Сущность

v Атрибут

v Связь

Информация о проекте объединяется с помощью графических диаграмм.

Сущность – это собирательное понятие, некоторая абстракция реально существующего объекта, процесса или явления, о котором необходимо хранить информацию в системе.

Тип сущности определяет набор однородных элементов.

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

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

Экземпляр сущности – конкретный объект в наборе.

Каждый тип сущности должен быть поименован. Имя сущности это, как правило, уникальное наименование, выраженное существительным в единственном числе. Примерами сущностей могут быть такие классы объектов как " Поставщик", " Сотрудник", " Накладная".

Для идентификации конкретных экземпляров сущностей в некотором типе используются специальные атрибуты – идентификаторы.

Атрибут – это поименованная характеристика сущности, которая принимает значения некоторого множества значений.

Эта характеристика является значимой для рассматриваемой предметной области.

В модели атрибут выступает в качестве средства, с помощью которого моделируются свойства сущностей.

Различают:

1. Идентифицирующие и описательные атрибуты. Идентифицирующие атрибуты имеют уникальное значение для сущностей данного типа и являются потенциальными ключами. Они позволяют однозначно распознавать экземпляры сущности. Из потенциальных ключей выбирается один первичный ключ. В качестве первичного ключа обычно выбирается потенциальный ключ, по которому чаще происходит обращение к экземплярам сущности. Кроме того, потенциальный ключ  должен включать в свой состав минимально необходимое для идентификации количество атрибутов. Остальные атрибуты называются описательными и заключают в себе интересующие свойства сущности.

Таким образом:

Атрибут или набор атрибутов, которые могут быть использованы для однозначной идентификации экземпляра сущности называются первичным ключом (Primary Key).

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

Альтернативный ключ (Alternate Key) – потенциальный ключ, не ставший первичным. Его еще называют возможным ключом.

Внешние ключи (Foreign Key) создаются, когда сущности соединяются связью при построении физических ER-диаграмм. Происходит миграция атрибутов первичного ключа родительской сущности в дочернюю сущность. Появившийся таким образом в дочерней сущности атрибут будет являться внешним ключом. (Из родительской сущности атрибут не исчезает, а просто копируется в дочерней сущности).

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

3. Однозначные и многозначные атрибуты. Могут иметь соответственно одно или много значений для каждого экземпляра сущности.

4. Основные и производные атрибуты. Значение основного атрибута не зависит от других атрибутов. Значение производного атрибута вычисляется на основе значений других атрибутов (например, возраст студента вычисляется на основе даты его рождения и текущей даты).

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

Атрибут может быть либо обязательным, либо необязательным. Обязательность означает, что атрибут не может принимать неопределенных значений (Null).

Пример:

Сущность КНИГА

Атрибуты НАЗВАНИЕ, ФАМИЛИЯ_АВТОРА,

                 ГОД_ИЗДАНИЯ

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

Тип связи рассматривается между типами сущностей.

Существуют следующие виды бинарных связей:

· бинарные

· терные

· n-арные.

Классификация бинарных связей.

Отображение 1: 1 (Связь один к одному)

С помощью отображения 1: 1 определяют такой тип связи между типами сущностей А и В, когда каждому экземпляру сущности А соответствует один и только один экземпляр сущности В и наоборот.

Т.е. А однозначно идентифицирует В и, наоборот, В однозначно идентифицирует А.

 

 

 

                   

Рисунок 17 – Бинарная связь 1: 1

 

Отображение 1: М ( Связь один ко многим)

С помощью отображения 1: М определяют такой тип связи между типами сущностей А и В, когда одному экземпляру сущности А соответствует несколько или ни одного экземпляра сущности В, а каждому экземпляру сущности В соответствует только один экземпляр А.

Связь можно охарактеризовать как «имеет в составе».

 

  

 

Рисунок 18 – Бинарная связь 1: М

 

Отображение М: 1    (Связь многие к одному)

Связь обратная 1: М.

 Характеризуется как «входит в состав»

 

Рисунок 19 – Бинарная связь М: 1

 

Отображение М: М ( Связь многие ко многим )

 С помощью отображения М: М определяют такой тип связи между типами сущностей А и В, когда каждому экземпляру сущности А соответствует несколько или ни одного экземпляра сущности В и наоборот.

     

 

Рисунок 20 – Бинарная связь М: М

 

Связь может иметь одну из двух модальностей связи:

· Может

· Должен.

Модальность " может " означает, что экземпляр одной сущности может быть связан с одним или несколькими экземплярами другой сущности, а может быть и не связан ни с одним экземпляром.

Модальность " должен" означает, что экземпляр одной сущности обязан быть связан не менее чем с одним экземпляром другой сущности.

Связь может иметь разную модальность с разных концов.

Через модальность связи определяется класс принадлежности сущности.

Если экземпляры данной сущности должны участвовать в связи, то участие называется обязательным.

Если экземпляры данной сущности могут не участвовать в связи, то участие называется необязательным.

Тип связи в совокупности с модальностью называют еще кардинальностью связи

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

Разработка ERD включает следующие основные этапы:

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

· Идентификация отношений между сущностями и указание типов отношений.

· Разрешение неспецифических отношений (отношений многие-ко-многим).

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

Как и в реляционных схемах баз данных, в ER -диаграммах вводится понятие нормальных форм, причем их смысл очень близко соответствует смыслу реляционных нормальных форм. Приведем только краткие и неформальные определения трех первых нормальных форм.

В первой нормальной форме ER-схемы устраняются повторяющиеся атрибуты или группы атрибутов, т.е. производится выявление неявных сущностей, " замаскированных" под атрибуты.

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

В третьей нормальной форме устраняются атрибуты, зависящие от атрибутов, не входящих в уникальный идентификатор. Эти атрибуты являются основой отдельной сущности.

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

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

· объединение в единое целое фрагментарных представлений о различных свойствах одного и того же объекта;

· введение абстрактных понятий, удобных для решения задач системы, установление их связи с конкретными понятиями, использованными в модели;

· образование классов и подклассов подобных объектов (например, класс " изделие" и подклассы типов изделий, производимых на предприятии).

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

По завершении объединения результаты проектирования являют собой концептуальную инфологическую модель предметной области. Модели локальных представлений – это внешние инфологические модели.

 

Нотация Чена

Элемент диаграммы Обозначает
Независимая сущность
Зависимая сущность
Родительская сущность в иерархической связи
Связь
Идентифицирующая связь
Атрибут
Первичный ключ
Внешний ключ (понятие внешнего ключа вводится в реляционной модели данных)
Многозначный атрибут
Получаемый (наследуемый) атрибут в иерархических связях

Пример:

 

На рисунке приведена диаграмма модели типа «Сущность-Связь»

 

 

Рисунок 21 – Пример диаграммы «Сущность–Связь»

Нотация Мартина

Элемент диаграммы Обозначает
независимая сущность
зависимая сущность
родительская сущность в иерархической связи

 

Список атрибутов приводится внутри прямоугольника, обозначающего сущность. Ключевые атрибуты подчеркиваются. Связи изображаются линиями, соединяющими сущности, вид линии в месте соединения с сущностью определяет кардинальность связи:

 

Обозначение Кардинальность Примечание
нет  
1, 1  
0, 1  
M, N  
0, N Класс принадлежности сущности необязательный
1, N Класс принадлежности сущности обязательный

 

Имя связи указывается на линии ее обозначающей. Пример:

 

Пример ER-диаграммы в нотации Мартина

 

Нотация Баркера

Сущности обозначаются прямоугольниками, внутри которых приводится список атрибутов. Ключевые атрибуты отмечаются символом # (решетка). Связи обозначаются линиями с именами, место соединения связи и сущности определяет кардинальность связи:

 

Обозначение Кардинальность
0, 1
1, 1
0, N
1, N

 

Пример:

 

Для обозначения отношения категоризации вводится элемент " дуга":

Пример ER-диаграммы в нотации Баркера

 

 

Нотация IDEF1X

Обозначения сущностей:

 

Элемент диаграммы Обозначает
независимая сущность
зависимая сущность

 

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

Обозначения связей:

 

Элемент диаграммы Обозначает
идентифицирующая связь
неидентифицирующая связь>

 

Обозначение кардинальности связей:

 

Элемент диаграммы Обозначает
1, 1
0, M
0, 1
1, M
точно N (N - произвольное число)

 

Пример:

 

Отношение полной категоризации:

 

Отношение неполной категоризации:

Пример модели предметной области в нотации IDEF1X


Поделиться:



Последнее изменение этой страницы: 2019-10-24; Просмотров: 443; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.057 с.)
Главная | Случайная страница | Обратная связь