Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОБЩИЙ_файл_ПОСОБИЕ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
22.69 Mб
Скачать

Первинні ключі

Первинний ключ являє собою комбінацію атрибутів таблиці, дані яких однозначно визначають кожен рядок таблиці. Якщо ключ складається з одного атрибуту, він називається простим ключем, а якщо з декількох атрибутів – складним ключем. Атрибути, з яких складається ключ, називають ключовими. Первинний ключ таблиці будемо визначати жирним шрифтом (як у MS Access), наприклад, «Таб_номер».

Таблиці розміщаються в файлі бази даних. Кожен рядок містить інформацію про конкретний екземпляр об'єкту.

Логічні зв'язки між таблицями. Вторинні ключі

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

Зв'язок між двома таблицями визначає їх підпорядкованість – одна з таблиць є головною, а друга – підлеглою. У головній таблиці таке поле називають первинним ключем, а в підлеглій таблиці – вторинним (або зовнішнім) ключем. Вторинний ключ – це допоміжне поле, що включається в підлеглу таблицю для встановлення зв'язку з головною таблицею.

Первинний та вторинний ключі, що зв'язують таблиці, повинні мати однаковий тип. Імена цих ключів можуть бути різними.

Існують наступні види зв'язків:

«один-до-одного» (1:1);

«один-до-багатьох» (1:М) або « багато-до-одного » (М:1);

«багато-до-багатьох» (М:М).

Зв'язок «один-до-одного» означає, що одному запису в головній таблиці відповідає не більше одного запису в підлеглій таблиці, а кожному запису підлеглої таблиці – рівно один запис у головній. Наприклад, маємо дві таблиці: «Викладачі» та «Фотографії». Якщо для кожного викладача таблиці «Викладачі» зберігається одна фотографія в таблиці «Фотографії», то між таблицями встановлюється зв’язок «один-до-одного».

Зв'язок «один-до-багатьох» означає, що одному рядку головної таблиці може відповідати будь-яка кількість рядків у підлеглій таблиці, а кожному рядку підлеглої таблиці – тільки один рядок у головній таблиці. Наприклад, маємо дві таблиці: «Викладачі» та «Дисципліни». Нехай кожний викладач може читати декілька учбових дисциплін. Тоді в підлеглу таблицю «Дисципліни» включимо додаткове поле «Номер_викладача», яке є вторинним ключем. Зв’язок між таблицями «Викладачі» та «Дисципліни» буде «один-до-багатьох». Цей вид зв'язку зустрічається найбільше часто.

Зв'язок «багато-до-одного» відрізняється від зв'язку «один-до-багатьох» тільки напрямком. Зв'язок «один-до-багатьох» є зв'язком «багато-до-одного» з боку підлеглої таблиці.

Зв'язок «багато-до-багатьох» має місце, коли одному рядку головної таблиці може відповідати кілька рядків підлеглої таблиці, і одночасно одному рядку підлеглої таблиці – кілька рядків головної таблиці. Наприклад, викладач вузу може читати декілька учбових дисциплін, а одну дисципліну можуть читати декілька викладачів. Тоді між таблицями «Викладачі» та «Дисципліни» треба встановити зв’язок «багато-до-багатьох.

Зв’язок «багато-до-багатьох» замінюють на зв’язки «один-до-багатьох» шляхом використання зв’язкової таблиці. На рис. 10. 6 показано спосіб переходу від зв’язку «багато-до-багатьох» до зв’язків «один-до-багатьох».

Рис. 10.6 Організація зв’язку «багато-до-багатьох»