Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Технологии разработки ПО Уебное пособие Глухова Лилия Александровна, БГУИР 2010 (Книга).pdf
Скачиваний:
1125
Добавлен:
15.06.2014
Размер:
2 Мб
Скачать
☆

Студент/1

ID-

Фамилия

Имя

Отчество

Домашний

Специаль-

Группа

Дата-

студента

 

 

 

адрес

ность

 

рождения

1

Иванов

Иван

Иванович

Бровки,

ПОИТ

951005

12.01.83

 

 

 

 

1-9

 

 

 

2

Сидоров

Петр

Власович

Скорины,

ПОИТ

651003

17.08.87

 

 

 

 

8-16

 

 

 

…

…

…

…

…

…

…

…

 

 

 

 

 

 

 

 

Рис. 5.20. Интерпретация сущности в виде таблицы

Резюме

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

5.4.5. Правила атрибутов

Информационное моделирование основано на реляционной модели данных – представлении данных в виде отношений между ними. Поэтому сущности и их атрибуты в информационной модели должны удовлетворять требованиям к реляционной модели данных. Одним из основных требований является нормализация данных.

Нормализация – процесс уточнения и перегруппировки атрибутов в сущностях в соответствии с нормальными формами. Нормализация позволяет устранить аномалии в организации данных и сократить объем памяти для их хранения. Известны шесть нормальных форм. На практике чаще всего ограничиваются приведением модели данных к третьей нормальной форме [2].

Первая нормальная форма (First Normal Form, 1NF) – сущность находит-

ся в 1NF тогда и только тогда, когда все ее атрибуты содержат только элементарные значения.

Вторая нормальная форма (Second Normal Form, 2NF) – сущность нахо-

дится в 2NF тогда и только тогда, когда она находится в 1NF и каждый ее неключевой атрибут зависит от всего первичного ключа, а не от его части.

Третья нормальная форма (Third Normal Form, 3NF) – сущность нахо-

дится в 3NF тогда и только тогда, когда она находится в 2NF и каждый ее неключевой атрибут не зависит от другого неключевого атрибута.

183

С учетом приведенных нормальных форм в информационной модели должны соблюдаться следующие правила атрибутов [35].

Первое правило. Один экземпляр сущности имеет одно единственное значение для каждого атрибута в любой момент времени. Данное правило вытекает из 1NF.

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

Второе правило. Атрибут не должен содержать никакой внутренней структуры. Данное правило также вытекает из 1NF.

Например, если определен атрибут Дата-рождения, то он считается одной характеристикой и его нельзя разделить на независимые атрибуты Число, Месяц, Год.

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

Например, для сущности

Перемещение-жидкости (ID-источника, ID-приемника, Объем-жидкости)

атрибут Перемещение-жидкости.Объем-жидкости обозначает объем перемещаемой жидкости, а не объем источника или приемника жидкости.

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

Например, для сущности

Порция (ID-порции, ID-рецепта, Вес, Время-приготовления)

атрибут Порция.Время-приготовления определяет фактическое время приготовления порции, а не время, определяемое рецептом.

Резюме

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

5.4.6. Связи

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

184

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

Применительно к IDEF1X-модели под связью понимается отношение между двумя сущностями или между экземплярами одной и той же сущности.

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

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

специфической (конкретной, определенной, specific) соединительной связью.

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

Очевидно, что зависимая сущность всегда является дочерней. Независимая сущность по отношению к данной соединительной связи может являться как родительской, так и дочерней.

Графически соединительная связь представляется линией от родительской к дочерней сущности с точкой со стороны дочерней сущности (рис. 5.21).

Каждой связи в модели присваивается уникальный номер вида R/1, R/2, …, R/i (R – Relationship – связь).

Рис. 5.21. Графическое представление соединительной связи

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

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

185

Владелец-собаки владеет Собака

Метка связи может также содержать пару имен – имя связи с точки зрения родительской сущности и имя связи с точки зрения дочерней сущности. В этом случае метка образуется следующим образом: вначале записывается имя связи с точки зрения родительской сущности, затем после символа «/» – имя связи с точки зрения дочерней сущности. Связь, именуемая с точки зрения дочерней сущности, называется обратной (реверсной) связью.

Для предыдущего примера связь может быть поименована следующим образом:

Владелец-собаки владеет/принадлежит Собака

Резюме

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

5.4.7. Безусловные и условные связи

иих мощность

Втеории информационного моделирования существуют две базовые формы связей – безусловные и условные.

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

вается безусловной.

Существует три вида безусловных связей: 1) один-к-одному (1 : 1); 2) один-ко-многим (1 : М);

3) многие-ко-многим (М : М).

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

Связь один-к-одному (1 : 1) существует, когда один экземпляр родительской сущности связан с единственным экземпляром дочерней сущности и каждый экземпляр дочерней сущности связан строго с одним экземпляром родительской сущности.

Например, муж женат на одной жене, жена замужем за одним мужем. Связь один-ко-многим (1 : М) существует, когда один экземпляр роди-

