Файл: Нотации ER-моделирования. Сравнение различных типов нотаций.pdf
Добавлен: 06.07.2023
Просмотров: 209
Скачиваний: 6
Введение
ER-модель — это модель данных, позволяющая описывать концептуальные схемы предметной области. Основная задача, которую решает ER-модель единое и наиболее понятное представления данных, как для разработчиков, так и для конечных пользователей БД.
Модель представляет собой подход к проектированию баз данных. Основная идея этого подхода, модель сущность/связь, которая позволяет представить в формализованном виде объекты реального мира. Каждый объект(сущность) представляет из себя набор некоторых отличительных свойств(атрибутов), которые в свою очередь могут иметь некоторые значения. Каждый объект может иметь отношения с другим объектом, что и отражает название модели — сущность/связь.
ER-модель позволяет нам создать концептуальную схему базы данных(БД), которая в последствии будет преобразована в реальную схему БД. ER-модель представляет собой лишь абстрактную формальную схему, которая не имеет сама по себе никаких графических средств её визуализации. Для этого была создана графическая нотация, которая называется ER-диаграммой.
ER-диграмма строится из элементов представленных в ER-модели, а именно: сущности, атрибуты, связи.
Сущности — имя типа или «предмет», который может быть идентифицирован отличительными атрибутами, которые отделяют его от других «предметов».
Атрибуты — соответственно представляют собой некоторые отличительные черты или характеристики какой либо сущности.
Связи — это ассоциация, между двумя сущностями.
Из выше сказанного понятно что — ER-модель лишь концептуальная модель, которая может иметь или не иметь графического представления, соответственно ER-диаграмма является этим самым графическим представлением(нотацией), коих существует некоторое множество, а именно это нотации: Чена, Мартина, IDEF1X, которые мы рассмотрим далее.
Впервые нотация была представлена Питером Ченом(американским учёным в области информатики) предложившим в 1976 году ER-модель данных. Работа профессора Чена обычно представляется как основополагающая для концепции ER-модели данных. В действительности же Чен не является разработчиком данной концепции, её основные принципы опубликованы в ряде работ других авторов, например в статье А. П. Г. Брауна. Но Чен сделал наибольший вклад, чем кто-либо другой, в популяризацию этой модели. Эта модель занимает 1-е место среди методологий проектирования БД.
Нотации ER-моделирования
Нотация Чена
Нотация Чена предоставляет большой набор средств моделирования данных, включая собственно ERD, а также диаграммы атрибутов и диаграммы декомпозиции. Эти диаграммные техники используются прежде всего для проектирования реляционных баз данных(хотя также могут с успехом применятся и для моделирования как иерархических, так и сетевых баз данных). Нотация Чена представлена множеством элементов, описание которых будет дано ниже, а графическое представление в приложении 1, там же будет дан пример схемы.
Нотация Чена состоит из следующих элементов:
- Независимая сущность — представляет независимые данные, которые всегда присутствуют в системе. При этом отношения с другими сущностями могут как существовать, так и отсутствовать.
- Зависимая сущность — представляет данные, зависящие от других сущностей в системе. Поэтому она должна всегда иметь отношения с другими сущностями.
- Ассоциированная сущность — представляет данные, которые ассоциируются с отношениями между 2-я и более сущностями.
- Атрибут — характеристика сущности описывающая представляемый элемент данных.
- Атрибут(как первичный ключ) — характеристика сущности, своими значениями позволяющая однозначно выделить 1 экземпляр данных.
- Атрибут(как внешний ключ) — характеристика сущности, по которой осуществляется информационное связывание.
- Неограниченное(обязательное) отношение — представляет собой безусловное отношение, т.е. отношение, которое всегда существует до тех пор, пока существуют относящиеся к делу сущности.
- Ограниченное(необязательное) отношение - представляет собой условное отношение между сущностями.
- Существенно-ограниченное отношение - используется, когда соответствующие сущности взаимно-зависимы в системе.
- Связь — соединяет сущность и отношение и может быть направлена только от отношения к сущности. Связи бывают 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) одному экземпляру родительской сущности соответствует заранее заданное количество экземпляров дочерней сущности, на диаграмме связь помечается цифрой, соответствующей количеству экземпляров дочерней сущности.
Можно выделить основные правила построения отношений между сущностями, а именно:
- сущность может быть связана с любым количеством других сущностей;
- отношения между сущностями типа "родительская сущность — дочерняя сущность" имеют следующие ограничения:
- один экземпляр дочерней сущности может быть связан только с одним экземпляром родительской сущности;
- экземпляр родительской сущности может быть связан с несколькими экземплярами дочерней сущности.