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

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

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

При этом рассмотрим следующие случаи.

Случай 1. Отсутствие или наличие только одной М-связи между сущностями. В этом случае результаты проектирования по методам синтеза и ER-диаграмм могут сразу полностью совпасть (пример 46), или не совпасть (пример 47), или могут полностью совпасть после обеспечения выполнимости свойства соединения без потерь информации в методе ER-диаграмм (пример 48).

Пример 46. Рассмотрим предметную область АПТЕКА. В таблице 8 перечислены сущности и их атрибуты.

Таблица 8. Сущности и их атрибуты для предметной области АПТЕКА

Сущности Атрибуты Первичный ключ Обозначение
ПРЕПАРАТЫ IDПрепарата да А
  Название   B
Категория
Цена
Противопоказания
ПОСТАВЩИКИ IDПоставщика да С
  Адрес D
Телефон
НАЗНАЧЕНИЯ IDНазначения да E
Тип K
Характеристика
СОТРУДНИКИ IDСотрудника да L
  Фио   M
АдресЭлПочты
Телефон

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

F = {A → B, C → D, E → K, L → M,...}

Здесь многоточия, как и в предыдущих примерах, должны быть заменены “перекрестными” зависимостями между сущностями, которые можно найти из описания ER-диаграммы:

1. ПРЕПАРАТЫ (М, О) поставляют (1,О) ПОСТАВЩИКИ (правило 4)

2. ПРЕПАРАТЫ (М, О) имеют (1, О) НАЗНАЧЕНИЯ (правило 4)

3. СОТРУДНИКИ (М, Н) заказывают (М, О) ПРЕПАРАТЫ (правило 6)

Из выделенных связей будут справедливыми следующие “перекрестные” зависимости:

ПРЕПАРАТЫ → ПОСТАВЩИКИ или A → C,

ПРЕПАРАТЫ → НАЗНАЧЕНИЯ или A → E,

Добавляя “перекрестные” зависимости, получим

F = {A → BCE, C → D, E → K, L → M}

Выполняем ускоренный синтез.

Расширенное множество зависимостей:

= {A → BCEDK, C → D, E → K, L → M}

Поскольку расширенное множество не содержит “лишних” зависимостей с одинаковой левой частью, то условно неизбыточное покрытие 0 совпадает с .

Добавляя тривиальную зависимость U → Æ, строим диаграмму зависимостей, на которой выполняем операцию транзитивной редукции зависимостей (рисунок 20):

Рисунок 20 – Диаграмма зависимостей для предметной области АПТЕКА

Получаем результирующую декомпозицию отношений:

R1 = AL; R2 = A BCE; R3 = L M;

R4 = C D; R5 = E K;

или для реальных данных:

R1: Препараты_Сотрудники или Заказы (IDПрепарата, IDСотрудника);

R2: Препараты (IDПрепарата, Название, Категория,Цена, Противопоказания,

IDПоставщика, IDНазначения);

R3: Сотрудники (IDСотрудника, Фио, АдресЭлПочты, Телефон);

R4: Поставщики (IDПоставщика, Адрес, Телефон);

R5: Назначения (IDНазначения, Тип, Характеристика).

Легко видеть, что набор атрибутов AL является минимальным суперключом, так как AL+ = U, а A+ ≠ U и L+ ≠ U.

Результирующая декомпозиция, полученная по методу ER-диаграмм, будет такой:

R1: Препараты (IDПрепарата, Название, Категория,Цена, Противопоказания,

IDПоставщика, IDНазначения);

добавлены по правилу 4

R2: Поставщики (IDПоставщика, Адрес, Телефон);

R3: Назначения (IDНазначения, Тип, Характеристика);

R4: Сотрудники (IDСотрудника, Фио, АдресЭлПочты, Телефон).

R5: Препараты_Сотрудники или Заказы (IDПрепарата, IDСотрудника).

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

Пример 47. Рассмотрим предметную область КУРСЫ ИНОСТРАННЫХ ЯЗЫКОИ. В таблице 9 перечислены сущности и их атрибуты.

Таблица 9. Сущности и их атрибуты

Сущности Атрибуты Первичный ключ Обозначение
СЛУШАТЕЛИ IDСлушателя да А
  Фио   B
Адрес
Телефон
АдресЭлПочты
ПРЕПОДАВАТЕЛИ IDПреподавателя да С
  Адрес D
