Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекц10 Сутність-звязок Укр!.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
135 Кб
Скачать
☆

Формування відношень для зв'язку 1:м

Якщо дві сутності С1 і С2 зв'язані як 1:М, сутність С1 будемо називати однозв'язною (1-зв'яна), а сутність С2 - багатозв'язною (М-зв'язна). Визначальним фактором при формуванні відношень, зв'язаних цим видом зв'язку, є клас приналежності М-зв'язної сутності. Так, якщо клас приналежності М-зв'язної сутності обов'язковий, то в результаті застосування правила одержимо два відношення, якщо необов'язковий - три відношення. Клас приналежності однозв'язної сутності не впливає на результат.

Щоб переконатися в цьому, розглянемо відношення ВИКЛАДАЧ_ДИСЦИПЛІНА (рис. 10.9), що відповідає діаграмам, приведеним на рис. 9.3, тобто случаю, коли: зв'язок типу 1 : М, клас приналежності М-зв'язної сутності обов'язковий, 1 - зв'язної - необов'язковий.

З відношенням ВИКЛАДАЧ_ ДИСЦИПЛІНА (рис. 10.9) зв'язані наступні проблеми:

  • ВИКЛАДАЧ_ДИСЦИПЛІНА

    ПІБ

    Посада

    Наущзва

    Години

    Іванов І.М.

    асистент

    СУБД

    60

    Іванов І.М.

    асистент

    ПЛ/1

    70

    Петров М.І.

    викладач

    АЛГОЛ

    80

    СІдоров Н.Г.

    доцент

    ФОРТРАН

    90

    СІдоров Н.Г.

    доцент

    С++

    85

    Єгоров В. В.

    доцент

    Паскаль

    100

    Єгоров В. В.

    доцент

    JAVA

    65

    Козлов А. С.

    професор

    ….

    ….

    10.9. Вихідне відношення

    маються кортежі з порожніми полями (викладач не веде дисципліни),
  • надлишкове дублювання даних (повторюється посада викладача) у кортежах зі зведеннями про викладачів, що ведуть кілька дисциплін.

Якби клас приналежності 1-зв'язної сутності був обов'язковим (немає викладача без дисципліни), то зникли б порожні поля, але повторювані дані в атрибутах викладача збереглися б. Для усунення названих проблем відношення повинні бути сформовані за наступним правилом.

Правило 4. Якщо ступінь зв'язку між сутностями 1:М (або М:1) і клас приналежності М-зв'язної сутності обов'язковий, то достатньо формування двох відношень (по одному на кожну із сутностей). При цьому первинними ключами цих відношень є ключі їхніх сутностей. Крім того, ключ 1-зв'язної сутності додається як атрибут (зовнішній ключ) у відношення, що відповідає М-зв'язної сутності.

На рис. 10.10 приведена діаграма ER-типу і відношення, сформовані за правилом 4.

Відповідно до правила 4 перетворимо відношення на рис. 10.10 у два відношення (рис. 10.11).

ВИКЛАДАЧ

ДИСЦИПЛІНА_ ВИКЛАДАЧ

ПІБ

Посада

Назва

Години

ПІБ

Іванов І.М.

асистент

СУБД

60

Іванов І.М.

Петров М.І.

викладач

ПЛ/1

70

Іванов І.М.

СІдоров Н.Г.

доцент

АЛГОЛ

80

Петров М.І.

Єгоров В.В.

доцент

ФОРТРАН

90

Сідоров Н.Г.

Козлов А.С.

професор

С++

85

Сідоров Н.Г.

Паскаль

100

Єгоров В.В.

JAVA

65

Єгоров В.В.

Рис. 10.11. Відношення, що отримані за правилом 4

З рис. 10.11 видно, що порожні поля і дублювання інформації удалося усунути. Утрати зведень про те, хто з викладачів веде яку дисципліну, не відбулося завдяки введенню ключа ПІБ сутності ВИКЛАДАЧ як зовнішнього ключа у відношення ДИСЦИПЛІНА_ ВИКЛАДАЧ.

Приклад. Зв'язок між сутностями 1 : М, а клас приналежності М-зв'язної сутності необов'язковий.

Нехай клас приналежності 1-зв'язної сутності також необов'язковий, хоча це і не принципово, тому що визначальним є клас приналежності М-зв'язної сутності. Подивимося, до чого може привести використання одного відношення в цьому випадку (рис. 10.12).

ВИКЛАДАЧ_ДИСЦИПЛІНА

ПІБ

Посада

Назва

Години

Іванов І.М.

асистент

СУБД

60

Іванов І.М.

асистент

ПЛ/1

70

Петров М.І.

викладач

АЛГОЛ

80

Сідоров Н.Г.

доцент

ФОРТРАН

90

…

…

С++

85

Єгоров В. В.

доцент

Паскаль

100

Єгоров В. В.

доцент

JAVA

65

Козлов А.С.

професор

…

…

Рис. 10.12. Вихідне відношення

З приведеним відношенням зв'язані наступні проблеми:

1. Є порожні поля в кортежах, що містять наступне:

а) дані про викладачів, що не ведуть дисциплін;

б) дані про дисципліни, що не ведуться викладачами.

2. Надлишкове дублювання даних про викладачів, що ведуть більш однієї дисципліни.

ВИКЛАДАЧ

ВЕДЕ

ДИСЦИПЛІНА

ПІБ

Посада

ПІБ

Назва

Назва

Години

Іванов І.М.

асистент

Іванов І.М.

СУБД

СУБД

60

Петров М.І.

викладач

Іванов І.М.

ПЛ/1

ПЛ/1

70

Сидоров Н.Г.

доцент

Петров М.І.

АЛГОЛ

АЛГОЛ

80

Єгоров В.В.

доцент

Сідоров Н.Г.

ФОРТРАН

ФОРТРАН

90

Козлов А.С.

професор

Єгоров В. В.

Паскаль

С++

85

Єгоров В. В.

JAVA

Паскаль

100

JAVA

65

Рис. 10.13. Відношення, що отримані за правилом 5

У випадку обов'язкового класу приналежності 1-зв'язної сутності зникають проблеми 1 а). Для усунення всіх проблем потрібно перейти до трьох відношень у відповідності з наступним правилом.

Правило 5. Якщо ступінь зв'язку 1 : М (М : 1) і клас приналежності М-зв'язної сутності є необов'язковим, то необхідно формування трьох відношень (рис. 10.14). Два відношення відповідають сутностям що зв’язуються, ключі яких є первинними в цих відношеннях. Третє відношення є зв'язуючим між першими двома (його ключ поєднує ключові атрибути відношень, що зв'язуються)

У результаті застосування правила 5 до відношення (рис. 10.14) його дані розподіляються по трьом відношенням (рис.10.13).

Таким чином, зазначені проблеми удалося уникнути. Ключ у зв'язаному відношенні ВЕДЕ є складеним і містить у собі ключові атрибути обох відношень, що зв'язуються, (сутностей). Підкреслимо, що визначальним фактором при виборі між 4-м чи 5-м правилом є клас приналежності М-зв'язної сутності.