тельской сущности связан с одним или более экземпляром дочерней сущности,

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

186

Например, каждый владелец собаки владеет одной или несколькими собаками, каждая собака принадлежит только одному владельцу.

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

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

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

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

Связь многие-ко-многим в IDEF1X-моделировании называется неспецифической связью [2]. Данный вид связи рассматривается в п. 5.4.11.

Связи один-к-одному и один-ко-многим являются соединительными связями между родительской и дочерней сущностью. Правила их графического представления в стандарте IDEF1X приведены в п. 5.4.8.

Резюме

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

5.4.8.Графическое представление мощности соединительных связей

в IDEF1X-моделировании

На рис. 5.23 представлено графическое представление в IDEF1X мощности соединительной связи c позиции родительской сущности [2]. Как видно из данного рисунка, с каждым экземпляром родительской сущности в общем случае может быть связано различное количество экземпляров дочерней сущности.

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

187

Безусловные формы

1 : 1

1 : М

М : М

Условные формы

1 : 1у

1у : М

М : Му

1 : Му

Биусловные формы

 

1у : 1у

 

 

 

1у : Му

 

 

 

Му : Му

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 5.22. Десять форм связи

188

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

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

Если рядом с точкой записан символ Р (см. рис. 5.23, б), то это значит, что в экземпляре связи участвует один или много экземпляров дочерней сущности. Например, каждый экземпляр сущности Владелец-собаки владеет одним или несколькими экземплярами сущности Собака (рис. 5.25).

 

P

 

Z

n

n–m

(n)

а

б

в

г

д

 

е

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

различных видов дочерней мощности соединительных связей в IDEF1X:

а– ноль-один-или-много; б – один-или-много; в – ноль-или-один;

г– точно-n; д – от n до m;

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

Рис. 5.24. Графическое представление в IDEF1X связи мощностью один-к-нулю-одному-или-многим

Это соответствует мощности связи один-к-одному-или-многим.

Символ Z, помещенный рядом с точкой, означает, что ноль или один экземпляр дочерней сущности участвует в экземпляре связи (см. рис. 5.23, в). Например, каждый экземпляр сущности Мужчина неженат (женат на нуле женщин) или женат на одной женщине (рис. 5.26).

Это соответствует мощности связи один-к-нулю-или-одному. Конкретное число, помещенное рядом с точкой (см. рис. 5.23, г), опреде-

ляет точную дочернюю мощность связи (точное количество экземпляров до-

189

черней сущности, участвующих в связи с экземпляром родительской сущности). Например, каждый экземпляр сущности Год связан точно с двенадцатью экземплярами сущности Месяц (в году 12 месяцев, рис. 5.27).

Это соответствует мощности связи один-к-точно-12.

Рис. 5.25. Графическое представление в IDEF1X связи мощностью один-к-одному-или-многим

на/

Рис. 5.26. Графическое представление в IDEF1X связи мощностью один-к-нулю-или-одному

28-31

Рис. 5.27. Графическое представление в IDEF1X связей мощностью один-к-точно-n и один-к-диапазону-n-m

190

Если мощность дочерней связи определена в диапазоне от некоторого значения n до некоторого значения m, то данный диапазон записывается рядом с точкой в виде n – m (см. рис. 5.23, д). Например, каждый экземпляр сущности Месяц связан с 28 – 31 экземплярами дочерней сущности День (см. рис. 5.27). Это соответствует мощности связи один-к-диапазону-28-31.

Другие условия, характеризующие дочернюю мощность связи, определяются в круглых скобках (см. рис. 5.23, е). Например, книга может содержать не менее двух глав. В этом случае рядом с точкой на связи должно быть записано условие (>= 2), определяющее дочернюю мощность связи (рис. 5.28). Это соответствует мощности связи один-к-(>= 2).

Следует отметить, что два последних вида мощности (один-к-диапазону- -n-m и один-к-(условие)) современные CASE-средства зачастую не поддерживают, поскольку такой вид связей в предметных областях встречается достаточно редко и может быть реализован с помощью других видов мощности. Эти виды мощностей не поддерживает, например, и одно из самых распространенных в Беларуси CASE-средств для разработки баз данных CA ERwin Data Modeler, более известное под названием Erwin (см. подразд. 7.6).

(>=2)

Рис. 5.28. Графическое представление в IDEF1X связи мощностью один-к-(условие)

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

<Имя-родительской-сущности> <Имя-связи> <Дочерняя-мощность-связи> <Имя-дочерней-сущности>

и в обратном направлении как

<Дочерняя-мощность-связи> <Имя-дочерней-сущности> <Имя-связи> <Имя-родительской-сущности> .

Например, прямая и обратная связь между родительской сущностью Вла- делец-собаки и дочерней сущностью Собака, представленная на рис. 5.25, описывается следующим образом:

Владелец-собаки/3 R/2 владеет один-или-много Собака/4 ,

191