Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЭУМК_КИТ2012

.pdf
Скачиваний:
50
Добавлен:
15.02.2016
Размер:
5.61 Mб
Скачать

сущности.

На ER-диаграмме 1 класс принадлежности обеих сущностей необязательный.

На ER-диаграмме 2 класс принадлежности

сущности

КЛИЕНТ обязательный, а

сущности СЧЕТ необязательный.

 

 

На ER-диаграмме 3 класс принадлежности

сущности

КЛИЕНТ необязательный,

а сущности СЧЕТ обязательный.

 

 

На ER-диаграмме 4 класс принадлежности обеих сущностей обязательный. Предположим, что в рассматриваемой предметной области БАНК класс принадлежности всех четырех сущностей является обязательным. Тогда ERмодель предметной области БАНК будет иметь вид, представленный на рис. 1.5. Каждая из четырех сущностей приведенной ER-модели может быть описана своим набором атрибутов (рис. 1.6).

ER-модель в совокупности с наборами атрибутов сущностей может служить примером концептуальной модели предметной области или концептуальной схемы базы данных.

В связи с наглядностью представления концептуальных схем баз данных ERмодели получили широкое распространение в CASE-средствах. Эти средства предназначены для автоматизированного проектирования реляционных баз данных.

121

Рис.1.6. Наборы атрибутов сущностей предметной области БАНК Примечание. Ключевые атрибуты выделены жирным шрифтом.

Широко распространены CASE-системы, позволяющие выполнять ER-диаграммы в соответствии со стандартом IDEF1X. К ним относятся, в частности, Erwin,

Design/IDEF, Power Designer.

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

4. Преобразование ERмодели в реляционную

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

122

Такой метод основывается на формировании набора предварительных таблиц из ER-диаграмм.

Для каждой сущности создается таблица. Причем каждому атрибуту

сущности соответствует столбец таблицы.

Правила генерации таблиц из ER-диаграмм опираются на два основных фактора –

тип связи и класс принадлежности сущности.

Правило 1

Если связь типа 1:1 и класс принадлежности обеих сущностей является

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

На ER-диаграмме связи 1:1, представленной на рис. 4.1, класс принадлежности сущностей МЕНЕДЖЕР, ФИЛИАЛ является обязательным. Тогда согласно правилу 1 должна быть сгенерирована одна таблица следующей структуры:

МЕНЕДЖЕР–ФИЛИАЛ

НМ

СТАЖ

СПЕЦ

НФ

АДР_Ф Первичным ключом этой таблицы может быть и первичный ключ сущности МЕНЕДЖЕР – НМ.

Правило 2

Если связь типа 1:1 и класс принадлежности одной сущности является

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

Представим, что на ER-диаграмме связи 1:1, изображенной на рис. 4.5, класс принадлежности сущности МЕНЕДЖЕР будет обязательный, а сущности ФИЛИАЛ – необязательный. Тогда согласно правилу 2 должны быть сгенерированы две таблицы следующей структуры:

МЕНЕДЖЕР – ФИЛИАЛ

ФИЛИАЛ

НМ

СТАЖ

СПЕЦ

123

НФ

НФ

АДР_Ф

Сущность с необязательным классом принадлежности (ФИЛИАЛ) именуется родительской, а с обязательным (МЕНЕДЖЕР) – дочерней. Первичный ключ родительской сущности (НФ), помещаемый в таблицу, представляющую дочернюю сущность, называется внешним ключом родительской сущности. Связь между указанными таблицами устанавливается путем связи первичного и внешнего ключа и имеет вид:

ФИЛИАЛ

МЕНЕДЖЕР – ФИЛИАЛ

 

1

 

 

 

НФ

НМ

 

 

 

 

 

1

 

 

АДР_Ф

 

 

 

СТАЖ

 

 

 

1

 

 

 

 

 

 

СПЕЦ

 

 

 

 

 

 

 

 

 

НФ

 

 

 

 

 

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

Правило 3

Если связь типа 1:1 и класс принадлежности обеих сущностей является

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

Представим, что на ER-диаграмме связи 1:1, изображенной на рис. 4.5, класс принадлежности сущностей МЕНЕДЖЕР, ФИЛИАЛ будет необязательный. Тогда согласно правилу 3 должны быть сгенерированы три таблицы следующей структуры:

