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

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

ERD (OpenModelSphere) – концептуальная модель данных

2017-11-17 2191
ERD (OpenModelSphere) – концептуальная модель данных 0.00 из 5.00 0 оценок
Заказать работу

Вверх
Содержание
Поиск

 

Цель моделирования данных состоит в обеспечении разработчика ПО концептуальной схемой базы данных в форме одной модели или нескольких локальных моделей, которые относительно легко могут быть отображены в любую систему баз данных. Если БД в проекте не предусмотрена, то модель позволяет продумать передаваемые данные в виде структур, записей, массивов, файлов и прочего, показывая взаимодействие модулей. В отличие от IDEF1xможет быть менее детализированной и используется на этапе анализа и формирования требований к ПО. При проектировании ПО может детализироватьсяв IDEF1x, если в проекте предусмотрена БД.

Наиболее распространенным средством моделирования данных являются диаграммы “сущность-связь” (ERD), нотация которых была впервые введена Питером Ченом в 1976 г. Базовыми понятиями ERD являются.

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

· иметь уникальное имя; к одному и тому же имени должна всегда применяться одна и та же интерпретация; одна и та же интерпретация не может применяться к различным именам, если только они не являются псевдонимами;

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

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

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

Атрибут (Attribute) — любая характеристика сущности, значимая для рассматриваемой предметной области и предназначенная для квалификации, идентификации, классификации, количественной характеристики или выражения состояния сущности. Атрибут представляет тип характеристик или свойств, ассоциированных с множеством реальных или абстрактных объектов (людей, мест, событий, состояний, идей, предметов и т. д.).

В CASE-средствахSilverrun или OpenModelSphere для концептуального моделирования данных (на стадии формирования требований) также используется один из вариантов нотации Чена. На ERD-диаграмме сущность обозначается прямоугольником, содержащим имя сущности (рис. 2.34), а связь - в отличие от нотации Чена не ромбом, а овалом, связанным линией с каждой из взаимодействующих сущностей. Числа над линиями означают степень и обязательность связи. Связь работает в обе стороны, но читается по-разному.

 

Рис. 2.34. Обозначение сущностей и связей

 

В данном примере пара (0,N) означает, что физическое лицо может не иметь банковского счета (необязательная связь - 0) либо иметь много счетов (степень связи — N). Читаем в обратную сторону (1.1) - каждый банковский счет может принадлежать одному (обязательная связь) и только одному физическому лицу (степень связи — 1).

При описании атрибутов в верхней части прямоугольника располагается имя сущности, а в нижней части - список атрибутов, описывающих сущность. Обычно ключевые поля (идентификаторы) появляются в начале списка атрибутов. Пример графического представления сущности Юридическое лицо приведен на рис. 2.35.

Рис. 2.35. Графическое представление сущности

 

Существуют следующие виды ключевых полей:

• Первичный/альтернативный.Сущность может иметь несколько идентификаторов. Один должен являться основным (первичным), а другие - альтернативными. Первичный идентификатор на диаграмме подчеркивается. Альтернативные идентификаторы предваряются символами <1>для первого альтернативного идентификатора, <2> для второго и т. д. В концептуальном моделировании данных различие первичных и альтернативных идентификаторов обычно не используется. В реляционной модели, полученной из концептуальной модели данных, первичные ключи используются в качестве внешних ключей. Альтернативные идентификаторы не копируются в качестве внешних ключей в другие таблицы.

• Простой/составной (рис. 2.36): идентификатор, состоящий из одного атрибута, является простым, из нескольких атрибутов – составным. В реляционных БД не поддерживается составной, т.к. это подразумевает разделение одной ячейки на две.

Рис. 2.36. Составной идентификатор

 

• абсолютный/относительный, если все атрибуты, составляющие идентификатор, принадлежат сущности, то идентификатор является абсолютным. Если один или более атрибутов идентификатора принадлежат другой сущности, то идентификатор является относительным. Когда первичный идентификатор является относительным, сущность определяется как зависимая сущность, поскольку ее идентификатор зависит от другой сущности. В примере на рис. 2.37 идентификатор сущности Строка-заказа является относительным. Он включает идентификатор сущности Заказ, что показано на рисунке подчеркиванием 1,1.

Рис. 2.37. Относительный идентификатор

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

Рис. 2.38. Связь с атрибутами

 

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

В связи “супертип-подтип” (рис. 2.39) общие атрибуты типа определяются в сущности-супертипе, сущность-подтип наследует все атрибуты супертипа. Экземпляр подтипа существует только при условии существования определенного экземпляра супертипа. Подтип не имеет идентификатора (он импортирует его из супертипа).

Рис. 2.39. Связь “супертип-подтип”

 

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

Основным различием между реляционной и концептуальной моделями является представление связи: в концептуальной модели связь может соединять любое количество сущностей, а в реляционной модели связь является либо унарной, либо бинарной (она не может связывать больше двух различных таблиц).