Телефон
ФИЛИАЛЫ IDФилиала да E
Адрес K
Телефон
ГРУППЫ IDГруппы да L
  Язык   M
Начало занятий
Количество слушателей
КУРСЫ IDКурса да N
  Характеристика S

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

F = {A → B, C → D, E → K, L → M, N → S,...}

Здесь многоточия, как и в предыдущих примерах, должны быть заменены “перекрестными” зависимостями между сущностями, которые можно найти из описания ER-диаграммы:

1. ПРЕПОДАВАТЕЛИ (1, О) работают_с (М,О) ГРУППАМИ (правило 4)

2. СЛУШАТЕЛИ (М, О) обучаются_в (1, О) ГРУППАХ (правило 4)

3. ФИЛИАЛЫ (1, О) набирают (М, О) ГРУППЫ (правило 4)

4. КУРСЫ (М, О) имеют (М, О) ФИЛИАЛЫ (правило 6)

Из выделенных связей будут справедливыми следующие “перекрестные” зависимости:

ГРУППЫ → ПРЕПОДАВАТЕЛИ или L → C,

СЛУШАТЕЛИ → ГРУППЫ или A → L,

ГРУППЫ → ФИЛИАЛЫ или L → E.

Добавляя “перекрестные” зависимости, получим

F = {A → BL, C → D, E → K, L → MEC, N → S}

Выполняем ускоренный синтез.

Расширенное множество зависимостей:

= {A → BLMCEDK, C → D, E → K, L → MCEDK, N → S}.

Поскольку расширенное множество не содержит «лишних» зависимостей с одинаковой левой частью, то условно неизбыточное покрытие 0 совпадает с .

Добавляя тривиальную зависимость U → Æ, строим диаграмму зависимостей, на которой выполняем операцию транзитивной редукции зависимостей (рисунок 21):

Рисунок 21 – Диаграмма зависимостей

Получаем результирующую декомпозицию отношений:

R1 = AN; R2 = A BL; R3 = N S;

R4 = L MCE; R5 = C D; R6 = E K

или для реальных данных:

R1: Слушатели_Курсы (IDСлушателя, IDКурса);

R2: Слушатели (IDСлушателя, Фио, Адрес,Телефон, АдресЭлПочты, IDГруппы);

R3: Курсы (IDКурса, Характеристика);

R4: Группы (IDГруппы, Язык, Начало занятий, Количество слушателей,

IDПреподавателя, IDФилиала);

R5: Преподаватели (IDПреподавателя, Адрес, Телефон);

R6: Филиалы (IDФилиала, Адрес, Телефон);

Легко видеть, что набор атрибутов AN является минимальным суперключом, так как AN+ = U, а A+ ≠ U и N+ ≠ U.

Спроектированная по методу база данных состоит из шести таблиц.

Результирующая декомпозиция, полученная по методу ER-диаграмм, будет такой:

R1: Преподаватели (IDПреподавателя, Адрес, Телефон)

R2: Группы (IDГруппы, Язык, Начало занятий, Количество слушателей,

IDПреподавателя, IDФилиала);

добавлены по правилу 4

R3: Слушатели (IDСлушателя, Фио, Адрес,Телефон, АдресЭлПочты, IDГруппы);

добавлен по правилу 4

R4: Филиалы (IDФилиала, Адрес, Телефон);

R5: Курсы (IDКурса, Характеристика);

R6: Курсы_Филиалы (IDКурса, IDФилиала);

Или в обозначениях таблицы 9:

R1 = C D; R2 = L MCE; R3 = A LB; R4 = E K; R5 = N S; R6 = EN.

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

Кроме того, проверка показала, что декомпозиция из шести таблиц не обладает свойством соединения без потерь информации. Чтобы это свойство выполнялось, добавим седьмую таблицу с суперключом AN или для реальных данных:

R7: Слушатели_Курсы (IDСлушателя, IDКурса);

В рассматриваемом примере результаты проектирования по методам синтеза и ER-диаграмм не совпадают.

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

Пример 48. Рассмотрим предметную область ЗАКАЗЫ КОМПЛЕКТУЮЩИХ ДЛЯ КОМПЬЮТЕРОВ. В таблице 10 указаны сущности и их атрибуты.

Таблица 10. Сущности и их атрибуты