МЕНЕДЖЕР ФИЛИАЛ МЕНЕДЖЕР–ФИЛИАЛ

НМ

СТАЖ

124

СПЕЦ

 

НФ

 

 

 

 

 

 

НМ

 

 

 

 

 

 

 

 

 

АДР_Ф

 

НФ

 

При этом

 

 

 

осуществляется

 

 

 

декомпозиция связи 1:1 на две связи 1:1 следующим образом:

МЕНЕДЖЕР МЕНЕДЖЕР–ФИЛИАЛ

ФИЛИАЛ

НМ

СТАЖ

СПЕЦ

1

1

 

1

1

 

 

 

 

 

 

 

 

НМ

 

 

 

НФ

 

 

 

 

 

 

 

НФ

 

 

 

АДР_Ф

 

 

 

 

 

 

 

 

 

 

 

 

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

Для связи типа 1:М существуют только два правила. Выбор одного из них зависит от класса принадлежности сущности на стороне M. Класс принадлежности сущности на стороне 1 не влияет на выбор.

Правило 4

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

На ER-диаграмме связи 1:М, представленной на рис.4.5, класс принадлежности сущности СЧЕТ является обязательным. Тогда согласно правилу 4 должны быть сгенерированы две таблицы следующей структуры:

ФИЛИАЛ ФИЛИАЛЗАКАЗ

125

НФ

НЗ

АДР_Ф ДЗ ВЗ

НФ

Связь между указанными таблицами будет иметь вид

ФИЛИАЛ

1

ФИЛИАЛ-ЗАКАЗ

НФ

 

 

 

 

 

 

 

 

М

 

 

 

 

АДР_Ф

 

 

 

 

 

 

 

Н3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ДЗ

 

 

 

 

 

 

 

 

 

 

 

 

 

ВЗ

 

 

 

 

 

 

 

 

 

 

 

 

НФ

 

 

Примечание.

Если внешний

 

 

ключ представляет связь 1:М, то

должны быть

разрешены его

 

 

 

дублирующие значения.

 

 

 

 

 

 

 

 

 

 

Правило 5

Если связь типа 1:М и класс принадлежности сущности на стороне М является

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

Представим, что на ER-диаграмме связи 1:М, изображенной на рис. 4.5, класс принадлежности сущности ЗАКАЗ является необязательным. Тогда согласно правилу 5 должны быть сгенерированы три таблицы следующей структуры:

126

ФИЛИАЛ

ЗАКАЗ ФИЛИАЛ-ЗАКАЗ

 

 

 

 

 

 

НФ

 

НЗ

 

НФ

 

 

ДЗ

 

 

 

 

 

 

 

АДР_Ф

 

ВЗ

 

НЗ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При этом осуществляется декомпозиция связи 1:М на две связи – 1:М и 1:1 – следующим образом:

ФИЛИАЛ

 

 

ФИЛИАЛ-ЗАКАЗ ЗАКАЗ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

М

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

НФ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

АДР_Ф

 

 

 

 

 

 

НФ

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

НЗ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

НЗ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ДЗ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ВЗ

Правило 6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

ER-диаграмма связи М:N имеется на рис. 4.5. Согласно правилу 6 на основе этой ER-диаграммы должны быть сгенерированы три таблицы следующей структуры:

КЛИЕНТ

ЗАКАЗ

КЛИЕНТ– ЗАКАЗ

 

 

 

 

 

 

 

 

 

НК

 

 

 

НЗ

 

 

НК

 

 

 

 

 

 

 

 

 

 

ФИО_К

 

 

 

 

 

 

НЗ

 

 

 

 

ДЗ

 

 

 

 

 

 

 

 

 

 

 

 

СОЦ_П

 

 

 

 

 

 

 

 

 

 

 

ВЗ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При этом

осуществляется декомпозиция связи М:N на две связи

АДР_К

 

1:М следующим образом:

 

 

 

 

 

 

 

 

 

 

 

 

 

127

 

 

 

 

 

 

 

 

КЛИЕНТ

 

КЛИЕНТ– ЗАКАЗ

ЗАКАЗ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

НК

 

1

 

М

 

