русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Основные понятия модели Entity-Relationship


Дата добавления: 2013-12-23; просмотров: 2313; Нарушение авторских прав


КОНЦЕПТУАЛЬНОЕ И ДАТАЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ

4.1 Модель «Сущность-связь»

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

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

 

Далее мы кратко рассмотрим некоторые черты одной из наиболее популярных семантических моделей данных - модель "Сущность-Связь" (часто ее называют кратко ER-моделью).

На использовании разновидностей ER-модели основано большинство современных подходов к проектированию баз данных (главным образом, реляционных). Модель была предложена Ченом (Chen) в 1976 г. Моделирование предметной области базируется на использовании графических диаграмм, включающих небольшое число разнородных компонентов. В связи с наглядностью представления концептуальных схем баз данных ER-модели получили широкое распространение в системах CASE, поддерживающих автоматизированное проектирование реляционных баз данных. Среди множества разновидностей ER-моделей одна из наиболее развитых применяется в системе CASE фирмы ORACLE (в т.н. нотации Баркера). Ее мы и рассмотрим. Более точно, мы сосредоточимся на структурной части этой модели.



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

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

Рис.6.1

 

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

Имя сущности может представлять тип или класс объекта, но не конкретное значение. В тех случаях, когда для именования сущности подходят разные слова, имеющие идентичный смысл в контексте данной проблемы, допускается использование синонимов. Одно имя назначается в качестве первого; синонимы могут записываться заглавными буквами с символом "наклонная черта" (/) перед каждым. Для облегчения понимания понятия и его отличий от других подобных понятий могут использоваться примеры.

 

Рис.6.2

 

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

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

Каждая связь имеет два конца, каждый из которых обладает

- именем;

- степенью/мощностью;

- признаком обязательности.

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

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

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

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

 

Рис.6.3

 

Если на одном из концов связь является обязательной, перед соответствующим описанием появляется выражение “должен”; для необязательных связей используется выражение “может”. Таким образом изображенная выше схема читается слева направо следующим образом:

каждый СОТРУДНИК может выполнять одно и более ЗАДАНИЙ,

а справа налево –

каждое ЗАДАНИЕ должно выполняться одним и только одним СОТРУДНИКОМ.

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

 

Рис.6.4

 

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

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

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

Рис.6.5

 

Необязательные атрибуты.Значения некоторых атрибутов могут в какие-то моменты просто отсутствовать или же быть недоступны. В таких случаях перед именем атрибута на схеме ставится буква "o", что говорит о том, что атрибут – необязательный (optional).

Обязательные атрибуты.Те атрибуты, значения которых должны быть известны всегда, имеют перед своим именем значок "*" (рис.6.6).

 

Рис.6.6

 

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

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

 

 

Рис.6.7.

 

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

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

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

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

 

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

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

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

Конец связи может участвовать только в одной исключающей дуге.

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

Дуги почти всегда покрывают концы связей, имеющие степень "многие".

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

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

Пример.Кредитная компания открывает счета либо для частных лиц, либо для организаций, которые в свою очередь выдают карточки своим служащим. Обратите внимание на фразу "либо..., либо...", появляющуюся в ситуации со СЧЕТАМИ (рис.6.8).

Рис.6.8

 

 

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

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

 

Супертип. Сущность, имеющая подтипы, выступает по отношению к ним супертипом. Одна и та же сущность может быть подтипом другой сущности и при этом сама являться супертипом. Подтипы сущности должны включать все возможные ее проявления и образовывать в конечном итоге единое целое. То есть любое вхождение супертипа должно относиться к одному из его подтипов. Во многих случаях эта полнота достигается благодаря добавлению подтипа, именуемого ПРОЧАЯ СУЩНОСТЬ.

Как для подтипа, так и для супертипа должны действовать все правила, принятые для сущности (поскольку и то, и другое – сущности).

 

Справочная сущность. Термин "справочная сущность" используется для обозначения такой сущности, в которую не входит ни одна из обязательных линий связи. Эта сущность используется для дополнения описания других сущностей. Cущности, описывающие тип объекта (например, ТИП САМОЛЕТА), зачастую выступают в качестве справочных сущностей, так же как и сущности, подобные ОРГАНИЗАЦИОННОЙ ЕДИНИЦЕ и ЛИЧНОСТИ. Вхождения справочной сущности могут существовать самостоятельно, безотносительно к другим объектам.

 

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



<== предыдущая лекция | следующая лекция ==>
 | Даталогическая модель


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.