Сущности Атрибуты Первичный ключ Обозначение
КЛИЕНТЫ IDКлиента да А
  Фио   B
Адрес
Телефон
АдресЭлПочты
ПОСТАВЩИКИ IDПоставщика да С
  Адрес D
Телефон
КОМПЛЕКТУЮЩИЕ IDКомплектующего да E
Название K
Параметры
СОТРУДНИКИ IDСотрудника да L
  Фио   M
Адрес
Телефон
ЗАКАЗЫ IDЗаказа да N
ДатаЗаказа S
Стоимость

Спроектируем базу данных комбинированным методом. Множество функциональных зависимостей:

F = {A → B, C → D, E → K, L → M, N → S,...}

Здесь многоточия, как и в предыдущих примерах, должны быть заменены “перекрестными” зависимостями между сущностями, которые можно найти из описания ER-диаграммы:

1. ПОСТАВЩИКИ (1, О) поставляют (М,О)КОМПЛЕКТУЮЩИЕ (правило 4)

2. КЛИЕНТЫ (1, О) делают (М, О) ЗАКАЗЫ (правило 4)

3. СОТРУДНИКИ (1, О) выполняют (М, О) ЗАКАЗЫ (правило 4)

Из выделенных связей будут справедливыми следующие “перекрестные” зависимости:

КОМПЛЕКТУЮЩИЕ → ПОСТАВЩИКИ или E → C,

ЗАКАЗЫ → КЛИЕНТЫ или N → A,

ЗАКАЗЫ → СОТРУДНИКИ или N → L.

Добавляя “перекрестные” зависимости, получим

F = {A → B, C → D, E → KC, L → M, N → SAL}

Выполняем ускоренный синтез.

Расширенное множество зависимостей:

= {A → B, C → D, E → KCD, L → M, N → SALBM}.

Поскольку расширенное множество не содержит «лишних» зависимостей с одинаковой левой частью, то условно неизбыточное покрытие 0 совпадает с .

Добавляя тривиальную зависимость U → Æ, строим диаграмму зависимостей, на которой выполняем операцию транзитивной редукции зависимостей (рисунок 22):

Рисунок 22 – Диаграмма зависимостей

Получаем результирующую декомпозицию отношений:

R1 = EN; R2 = N SAL; R3 = E KC;

R4 = L M; R5 = A B; R6 = C D

или для реальных данных:

R1: Комплектующие_Заказы (IDКомплектующего, IDЗаказа);

R2: Заказы (IDЗаказа, ДатаЗаказаа, Стоимость, IDКлиента, IDСотрудника);

R3: Комплектующие (IDКомплектующего, Название, Параметры, IDПоставщика); R4: Сотрудники (IDСотрудника, Фио, Адрес, Телефон);

R5: Клиенты (IDКлиента, Фио, Адрес, Телефон, АдресЭлПочты);

R6: Постащики (IDПоставщика, Адрес, Телефон);

Легко видеть, что набор атрибутов EN является минимальным суперключом, так как EN+ = U, а E+ ≠ U и N+ ≠ U.

Спроектированная по методу база данных состоит из шести таблиц.

Результирующая декомпозиция, полученная по методу ER-диаграмм, будет такой:

R1: Поставщики (IDПоставщика, Адрес, Телефон);

R2: Заказы (IDЗаказа, ДатаЗаказа, Стоимость, IDКлиента, IDСотрудника);

добавлены по правилу 4

R3: Комплектующие (IDКомплектующего, Название,Параметры, IDПоставщика);

добавлен по правилу 4

R4: Клиенты (IDКлиента, Фио, Адрес, Телефон, АдресЭлПочты);

R5: Сотрудники (IDСотрудника, Фио, Адрес, Телефон);

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

Чтобы это свойство выполнялось, добавим шестую таблицу с суперключом EN или для реальных данных:

R6: Комплектующие_Заказы (IDКомплектующего, IDЗаказа)

или в обозначениях таблицы 10:

R1 = C D; R2 = N SAL; R3 = E KC; R4 = A B; R5 = L M; R6 = EN;

Теперь результаты проектирования по обоим методам полностью совпадают.

Случай 2. Больше двух М-связных сущностей образуют кольцо или цепочку сущностей без ответвлений. В этом случае после использования простой процедуры уменьшения количества таблиц, полученных по методу ER-диаграмм, можно получить полное совпадение с результатами проектирования по методу синтеза. Кольцо М-сущностей без ответвлений для триплета был рассмотрен в примере 41.