Кроме баз данных ERDпозволяет моделировать просто имеющиеся данные в приложении и отражать их связи. Ниже пример диаграммы для программы-эмулятора движения робота Arduino. Диаграмма построена в программе OpenSphereModel.

 

Продолжим рассматривать пример о налоговой из DFD.

Концептуальная модель данных в виде ERD (рис. 2.42) строится исходя из следующих соображений:

• сущности могут быть распознаны как структуры данных в DFD. Чтобы рассматривать объект в качестве сущности, он должен обладать более чем одним атрибутом;

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

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

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

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

• модель системных процессов;

• архитектура ЭИС;

• модели данных приложений;

• модель пользовательского интерфейса.

На стадии реализации выполняются генерация SQL-предложений, определяющих структуру целевой БД (таблицы, индексы, ограничения целостности), и генерация кода приложений.

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

Рис. 2.42. Диаграмма “сущность-связь” (БИК - банковский идентификационный код)

 

МЕТОД БАРКЕРА

Одной из наиболее распространенных разновидностей нотации ERD является нотация, предложенная Ричардом Баркером, автором методов, используемых в технологии создания ПО фирмы Oracle. Данная нотация используется в CASE-средстве Oracle Designer. Метод Баркера можно пояснить на примере моделирования данных компании по торговле автомобилями. Этот пример достаточно универсален, в качестве упражнения можно на основе его исходных данных построить ERD с использованием других нотаций. Исходными данными для построения ERD являются результаты интервью, проведенного с персоналом компании, выдержки из которого приведены ниже.

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

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

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

Первый шаг моделирования — извлечение информации из интервью и выделение сущностей (рис. 2.18).

Рис. 2.18. Графическое изображение сущности в методе Баркера

 

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

Исходя из этого выделяются четыре сущности (автомашина, продавец, покупатель, контракт), которые изображаются на диаграмме (рис. 2.19).

Рис. 2.19. Диаграмма сущностей

 

Второй шаг моделирования — идентификация связей. Определение связи в методе Баркера несколько отличается о данного Ченом. Связь - это ассоциация между сущностями, при которой, как правило, каждый экземпляр одной сущности, называемой родительской сущностью, ассоциирован с произвольным (в том числе нулевым) количеством экземпляров второй сущности, называемой сущностью-потомком, а каждый экземпляр сущности-потомка ассоциирован в точности с одним экземпляром сущности-родителя. Таким образом, экземпляр сущности-потомка может существовать только при существовании сущности-родителя.

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

Например, связь продавца с контрактом может быть выражена следующим образом:

• продавец может получить вознаграждение за один контракт или более;

• контракт должен быть инициирован ровно одним продавцом.

Степень и обязательность связи можно показать графически (рис. 2.20).

 

Рис. 2.20. Степень и обязательность связи

 

Изобразим графически предложения, описывающие связь продавца с контрактом (рис. 2.21).

Рис. 2.21. Связь продавца с контрактом

 

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

Третий шаг моделирования — идентификация атрибутов.

 

Рис. 2.22. Диаграмма «сущность-связь» без атрибутов

 

Атрибут может быть либо обязательным, либо необязательным (рис. 2.23). Обязательность означает, что атрибут не может принимать неопределенных значений (null values). Атрибут может быть либо описательным (т.е. обычным дескриптором сущности), либо входить в состав уникального идентификатора (первичного ключа). Уникальный идентификатор — это атрибут или совокупность атрибутов и/или связей, предназначенная для уникальной идентификации каждого экземпляра данного типа сущности. В случае полной идентификации каждый экземпляр данного типа сущности полностью идентифицируется своими собственными ключевыми атрибутами, в противном случае в его идентификации участвуют также атрибуты другой сущности-родителя (рис. 2.24).

 

Рис. 2.23. Обязательный (помечен звездочкой) и необязательный (помечен кружком) атрибуты

 

Рис. 2.24. Виды идентификации: а — полная идентификация; б — идентификация посредством другой сущности

 

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

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

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

Рис. 2.25. Диаграмма «сущность-связь» с атрибутами

Супертипы и подтипы: одна сущность является обобщающим понятием для группы подобных сущностей (рис. 2.26).

Взаимно исключающие связи: каждый экземпляр сущности участвует только в одной связи из группы взаимно исключающих связей (рис. 2.27).

Рекурсивная связь: сущность может быть связана сама с собой (рис. 2.28).

 

Рис. 2.26. Супертипы и подтипы

 

Рис. 2.27. Взаимно исключающие связи

 

Рис. 2.28. Рекурсивная связь

 

Неперемещаемые (non-transferrable) связи: экземпляр сущности не может быть перенесен из одного экземпляра связи в другой (рис. 2.29).

 

Рис. 2.29. Неперемещаемая связь

 

 



Поделиться с друзьями:

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

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.076 с.