Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Нотации ER-моделирования. Сравнение различных типов нотаций

Содержание:

Введение

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

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

ER-модель позволяет нам создать концептуальную схему базы данных(БД), которая в последствии будет преобразована в реальную схему БД. ER-модель представляет собой лишь абстрактную формальную схему, которая не имеет сама по себе никаких графических средств её визуализации. Для этого была создана графическая нотация, которая называется ER-диаграммой.

ER-диграмма строится из элементов представленных в ER-модели, а именно: сущности, атрибуты, связи.

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

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

Связи — это ассоциация, между двумя сущностями.

Из выше сказанного понятно что — ER-модель лишь концептуальная модель, которая может иметь или не иметь графического представления, соответственно ER-диаграмма является этим самым графическим представлением(нотацией), коих существует некоторое множество, а именно это нотации: Чена, Мартина, IDEF1X, которые мы рассмотрим далее.

Впервые нотация была представлена Питером Ченом(американским учёным в области информатики) предложившим в 1976 году ER-модель данных. Работа профессора Чена обычно представляется как основополагающая для концепции ER-модели данных. В действительности же Чен не является разработчиком данной концепции, её основные принципы опубликованы в ряде работ других авторов, например в статье А. П. Г. Брауна. Но Чен сделал наибольший вклад, чем кто-либо другой, в популяризацию этой модели. Эта модель занимает 1-е место среди методологий проектирования БД.

Нотации ER-моделирования

Нотация Чена

Нотация Чена предоставляет большой набор средств моделирования данных, включая собственно ERD, а также диаграммы атрибутов и диаграммы декомпозиции. Эти диаграммные техники используются прежде всего для проектирования реляционных баз данных(хотя также могут с успехом применятся и для моделирования как иерархических, так и сетевых баз данных). Нотация Чена представлена множеством элементов, описание которых будет дано ниже, а графическое представление в приложении 1, там же будет дан пример схемы.

Нотация Чена состоит из следующих элементов:

  • Независимая сущность — представляет независимые данные, которые всегда присутствуют в системе. При этом отношения с другими сущностями могут как существовать, так и отсутствовать.
  • Зависимая сущность — представляет данные, зависящие от других сущностей в системе. Поэтому она должна всегда иметь отношения с другими сущностями.
  • Ассоциированная сущность — представляет данные, которые ассоциируются с отношениями между 2-я и более сущностями.
  • Атрибут — характеристика сущности описывающая представляемый элемент данных.
  • Атрибут(как первичный ключ) — характеристика сущности, своими значениями позволяющая однозначно выделить 1 экземпляр данных.
  • Атрибут(как внешний ключ) — характеристика сущности, по которой осуществляется информационное связывание.
  • Неограниченное(обязательное) отношение — представляет собой безусловное отношение, т.е. отношение, которое всегда существует до тех пор, пока существуют относящиеся к делу сущности.
  • Ограниченное(необязательное) отношение - представляет собой условное отношение между сущностями.
  • Существенно-ограниченное отношение - используется, когда соответствующие сущности взаимно-зависимы в системе.
  • Связь — соединяет сущность и отношение и может быть направлена только от отношения к сущности. Связи бывают 3-х типов:
    1. Один-к-одному - Отношения данного типа используются, как правило, на верхних уровнях иерархии модели данных, а на нижних уровнях встречаются сравнительно редко.
    2. Один-к-многим - Отношения данного типа являются наиболее часто используемыми.
    3. Многие-к-многим - Отношения данного типа обычно используются на ранних этапах проектирования с целью прояснения ситуации.

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

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

Для более лучшего понимания как строится диаграмма рассмотрим следующую схему(приложение 1):

Согласно этой диаграмме каждый БАНК ИМЕЕТ один или более БАНКОВСКИХ СЧЕТОВ. Кроме того, каждый КЛИЕНТ МОЖЕТ ВЛАДЕТЬ (одновременно) одной или более КРЕДИТНОЙ КАРТОЙ и одним или более БАНКОВСКИМ СЧЁТОМ, каждый из которых ОПРЕДЕЛЯЕТ в точности одну КРЕДИТНУЮ КАРТУ (отметим, что у клиента может и не быть ни счета, ни кредитной карты). Каждая КРЕДИТНАЯ КАРТА ИМЕЕТ ровно один зависимый от неё ПАРОЛЬ КАРТЫ, а каждый КЛИЕНТ ЗНАЕТ (но может и забыть) ПАРОЛЬ КАРТЫ.

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