Рассмотрим пример, в котором М-связные сущности образуют цепочку сущностей без ответвлений.

Пример 49. Спроектируем базу данных для предметной области ПРОДАЖА МЕБЕЛИ. В таблице 11 указаны сущности и их атрибуты.

Таблица 11. Сущности и их атрибуты

Сущности Атрибуты сущностей Первичный ключ Обозначение
МАГАЗИНЫ IDМагазина да А
  Название   B
Адрес
Телефон
АдресЭлПочты
МЕБЕЛЬ IDМебели да С
  Наименование D
Цена
СОТРУДНИКИ IDСотрудника да L
  Фио S
Адрес
СКЛАДЫ IDСклада да M
Адрес N

Спроектируем базу данных комбинированным методом. Множество функциональных зависимостей:

F = {A → B, C → D, L → S, M → N,...}

Здесь многоточия, как и в предыдущих примерах, должны быть заменены “перекрестными” зависимостями между сущностями, которые можно найти из описания ER-диаграммы:

1. МАГАЗИНЫ (М, О) заказывают (М,О) МЕБЕЛЬ(правило 6)

2. СОТРУДНИКИ (М, О) работают_в (1, О) МАГАЗИНАХ (правило 4)

3. СКЛАДЫ (1, О) содержат (М, О) МЕБЕЛЬ (правило 4)

4. СОТРУДНИКИ (М, О) продают (М, О) МЕБЕЛЬ (правило 6)

5. МАГАЗИНЫ (М, Н) связаны _со (М, О) СКЛАДАМИ (правило 6)

Из выделенных связей будут справедливыми следующие “перекрестные” зависимости:

СОТРУДНИКИ → МАГАЗИНЫ или L → A,

МЕБЕЛЬ → СКЛАДЫ или C → M,

Добавляя “перекрестные” зависимости, получим

F = {A → B, C → D, L → S, M → N, L → A, C → M} или

F = {A → B, C → DM, L → SA, M → N}

Выполняем ускоренный синтез для U = ABCDLSMN.

Расширенное множество зависимостей:

= {A → B, C → DMN, L → SAB, M → N}.

Поскольку расширенное множество не содержит “лишних” зависимостей с одинаковой левой частью, то условно неизбыточное покрытие 0 совпадает с .

Добавляя тривиальную зависимость U → Æ, строим диаграмму зависимостей, на которой выполняем операцию транзитивной редукции зависимостей (рисунок 23):

Рисунок 23 – Диаграмма зависимостей

Получаем результирующую декомпозицию отношений:

R1 = CL; R2 = C DM; R3 = L SA;

R4 = M N; R5 = A B.

или для реальных данных:

R1: Мебель_Сотрудники (IDМебели, IDСотрудника);

R2: Мебель (IDМебели, Наименование, Цена, IDСклада);

R3: Сотрудники (IDСотрудника, Фио, Адрес, IDМагазина);

R4: Склады (IDСклада, Адрес);

R5: Магазины (IDМагазина, Название, Адрес, Телефон, Адрес ЭлПочты);

Легко видеть, что набор атрибутов CL является минимальным суперключом, так как CL+ = U, а C+ ≠ U и L+ ≠ U.

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

Результирующая декомпозиция, полученная по методу ER-диаграмм, будет такой:

R1= A B; R2 = C DM; R3 = AC; R4 = L SA; R5 = M N; R6 = CL;

R7= AM или на реальных данных

R1: Магазины (IDМагазина, Название, Адрес, Телефон, Адрес ЭлПочты);

R2: Мебель (IDМебели, Наименование, Цена, IDСклада);

добавлен по правилу 4

R3: Магазины_Мебель (IDМагазина, IDМебели);

R4: Сотрудники (IDСотрудника, Фио, Адрес, Телефон, АдресЭлПочты,

IDМагазина);

добавлен по правилу 4

R5: Склады (IDСклада, Адрес);

R6: Мебель_Сотрудники (IDМебели, IDСотрудника)

R7: Магазины_Склады (IDМагазина, IDСклада)

Спроектированная база данных состоит из семи таблиц: R1 - R7.

Рисунок 24 – Операция уменьшения количества таблиц в базе данных, спроектированной

по методу ER-диаграмм

