Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_информсистемы_Назаров_11_02_2016.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.93 Mб
Скачать

3.3. Чужий (зовнішній) ключ відношення

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

Чужий ключ відношення – це мінімальний набір атрибутів відношення, що відповідає можливому ключу іншого, але зв’язаного з ним відношення, і використовується для зв’язування відношень між собою.

Відношення ВАНТАЖ і ПОСТАЧАННЯ зв’язані між собою за допомогою атрибута <Код_вантажу>. Тільки у відношенні ВАНТАЖ атрибут <Код_вантажу> є можливим ключем, а у відношенні ПОСТАЧАННЯ атрибут <Код_вантажу> не є можливим ключем, отже він є чужим ключем відношення ПОСТАЧАННЯ.

Аналогічно відношення ОДЕРЖУВАЧ і ПОСТАЧАННЯ зв’язані за допомогою атрибута <Код_одержувача>. У відношенні ОДЕРЖУВАЧ атрибут <Код_одержувача> є можливим ключем, а у відношенні ПОСТАЧАННЯ атрибут <Код_одержувача> не є можливим ключем, отже він є чужим ключем відношення ПОСТАЧАННЯ.

Відношення ОДЕРЖУВАЧ і ВАНТАЖ безпосередньо між собою не зв’язані, вони зв’язані через відношення ПОСТАЧАННЯ.

4. Проектування реляційної бази даних

4.1. Цілі проектування рбд

Ціль 1. Забезпечити можливість збереження всіх необхідних даних у РБД. Необхідно визначити всі атрибути, що потрібно помістити в РБД. За умови, що всього таких атрибутів налічується не більше двадцяти, на початку проектування РБД всі вони залучаються в одне відношення.

Ціль 2. Вилучити явну надлишковість даних з відношень. Для того щоб позбавитись явної надлишковості даних у відношенні потрібно розрізняти поняття дублювання та надлишкового дублювання даних (інакше кажучи, неявної та явної надлишковості даних). Розглянемо 2 відношення

Таблиця 6 – Відношення ОДЕРЖУВАЧ 1:

Код одержувача

Станція

1423

Запоріжжя 1

1248

НДВузол

1537

Запоріжжя 1

Дані про станцію Запоріжжя 1 дублюються (Запоріжжя 1 – 2 рази). Але втрата одного значення станції (де знаходиться одержувач 1423) призведе до того, що ми не зможемо дізнатися станцію примикання для нього. Тут дублювання даних про станцію не є надлишковим. Це приклад неявної надлишковості даних.

Таблиця 7 – Відношення ОДЕРЖУВАЧ 2:

Код одержувача

Станція

Код станції

1423

Запоріжжя 1

46070

1248

НДВузол

45000

1537

Запоріжжя 1

46070

Тут є надлишкове дублювання даних: втрачену назву станції примикання одержувача 1423 можна дізнатися за кодом станції примикання іншого одержувача 1537. Це приклад явної надлишковості даних.

Надлишкове дублювання даних потрібно прагнути виключити з відношення в процесі проектування РБД.

Ціль 3. Нормалізувати відношення означає розділити одне відношення на кілька відношень. Нормалізацію відношень виконують з метою уникнути проблем, що можуть трапитися під час роботи з РБД. За допомогою нормалізації відношення можна позбавитися явної надлишковості даних у відношенні.

Ціль 4. Звести до мінімуму кількість відношень, що зберігатимуться у РБД. Прагнути треба до мінімуму відношень. Розкладання одного відношення на кілька відношень дозволяє уникнути низки , що можуть трапитися під час роботи з РБД, але це незручно для користувача, якому інколи важко визначити в якому саме відношенні знаходиться потрібна інформація.

В процесі проектування РБД необхідно знайти компроміс між 3-ю і 4-ю цілями.