Перетворення композитного об’єкту у відношення
Тема 3.2. Перетворення семантичної об’єктної моделі у відношення
1. Перетворення простого семантичного об’єкту
2. Перетворення композитного об’єкту
3. Перетворення складового об’єкту
1. Перетворення простого об’єкту у відношення.
Були визначені сім типів семантичних об’єктів, що можуть бути виділені у предметній області. Проектування баз даних – це процес послідовного перетворення концептуального опису предметної області спочатку у семантичну модель або у модель “сутність-зв'язок ”, а потім, у реляційну модель (відношення). При використанні семантичних об’єктів виникнення проблем із нормалізацією для отриманих відношень менш ймовірно, ніж при роботі з моделями “ сутність-зв'язок ”, тому що при визначенні семантичних об’єктів має місце природний розділ семантичної теми на групові атрибути або об’єкти. Таким чином, коли семантичний об’єкт перетворюється у відношення, по правилам, що викладені у цьому розділі, відношення знаходяться у доменно-ключовій формі (ДКНФ), або є близьким до цієї форми, і не потребує нормалізації.
Простий об’єкт не має багатозначних і об’єктних атрибутів. Таким чином, він може бути представлений у базі даних одним відношенням. На рис.1а приведений приклад простого об’єкту ОБЛАДНАННЯ, який перетворюється у одне відношення (рис.1б).
ОБЛАДНАННЯ ID ІнвентарнийНомер Опис ДатаПридбання Вартість |
а)
ОБЛАДНАННЯ (ІнвентарнийНомер, Опис, ДатаПридбання, Вартість)
б)
Рис.1 Реляційне представлення простого об’єкта : а - діаграма об’єкта ОБЛАДНАННЯ; б-відношення ОБЛАДНАННЯ.
Загальна схема перетворення простих об’єктів у відношення показана на рис.2. Об’єкт ОБ’ЕКТ1 трансформується у відношення 01. Екземпляри об’єкту ОБ’ЄКТ1 ідентифікує атрибут А1, який стає ключем відношення 01. Не ключові атрибути відношення позначаються, на цьому та наступних малюнках, крапками. Оскільки ключ - це атрибут, що однозначно ідентифікує рядок таблиці, тільки унікальні ідентифікатори (позначені підкресленими літерами ID) можуть бути перетворені у ключі. Якщо у об’єкта немає унікального ідентифікатора, то його слід створити, або шляхом об’єднання декількох існуючих атрибутів, або шляхом уводу сурогатного ключа.
ОБЄКТ 1 ID A1 . . . |
Рис.2. Загальна схема перетворення простого об’єкта у відношення.
Перетворення композитного об’єкту у відношення.
Композитним об'єктом зветься об'єкт, який має один або декілька простих та групових багатозначних атрибутів, але не має об'єктних атрибутів. На рис. 2.3 а приведений приклад композитного об'єкту РАХУНОК_З_ГОТЕЛЮ. Для реляційного представлення цього відношення створено два відношення: одне – для базового об'єкту РАХУНОК_З_ГОТЕЛЮ, а друге – для повторювального групового атрибута СплатаЗаДень. Отримана структура показана на рис. 2.3б.
а
РАХУНОК_З_ГОТЕЛЮ (НомерРахунку, ДатаПоселення, Ім'яКлієнта, РазомДоСплати).
СПЛАТА_ЗА_ДЕНЬ (НомерРахунку, ДатаНарахування, СпатаЗаНомер, СплатаЗаЇжу, СплатаЗаТелефон, ІншіПосуги, Податок).
Обмеження цілісності посилань:
Значення атрибута НомерРахунку у відношенні СПЛАТА_ЗА_ДЕНЬ повинно існувати серед значень атрибутів у відношенні РАХУНОК_З_ГОТЕЛЮ.
б
Рис. 2.3. Реляційне представлення композиційного об'єкта: а – діаграма об'єкта РАХУНОК_З_ГОТЕЛЮ; б – реляційне представлення об'єкта РАХУНОК_З_ГОТЕЛЮ.
Атрибут НомерРахунку у відношенні СПЛАТА_ЗА_ДЕНЬ підкреслений, тому що він являється частиною ключа відношення, і, крім того, він є зовнішнім ключем відношення РАХУНОК_З_ГОТЕЛЮ, і тому помічається курсивом. Атрибут ДатаНарахування також підкреслений, тому що він є частиною ключа відношення СПЛАТА_ЗА_ДЕНЬ, але він не виділений курсивом, оскільки не являється зовнішнім ключем.
У загальному випадку, при перетворенні композиційних об'єктів вводиться одне відношення для самого об'єкта і по одному відношенню на кожний багатозначний атрибут. На рис. 2.4а ОБ'ЄКТ1 містить дві групи багатозначних атрибутів, кожна з яких представлена відношенням у структурі бази даних. Ключ кожної із цих таблиць представляє собою сполучення ідентифікатора об'єкта і ідентифікатора групи. Так представленням об'єкта ОБ'ЄКТ1 є відношення 01 із ключем А1, відношення 02 із ключем (А1, Г1) і відношення 03 із ключем (А1, Г2).
Мінімальне кардинальне число зв'язку у напрямку від об'єкта до групи задається мінімальним кардинальним числом групового атрибута. Не рис. 2.4а мінімальне кардинальне число першої групи Група1 дорівнює 1. а групи Група2 – 0. Ці кардинальні числа показані на діаграмі структури даних у вигляді перпендикулярної риски (у 02) і овалу (у 03). Мінімальне кардинальне число зв'язку у напрямку від групи до об'єкту за замовчанням завжди дорівнює 1, оскільки група не може існувати, якщо відсутній об'єкт, який повинен містити цю групу. Ці мінімальні кардинальні числа показані перпендикулярними рисками на лініях зв'язку, що ведуть до об'єкту 01.
Обмеження цілісності посилань:
Значення атрибута А1 у відношенні 02 повинно існувати серед значень атрибута А1 у відношенні 01.
Значення атрибута А1 у відношенні 03 повинно існувати серед значень атрибута А1 у відношенні 01.
а
Обмеження цілісності посилань:
Значення атрибута А1 у відношенні 02 повинно існувати серед значень атрибута А1 у відношенні 01.
Значення комбінації (А1,Г1) у відношенні 03 повинно існувати серед значень комбінації атрибутів (А1,Г1) у відношенні 02.
б
Рис.2.4 Загальна схема перетворення композитних об’єктів : а – композитні об’єкти із розділеними групами; б – композитні об’єкти із вкладеними групами.
На рис.2.4 б показано об’єкт, у якому одна група вкладена у другу. У такій ситуації відношення, яке представляє вкладену групу, підкоряється відношенню, яке представляє зовнішню групу. На рис.2.4б відношення 03 підкоряється відношенню 02. Ключем відношення 03 є ключ відношення 02 (А1,Г1), який з’єднується із ідентифікатором другої групи Г2; таким чином, ключем відношення 03 є комбінація (А1,Г1,Г2). Слід зауважити, що ключ А1 у відношенні 02 і ключі А1, Г1 у відношенні 03 не тільки підкреслені, але і виділені курсивом, тому що вони є зовнішніми ключами.