Из рисунка 24 видно, что М-связные сущности СКЛАДЫ, МАГАЗИНЫ, МЕБЕЛЬ и СОТРУДНИКИ образуют цепочку сущностей.

Если теперь удалить таблицы R7, R3 и R6 и вместо них добавить таблицу

R8: Склады_Магазины_Мебель_Сотрудники (IDСклада, IDМагазина, IDМебели,

IDСотрудника),

как показано на рисунке 24, то удается уменьшить количество таблиц в базе данных, спроектированной по методу ER-диаграмм. Теперь база данных состоит из пяти таблиц: R1, R2, R4, R5, R8. Причем добавленная таблица содержит не минимальный суперключ (IDСклада, IDМагазина, IDМебели, IDСотрудника) или в принятых выше обозначениях атрибутов ACML. Выше было показано, что минимальным суперключом является набор атрибутов CL. Поэтому в таблице R8 в качестве первичного ключа можно оставить набор атрибутов CL, а атрибуты A и M сделать неключевыми [5]. Тогда таблица R8 будет такой:

R8: Мебель_Сотрудники (IDМебели, IDСотрудника, IDСклада, IDМагазина),

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

R1 = A B; R2 = C DM; R4 = L SA; R5 = M N; R8 = CL AM;

Теперь базы данных, спроектированные по методам синтеза и ER-диаграмм, почти совпадают, за исключением таблиц R6 (синтез) и R8 (ER-диаграммы с процедурой уменьшения количества таблиц).

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

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

Пример 50. Вернемся к рассмотрению условий примера 44. Для предметной области АВТОВОКЗАЛ была спроектирована комбинированным методом база данных, состоящая из пяти таблиц, которые в обозначениях таблицы 6 имеют вид:

R1 = AP; R2 = P LE; R3 = A BC; R4 = E K; R5 = C D,

причем AP – минимальный суперключ.

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

1. ВОДИТЕЛИ (М, Н) ведут (1,О) АВТОБУСЫ (правило 4)

2. АВТОБУСЫ (М, Н) отправляются_в (М, О) РЕЙСЫ (правило 6)

3. ВОДИТЕЛИ (М, Н) назначаются_на (М, О) РЕЙСЫ (правило 6)

4. ПАССАЖИРЫ (М, О) отправились_в (1, О) РЕЙСЫ (правило 4)

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

R1: Водители (IDВодителя, ФиоВодителя, Адрес, Телефон, Возраст, ГосНомер);

M j8FOwzAMhu9IvENkJC4TS5m2ritNJzSJCxwYYw+QtqatSJzSZF329hhxgKPtT///udhGa8SEo+8d KbifJyCQatf01Co4vj/dZSB80NRo4wgVXNDDtry+KnTeuDO94XQIreAQ8rlW0IUw5FL6ukOr/dwN SHz7cKPVgcexlc2ozxxujVwkSSqt7okbOj3grsP683CyCp5f97PLIqazr/Wq2sUpM/HFG6Vub+Lj A4iAMfzB8KPP6lCyU+VO1HhhFKyX2YZRBVwDgoFsma5AVL8LWRby/wflNwAAAP//AwBQSwECLQAU AAYACAAAACEAtoM4kv4AAADhAQAAEwAAAAAAAAAAAAAAAAAAAAAAW0NvbnRlbnRfVHlwZXNdLnht bFBLAQItABQABgAIAAAAIQA4/SH/1gAAAJQBAAALAAAAAAAAAAAAAAAAAC8BAABfcmVscy8ucmVs c1BLAQItABQABgAIAAAAIQDWUkrN7AEAAOYDAAAOAAAAAAAAAAAAAAAAAC4CAABkcnMvZTJvRG9j LnhtbFBLAQItABQABgAIAAAAIQAd02kS3gAAAAkBAAAPAAAAAAAAAAAAAAAAAEYEAABkcnMvZG93 bnJldi54bWxQSwUGAAAAAAQABADzAAAAUQUAAAAA " strokecolor="black [3040]"/> добавлен по правилу 4

R2: Автобусы (ГосНомер, Тип, Модель);

R3: Рейсы (IDРейса, НомерРейса, Куда, ДатаВремяОтправ);

R4: Автобусы_Рейсы (ГосНомер, IDРейса);

R5: Водители_Рейсы (IDВодителя, IDРейса);

R6: Пассажиры (IDПассажира, ФиоПас, АдресЭлПочты, IDРейса).

