ЭУМК_КИТ2012
.pdfсущности.
На 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