Нотация Мартина(Crow`s Foot)

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

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

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

Связи изображаются линиями, соединяющими сущности, вид линии в месте соединения с сущностью определяет множественность связи. Имеется 4 вида множественности и смысла связи: 1:1, 1:ЛГ, ЛГ:Л/, связь с указанной мощностью.

Устанавливая связи между сущностями, в нотации Мартина её смысловое наполнение можно обозначать единственной глагольной формой, имеющей смысл связи от "левой" сущности к "правой" сущности, представляя в качестве "левой" сущности ту, у которой множественность связи в верхней её границе равна "1". В случае установления связи многие — ко — многим (№М) "левой" сущностью является та, которая по логике модели является более значимой. Тем не менее, поскольку не всегда можно однозначно разделить сущности на "левую" и "правую", разработчиками указывается смысловое наполнение связи двумя глагольными формами, аналогично тому, как это делалось при рассмотрении модели в нотации Чена. При описании связей, в отличие от нотации Чена, множественность устанавливается не в виде текстовых обозначений, а соответствующими графическими представлениями на связи(пример дан в приложении 2).

Нотация IDEF1X

Методология моделирования IDEF1X, являясь расширением стандарта IDEF1, предназначена для описания данных (информации). В её основе лежит язык семантического моделирования, основанного на концепции "сущность — связь", позволяющей определять данные и связи между ними. Методология используется для создания информационной модели предметной области с помощью идентификации ее сущностей и связей между ними. Чаще всего такая методология используется для описания данных в целях последующей автоматизации их обработки с помощью систем управления базами данных. Таким образом, можно говорить о том, что модели данных в нотации IDEF1X используются для создания баз данных.

Основными элементами модели IDEF1X являются сущности, атрибуты и отношения.

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

• диаграмма "Сущность — связь" (Entity Relationship Diagram — ERD);

• модель данных, основанная на ключах (Key Based Model — КВМ);

• полная атрибутивная модель (Fully Attributed Model — FAM).

Нас интересует только диаграмма "Сущность — связь", которая используется для описания данных.

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

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

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

Атрибуты и отношения ничем не отличаются от тех, что представлены в модели Чена.

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

  • 1) одному экземпляру родительской сущности соответствует 0, 1 или много экземпляров дочерней сущности, на диаграмме связь не помечается каким-либо символом;
  • 2) одному экземпляру родительской сущности соответствует 1 или много экземпляров дочерней сущности, на диаграмме связь помечается символом "Р", например "сотрудник";
  • 3) одному экземпляру родительской сущности соответствует О или 1 экземпляр дочерней сущности, на диаграмме связь помечается символом "Z";
  • 4) одному экземпляру родительской сущности соответствует заранее заданное количество экземпляров дочерней сущности, на диаграмме связь помечается цифрой, соответствующей количеству экземпляров дочерней сущности.

Можно выделить основные правила построения отношений между сущностями, а именно:

  • сущность может быть связана с любым количеством других сущностей;
  • отношения между сущностями типа "родительская сущность — дочерняя сущность" имеют следующие ограничения:
  • один экземпляр дочерней сущности может быть связан только с одним экземпляром родительской сущности;
  • экземпляр родительской сущности может быть связан с несколькими экземплярами дочерней сущности.

Графическое представление элементов приведено в приложении 3.

Вывод

Нотация Чена — исторически самая первая. Имеет много средств моделирования данных, включая собственно ERD, а также диаграммы атрибутов и диаграммы декомпозиции.

Нотация Мартина — Модели такого типа менее громоздки по сравнению с моделями в нотации Чена. Используется преимущественно в промышленности.

Нотация IDEF1X — также имеет достаточно много средств моделирования данных, как и нотация Чена. Стала федеральным стандартом США.

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

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

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

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

Если нотация Чена ориентирована на абстрактное построение концептуальных предметных моделей предоставляя много средств для детального описания, то 2 следующие ориентированы на более простое и понятное проектирование ER-моделей с последующим преобразованием в реляционную БД. Эта простота представляет собой более компактные и удобные графические элементы для описания ER-модели.

Нотация IDEF1X помимо диаграммы сущность — связь предоставляет:

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

Также имеется ещё 1-а интересная особенность. Диаграмму IDEF1X можно построить, если в качестве родительской взять модель процесса в нотации IDEF0. Это позволяет рассмотреть процесс с точки зрения данных, которые используются, обрабатываются и создаются в рамках процесса, и их взаимодействия между собой.

Для построения IDEFlX-диаграммы в данном случае нужно произвести некоторую конвертацию сведений, представленных на диаграмме IDEF0, а именно:

  • все входящие и исходящие ресурсы, а также ресурсы управления и механизмы, описанные в диаграмме IDEF0, становятся сущностями в модели IDEF1X;
  • все функциональные блоки в IDEF0 становятся отношениями (связями) в модели IDEF1X.

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

Стоит также учитывать, что если сущностей в модели больше 20—25 штук, то для каждого функционального блока лучше строить отдельную модель IDEF1X, иначе схема будет слишком перегружена для восприятия читающего.

Аналогичным образом можно разработать модель данных процесса в нотации IDEF1X из модели, представленной в виде IDЕF8-диаграммы.

Из выше сказанного примерная категоризация выглядит следующим образом:

  • Нотация Чена для более детального описания концептуальной ER-модели, особенно в случае, если надо описать предметную область.
  • Нотацию Мартина следует использовать в промышленности и когда нужно, сделать концептуальную ER-модель, которая позже будет преобразована в реляционную БД.
  • Нотация IDEF1X — является case-средством и поэтому, часто применяется для моделирования бизнес-процессов.

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

Приложение 1


Изображение 1 - Графическое обозначение элементов модели


Изображение 2 - Пример схемы

Приложение 2


Изображение 1 - Графическое обозначение элементов модели


Изображение 2 - Обозначение элементов множественности


Изображение 3 - Пример схемы

Приложение 3

Приложение 3


Изображение 1 - Графическое обозначение элемеентов модели


Изображение 2 - Графическое обозначение элементов множественности


Изображние 3 - Пример схемы

Список использованных источников

  • http://www.interface.ru/fset.asp?Url=/case/defs5.htm
  • https://studme.org/77222/informatika/notatsiya_pitera_chena
  • http://www.mstu.edu.ru/study/materials/zelenkov/ch_2_4.html
  • https://www.cfin.ru/vernikov/idef/idef1x.shtml