добавлен по правилу

или в обозначениях таблицы 6:

R1 = A BC; R2 = C D; R3 = E K; R4 = CE; R5 = AE; R6 = P LE.

Спроектированная база данных содержит 6 таблиц, ни одна из которых не содержит супеключа, следовательно, свойство соединения без потерь информации не выполняется. Из рисунка 25 видно, что М-связные сущности АВТОБУСЫ, РЕЙСЫ и ВОДИТЕЛИ образуют цепочку, причем сущность РЕЙСЫ имеет ответвление к сущности ПАССАЖИРЫ типа 1:М.

Рисунок 25 – Операция уменьшения количества таблиц в базе данных, спроектированной

по методу ER-диаграмм

Если теперь удалить таблицы R4, R5 и вместо них добавить таблицу

R7: Автомобили_Рейсы_Водители (IDАвтомобиля, IDРейса, IDВодителя),

или R7 = СЕА,

как показано на рисунке 25, то удается уменьшить количество таблиц в базе данных, спроектированной по методу ER-диаграмм. Теперь база данных состоит из пяти таблиц: R1, R2, R3, R6, R7. Однако добавленная таблица R7 не содержит суперключа, который был определен в примере 44 как набор атрибутов AP. Чтобы результирующая декомпозиция R1, R2, R3, R6, R7 обладала свойством соединения без потерь информации, можно добавить в таблицу R7 атрибут P – первичный ключ ответвленной сущности. Тогда R7 = CEAP, AP объявить первичным ключом, а атрибуты CE тогда будут неключевыми, то есть R7 = AP CE или на реальных данных

R7: Водители_Пассажиры (IDВодителя, IDПассажира, IDАвтомобиля, IDРейса).

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

Пример 51. Выполним проектирование базы данных для предметной области КОНЦЕРТЫ МУЗЫКАЛЬНЫХ ГРУПП. Сущности и их атрибуты даны в таблице 12.

Таблица 12. Сущности и их атрибуты

Сущности Атрибуты Первичный ключ Обозначение
КОНЦЕРТЫ IDКонцерта да А
  МестоПроведения   B
Статус
РАДИО IDРадиоПрограммы да С
  ВремяВыступления D
ОтведенноеВремя
ЗАЛЫ IDЗала да E
Название K
Адрес
ЦенаБилета
ПРЕССА IDПрессы да L
  Название   M
ДатаПубликации
АвторПубликации
ЖУРНАЛИСТЫ IDЖурналиста да N
  Фио S
Тематика
ГРУППЫ IDГруппы да G
НазваниеГруппы H
ГородГруппы
Сайт

Спроектируем базу данных комбинированным методом. Множество функциональных зависимостей:

F = {A → B, C → D, E → K, L → M, N → S, G → H,...}

Здесь многоточия, как и в предыдущих примерах, должны быть заменены “перекрестными” зависимостями между сущностями, которые можно найти из описания ER-диаграммы:

1. ГРУППЫ (М, О) дают (М,Н) КОНЦЕРТЫ (правило 6)

2. КОНЦЕРТЫ (М, Н) проходят_на (М, О) РАДИО(правило 6)

3. КОНЦЕРТЫ (М, О) проходят_в (1, О) ЗАЛАХ (правило 4)

4. ЖУРНАЛИСТЫ (1, О) отзываются_о (М, О) КОНЦЕРТАХ (правило 4)

5. ЖУРНАЛИСТЫ (М, Н) информируют _ о (М, О) ГРУППАХ (правило 6)

6. ЖУРНАЛИСТЫ (М, О) пишут_в (М, Н) ПРЕССУ (правило 6)

Из выделенных связей будут справедливыми следующие «перекрестные» зависимости:

КОНЦЕРТЫ → ЗАЛЫ или A → E,

КОНЦЕРТЫ → ЖУРНАЛИСТЫ или A → N,

Добавляя «перекрестные» зависимости, получим

F = {A → B, C → D, E → K, L → M, N→ S, G → H, A → E, A → N} или

F = {A → BEN, C → D, E → K, L → M, N → S, G → H}

Выполняем ускоренный синтез. U = ABCDEKLMNSGH.

Расширенное множество зависимостей:

= {A → BENKS, C → D, E → K, L → M, N → S, G → H}.

