Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kurchas_po_BD2.docx
Скачиваний:
26
Добавлен:
17.03.2016
Размер:
2.2 Mб
Скачать

2.6 Організація обмежень посилальної цілісності

Одним з основних понять щодо структури БД — є поняття її об'єкту або сутності. Будь-який об'єкт, який розглядається в БД як окремий та автономний від інших; будь який процес — може бути сутністю. Всі сутності однієї бази даних, як правило, зв'язані між собою.

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

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

Сутності також класифікуються на слабкі та звичайні. Слабкі сутності можуть існувати тільки при на явності зв’язків з іншими сутностями, у той час коли звичайні сутності існують незалежно від наявності зв’язків між ними і іншими сутностями.

Отже, зв’язки можна класифікувати один із трьох можливих способів:

  • повні та часткові;

  • обов’язкові та необов’язкові;

  • слабкі та звичайні сутності.

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

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

Визначити, яке з відношень, що беруть участь у зв’язку один до багатьох„ буде посилатися, а яке – посилочним, дуже просто. Так як відношення, яке бере участь у зв’язку один до багатьох, зі сторони один завжди є посилальними, і його ключ-кандидат копіюється у відношення, яке бере участь у зв’язку зі сторони „багато”, яке є посилочним. Ключ-кандидат посилочного відношення часто виступає як частина, яка входить до складу відношення, яке бере участь у зв’язку зі сторони „багато”, але не забезпечує унікальну ідентифікацію кортежів посилаючого відношення. Щоб сформувати ключ-кандидат посилаючого відношення, ключ посилочного відношення слід скомбінувати з декількома іншими атрибутами.

Зв’язки багато до багатьох часто зустрічаються у реальному світі, але в реляційній базі даних реалізувати такий зв’язок неможливо. При моделюванні використовують проміжкові зв’язки до один до багатьох з кожним з відношенням – учасників зв’язку багато до багатьох. Таке проміжкові відношення називається проміжковою таблицею. Відношення, яке бере участь у зв’язку „один до багатьох” зі сторони „один” завжди є посилочним. Це значить, що всі попередні сутності, тобто сутності, які беруть участь у зв’язку „багато до багатьох”, заміненої двома зв’язками „один до багатьох”, в даній моделі будуть посилочними відношеннями, а проміжкова таблиця – посилаючимся. Ключі-кандидати проміжковою таблиці включають ключі-кандидати попередніх відношень, зв’язаних з проміжковою таблицею.

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]