Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка информатика.doc
Скачиваний:
3
Добавлен:
01.05.2019
Размер:
1.24 Mб
Скачать

7.4.1.6. Структурные связи ио

Отношение двух ИО отражает объективную и устойчивую во времени связь сущностей. Количественное соответствие экземпляров ИО может быть одно-однозначного (1:1), одно-многозначного (1:М), много-однозначного (М:1), много-многозначного (M:N) типа.

Рис.4.6. Типы количественных соответствий экземпляров ИО

Связь 1:1, 1:М и M:N означает, что одному экземпляру ИО1 соответствует один или несколько экземпляров ИО2, a M:N - не­скольким экземплярам ИО1 соответствует несколько экземпляров ИО2. Поскольку информационному объекту ИО1 соответствует ре­ляционная таблица РТ1, а ИО2 - таблица РТ2, то это означает, что в связи 1:1 одной строке таблицы РТ1 соответствует одна строка таблицы РТ2, а в связи 1:М одной строке таблицы РТ1 соответст­вует несколько строк таблицы РТ2.

Для одно-многозначного типа отношения, например ИО1:ИО2=1:М, вводятся понятия: главный (ИО1) и детальный (ИО2) объекты.

Реляционные СУБД допускают использование много-­многозначных отношений двух ИО, однако их реализация не всегда корректна. В частности, для таких отношений невозможно обеспе­чить целостность, каскадное обновление и удаление данных. По­этому много-многозначные отношения двух ИО необходимо преоб­разовать в совокупность одно-многозначных отношений с помощью объекта "связка" (рис. 4.7 а).

Рис.4.7 а. Преобразование много-многозначного отношения двух ИО в одно-многозначные

Пример

Предположим, ИО1 содержит ключевой реквизит А1*, а ИО2 ключевые реквизиты А2* и A3*. Тогда между этими ИО существует связь ИО1:ИО2=N:М ("многие-ко-многим"). Для преобразования много-многозначного отношения двух ИО в одно-многозначные ИО "Связка" должен содержать ключевые реквизиты ИО1 (ключ А1*) и ИО2 (ключи А2*, A3*), а также любые другие реквизиты, удовлетво­ряющие требованиям ЗНФ (рис.4.7 б).

7.4.1.7. Каноническая форма илм по

Каноническая форма ИЛМ предназначена для формализован­ного перехода к логической структуре БД. ИЛМ ПО представлена в канонической форме при выполнении следующих условий.

  1. Все ИО описываются отношениями, находящимися, как мини­мум, в 3НФ.

  1. Между ИО отсутствуют отношения типа "Многие-ко-многим".

  1. ИО расположены по уровням иерархии в соответствии с отно­шениями типа "Один-ко-многим".

Иерархическое расположение ИО означает, что из двух ИО, например А и В, связанных отношением типа 1:М, на верхнем уров­не иерархии будет ИО, находящийся на стороне "один" (А), а на нижнем - со стороны "много" (В). Оно обеспечивает проверку пра­вильности структур данных: позволяет обнаружить циклы или контуры в структуре данных, повышает наглядность структуры ИЛМ ПО.

Рис.4.7.б. Преобразование много-многозначного отношения двух ИО в одно многозначные

Существуют два различных способа упорядочения ИО по уровням иерархии: неформализованный и формализованный. В первом случае, когда количество ИО в ИЛМ мало и длина цепочек, составляющих последовательность ИО, связанных отношениями типа "один-ко-многим", невелика, можно расположить ИО по уров­ням иерархии, не прибегая к формальному методу.

Формализованный подход основан на использовании матри­цы смежности - квадратной матрицы, количество строк (и столб­цов) которой равно количеству ИО. Значения элементов матрицы Хij = 1 (i - номер строки, j - номер столбца) определяются по фор­мулам:

Хij = 1, если ИOi : ИOj = 1 : М;

Хij = 0, если ИОi : ИОj = 1 : М.

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

Пример

Отношения: ИО1 : ИО4 = 1 : М; ИО2 : ИО4 = 1 : М; ИОЗ : ИО6 = 1 : М; ИО4 : ИО5 = 1 : М; ИОЗ : ИО6 = 1 : М.

ИО1

ИО2

ИО3

ИО4

ИО5

ИО6

И О1

1

И О2

1

И О3

1

1

ИО4

1

ИО5

ИО6

Сумма по столбцу

0

0

0

2

2

1

Рис. 4.8. Исходная матрица смежности

В примере (рис. 4.8) суммы по столбцам ИО1, ИО2 и ИОЗ равны нулю, они выносятся на текущий (первый) уровень иерархии.

Для получения следующего уровня иерархии удаляются стро­ки и столбцы, соответствующие выделенным ИО (в примере это ИО1, ИО2 и ИОЗ), и повторно вычисляются итоговые суммы по столбцам (рис.4.9).

ИО4

ИО5

ИО6

ИО4

1

ИО5

ИО6

Сумма по столбцу

0

1

0


Рис. 4.9. Промежуточная матрица смежности

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

В результате получилась каноническая форма ИЛМ (рис.10).