Поскольку расширенное множество не содержит «лишних» зависимостей с одинаковой левой частью, то условно неизбыточное покрытие 0 совпадает с .

Добавляя тривиальную зависимость U → Æ, строим диаграмму зависимостей, на которой выполняем операцию транзитивной редукции зависимостей (рисунок 26):

Рисунок 26 – Диаграмма зависимостей

Получаем результирующую декомпозицию отношений:

R1 = ACLG; R2 = A BEN; R3 = C D; R4 = L M; R5 = G H;

R6 = E K; R7 = N S; или для реальных данных:

R1: Концерты_Радио_Пресса_Группы (IDКонцерта, IDРадио, IDПрессы,

IDГруппы,);

R2: Концерты (IDКонцерта, МестоПроведения, Статус, IDЗала, IDЖурналиста);

R3: Радио (IDРадио, ВремяВыступления, ОтведенноеВремя);

R4: Пресса (IDПрессы, Название, ДатаПубликации, АвторПубликации);

R5: Группы (IDГруппы, НазваниеГруппы, ГородГруппы, Сайт);

R6: Залы (IDЗала, Название, Адрес, ЦенаБилета);

R7: Журналисты (IDЖурналиста, Фио, Тематика).

Легко видеть, что набор атрибутов ACLG является минимальным суперключом, так как ACLG+ = U, и замыкание никакого собственного подмножества этого набора атрибутов не равно U.

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

Результирующая декомпозиция, полученная по методу ER-диаграмм, будет такой:

R1= G H; R2 = A BEN; R3 = AG; R4 = C D; R5 = AC; R6= N S;

R7= NG; R8= L M; R9= LN; R10= E K; или на реальных данных

R1: Группы (IDГруппы, НазваниеГруппы, ГородГруппы, Сайт);

R2: Концерты (IDКонцерта, МестоПроведения, Статус, IDЗала, IDЖурналиста);

R3: Концерты_Группы (IDКонцерта, IDГруппы);

R4: Радио (IDРадио, ВремяВыступления, ОтведенноеВремя);

R5: Концерты_Радио (IDКонцерта, IDРадио);

R6: Журналисты (IDЖурналиста, Фио, Тематика);

R7: Журналисты_Группы (IDЖурналиста, IDГруппы);

R8: Пресса (IDПрессы, Название, ДатаПубликации, АвторПубликации);

R9: Пресса_Журналисты (IDПрессы, IDЖурналиста);

R10: Залы (IDЗала, Название, Адрес, ЦенаБилета).

Спроектированная база данных по методу ER-диаграмм содержит десять таблиц, ни одна из которых не содержит суперключа, следовательно, свойство соединения без потерь информации не выполняется. Из рисунка 27 видно, что М-связные сущности ПРЕССА, ЖУРНАЛИСТЫ, ГРУППЫ, КОНЦЕРТЫ и РАДИО образуют цепочку, причем сущность ЖУРНАЛИСТЫ имеет ответвление к сущности КОНЦЕРТЫ типа 1:М, а сущность КОНЦЕРТЫ – к сущности ЗАЛЫ типа М:1.

Рисунок 27 – Операция уменьшения количества таблиц в базе данных, спроектированной

по методу ER-диаграмм

Если теперь удалить таблицы R3, R5, R7, R9 и вместо них добавить таблицу

R11: Пресса_Журналисты_Группы_Концерты_Радио (IDПрессы, IDЖурналиста,

IDГруппы, IDКонцерта, IDРадио),

как показано на рисунке 27, то удается уменьшить количество таблиц в базе данных. Теперь база данных состоит из семи таблиц: R1, R2, R4, R6, R8, R10 и R11. Добавленная таблица R11 содержит не минимальный суперключ – набор атрибутов LNGАС. В этой таблице набор атрибутов LGАС, соответствующий минимальному суперключу, можно объявить первичным ключом, а атрибут N оставить неключевым. Тогда для реальных данных добавленная таблица R11 будет такой:

R11: Пресса_Группы_Концерты_Радио (IDПрессы, IDГруппы,IDКонцерта, IDРадио IDЖурналиста)

или в обозначениях таблицы 12:

R1 = G H; R2 = A BEN; R4 = C D; R6 = N S; R8 = L M; R10 = E K;

R11 = ACLG N.

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

На основании изложенного в данном разделе материала можно дать следующие рекомендации.

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

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



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: