Оформить и купить диплом на бланке ГОЗНАК без предоплаты

Проектирование с применением ER-диаграмм

В ER-методах  проектирования баз данных используются понятия “сущность” (“entity”) и “связь” (“relationship”). Понятия “сущность” и “связь” не имеют четкого определения в рассматриваемой области знаний. Рекомендуется называть “сущностью” объект, сведения о котором должны храниться в базе данных. Общепризнано, что “сущность” задается существительным, например: ЧЕЛОВЕК, СТУДЕНТ, САМОЛЕТ, КОМПЬЮТЕР.

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

Ключ сущности – атрибут или совокупность атрибутов, значения которых однозначно характеризуют экземпляр сущности.

Связью называют отношение между сущностями. Связи рекомендуется сопоставлять глагол или глагол с обстоятельствами, например: СОСТОИТ ИЗ, ПОКУПАЮТ, ПОКУПАЮТ ЗИМОЙ и т. п.

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

МАГАЗИН <ПРОДАЕТ> КОМПЬЮТЕР

Связь характеризуется арностью (размерностью) и степенью. Если связь объединяет k  сущностей, то она называется k – арной (k -размерной). Двухарную (двухразмерную) связь называют бинарной.

Степень связи определяется видом соответствия между экземплярами сущностей. Если экземпляру одной сущности может соответствовать один и только один экземпляр другой сущности, то степень связи 1 : 1 (один к одному). Если экземпляру одной сущности может соответствовать не обязательно  один, а именно: или один, или больше одного, или ни одного экземпляра другой сущности, то степень связи 1 : M (один ко многим). Эта же связь, прочитанная в обратном направлении, имеет степень M : 1 (много к одному). Наконец, возможен случай степени связи M : N (многие ко многим).

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

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

В первой ER-модели – модели Chen’а – был применён трехдольный нагруженный граф. В вершине первого вида, которая имеет форму прямоугольника, указывают сущность; в вершинах второго вида в форме овалов – атрибуты сущности; в вершине третьего вида в форме ромбов – связь. Ключ сущности отмечают двойным овалом. Дуги графа помечают “1” и “не 1” (“буквой”).  Прямоугольники сущностей могут иметь дополнительный прямоугольник в точке присоединения связи для отражения того свойства сущности, что класс ее принадлежности связи является обязательным.

Овальные и ромбовидные фигуры не удобны в начертании. Поэтому появились ER-диаграммы с другим синтаксисом. Для машинного и ручного начертания удобны ER-диаграммы для модели IDEF1X, которая используется в программе ERwin при проектировании баз данных по ER-диаграммам.

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

В случае, если несколько сущностей имеют общий ключ, возникают ролевые отношения. Например, пусть создается база данных с информацией о детях студенческих супружеских пар. Для описания реальных объектов, по-видимому,   будут использованы сущности СТУДЕНТ, СТУДЕНТКА и РЕБЕНОК. Каждая из них имеет ключ из атрибутов ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, но значения ключей в сущностях СТУДЕНТ, СТУДЕНТКА, РЕБЕНОК никогда не будут одинаковы. Следовательно, сущности СТУДЕНТ, СТУДЕНТКА и РЕБЕНОК можно объединить в сущность ЧЕЛОВЕК с тем же ключом, а СТУДЕНТА, СТУДЕНТКУ и РЕБЕНКА характеризовать  дополнительным атрибутом РОЛЬ.

В случае ролевых отношений сущности можно объединять или разделять  без добавления связующих атрибутов.

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

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

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

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

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

Этим правилом можно пользоваться для объединения двух сущностей.

Правило 2. Если степень взаимосвязи 1:1, класс принадлежности первой сущности обязателен, а класс принадлежности второй сущности необязателен,  то ER-диаграмма преобразуется в два отношения (две таблицы), ключами которых являются ключи сущностей. Схема первого отношения содержит атрибуты первой сущности и ключ второй сущности, т. е. сущности с необязательным классом принадлежности. Схема второго отношения содержит атрибуты второй сущности.

Правило 3. Если степень взаимосвязи 1:1 и классы принадлежности обеих сущностей необязательны,  то ER-диаграмма преобразуется в три отношения (три таблицы). Схема первого отношения состоит из атрибутов первой сущности, второго – из атрибутов второй сущности, а третьего – из ключей обеих сущностей.

Правило 4. Если степень взаимосвязи 1:M и классы принадлежности обеих сущностей обязательны,  то ER-диаграмма преобразуется в общем случае в два, а в частности в одно отношение (таблицу). Схема первого отношения содержит атрибуты первой сущности, схема второго – атрибуты второй сущности и ключ первой сущности. Если схема первого отношения состоит только из ключевого атрибута, то отношение можно исключить как избыточное.

Правило 5. Если степень взаимосвязи 1:M и класс принадлежности второй сущности необязателен, то в зависимости от класса принадлежности первой сущности ER-диаграмма преобразуется в два или три отношения (три таблицы). Схемы первого и второго отношений содержат атрибуты соответствующих сущностей, а в схему третьего отношения включаются ключи обеих сущностей. Если первое отношение имеет обязательный класс принадлежности и его схема состоит только из ключевого атрибута, то отношение можно исключить как избыточное.

Правило 6. Если степень взаимосвязи двух сущностей равна M:N, то независимо от классов принадлежностей сущностей ER-диаграмма преобразуется в три отношения (три таблицы). Схемы первого и второго отношений содержат атрибуты соответствующих сущностей, а в схему третьего отношения включаются ключи обеих сущностей.

Правило 7. ER-диаграмме с k-арной взаимосвязью необходимо сопоставить в общем случае  (k+1) отношение ((k+1) таблицу), причем  в каждое из k отношений включаются атрибуты соответствующей сущности, а схема дополнительного (k+1)-го отношения содержит ключи всех сущностей. Если какое-нибудь из отношений имеет обязательный класс принадлежности, степень взаимосвязи 1:M и его схема состоит только из ключевого атрибута, то это отношение можно исключить как избыточное.

Изложенными правилами можно пользоваться для преобразования ER-диаграмм. Их следует применять и при подготовке ER-диаграммы, которая подлежит вводу  в программу автоматизированного проектирования баз данных.

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

Если проследить за образованием новых таблиц согласно  большинству описанных ранее правил, то можно заметить, что в новые таблицы переходят копии ключевых атрибутов (см. правила 3, 5, 6, 7). Похожий переход копий атрибутов имеет место и в тех случаях, когда число таблиц строго соответствует числу сущностей. Копия атрибута – это внешний ключ. С целью передачи копий атрибутов между сущностями в программе ERwin можно задать два вида связей: идентифицирующую (identifying relationship), при которой внешний ключ образуется в области ключа, и неидентифицирующую (non-identifying relationship), при которой внешний ключ образуется в области данных. Визуально в случае неидентифицирующей связи соединительная линия между сущностями изобра-жается пунктиром. В зависимости от использования внешних ключей сущности подразделяют на зависимые (independent) и независимые (non-independent). Независимые сущности не имеют внешних ключей и изображаются обычным прямоугольником, а зависимые – прямоугольником со скругленными углами, от которого протягивается линия связи с родительской сущностью.