НК

 

М

1

 

 

НЗ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ФИО_К

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

НЗ

 

 

 

 

 

ДЗ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СОЦ_П

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ВЗ

 

 

 

В

таблице КЛИЕНТ–ЗАКАЗ

 

клиенту, сделавшему,

 

 

АДР_К

 

например, три заказа будут соответствовать три строки с одним и тем

 

 

же номером заказа. А заказ, у которого, например, два владельца,

 

представляется двумя строками с различными номерами клиентов, сделавшими этот заказ.

К ER-модели предметной области ФИРМА, представленной на рис. 4.5, применимы правила 1, 4, 6.

Связь МЕНЕДЖЕР – ФИЛИАЛ представляется (согласно правилу 1) одной таблицей

МЕНЕДЖЕР–ФИЛИАЛ

 

НМ

 

 

СТАЖ

 

 

СПЕЦ

 

Связь

НФ

ФИЛИАЛ – ЗАКАЗ представляется (согласно правилу 4)

АДР_Ф

 

связью

 

 

128

ФИЛИАЛ

ФИЛИАЛ-ЗАКАЗ

1

НФ

АДР_Ф

Н3

МДЗ

ВЗ

НФ

Связь КЛИЕНТ – ЗАКАЗ представляется (согласно правилу 6) связью

КЛИЕНТ КЛИЕНТ– ЗАКАЗ ЗАКАЗ

 

 

 

 

М

 

 

 

 

 

1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

М

 

НК

 

 

 

 

НК

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ФИО_К

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

НЗ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СОЦ_П

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

АДР_К

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

НЗ

ДЗ

ВЗ

Анализ состава атрибутов полученных таблиц МЕНЕДЖЕР–ФИЛИАЛ,

ФИЛИАЛ, ФИЛИАЛ-ЗАКАЗ, КЛИЕНТ, ЗАКАЗ, КЛИЕНТ–ЗАКАЗ

показывает, что таблица ФИЛИАЛ является составной частью таблицы МЕНЕДЖЕР–ФИЛИАЛ, таблица ЗАКАЗ – составной частью таблицы ФИЛИАЛ-ЗАКАЗ. Поэтому таблицы ФИЛИАЛ и ЗАКАЗ можно исключить из рассмотрения. Оставшиеся таблицы МЕНЕДЖЕР–ФИЛИАЛ, ФИЛИАЛЗАКАЗ, КЛИЕНТ, КЛИЕНТ–ЗАКАЗ можно связать посредством связи первичных и внешних ключей как на рис.

В результате получим реляционную модель для ER-модели предметной области ФИРМА.

129

МЕНЕДЖЕР–ФИЛИАЛ

ФИЛИАЛЗАКАЗ

 

КЛИЕНТ

 

 

 

 

 

1

 

1

 

 

НМ

 

 

НЗ

 

 

НК

 

 

 

 

 

 

 

 

 

 

 

 

 

СТАЖ

 

 

 

 

 

 

 

 

ДЗ

 

 

 

 

 

 

 

 

 

 

ФИО_К

 

СПЕЦ

 

 

 

 

 

 

 

1

М

ВЗ

 

 

 

 

 

 

 

 

 

 

 

СОЦ_П

 

НФ

 

 

 

 

 

НФ

 

 

 

 

 

 

 

 

 

 

АДР_Ф

 

 

 

 

 

 

АДР_К

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

КЛИЕНТ– ЗАКАЗ

М

НК

М

НЗ

Реляционная модель предметной области 39 ФИРМА

Общие сведения о CASE-средствах.

Наглядное представление концептуальных схем баз данных обусловило широкое распространение ER-модели в CASE-средствах (ComputerAided System

Engineering ).

Эти средства предназначены для автоматизированного проектирования реляционных баз данных.

Широко распространены CASE-системы, позволяющие выполнять ER-диаграммы в соответствии со стандартом IDEF1X. К ним относятся, в частности:

Erwin,

Design/IDEF, Power Designer.

CASE-средства позволяют:

строить ER-диаграммы в реальном масштабе времени, используя при этом богатую цветовую палитру,

сквозную проверку синтаксических правил.

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

Современные CASE-средства обладают, например, такими характерными особенностями, как:

130