Т (А2:А1) = 1:Б.Тип співвідношення «багато до багатьох» Т (АІ:А2) = Б:Б означає, що будь-якому значенню А 1 може відповідати нуль чи кілька значень А2 і во-дночас, навпаки, будь-якому значенню А2 може відповідати нуль чи кілька значень АІ.
Методика (кроки) інфологічного проектування:
1. Перший крок - аналіз атрибутів на предмет вилучення синонімів і омонімів.
2. Другий крок - агрегація атрибутів і компонування їх у інформаційні об'єкти. Процес агрегації атрибутів і визначення об'єктів є ітеративним, тобто послідовним.
3. Третім кроком інфологічного проектування є перевірка відповідності отриманих об'єктів умовам нормалізації.
4. Четвертий крок - зовнішнє кодування.
5. П’ятий крок. Виділення запитів до БД і словесний їх опис.
6. Шостий крок. Кожний запит необхідно подати в структурованому вигляді відпо-відним запитальним зв'язком.
7. На сьомому кроці запитувальні зв'язки перевіряють на відповідність умовам канонічності.
Поняття агрегації та порядок її виконання.
Другим кроком інфологічного проектування є агрегація атрибутів і компонування їх у інформаційні об'єкти. Процес агрегації атрибутів і визначення об'єктів є ітеративним, тобто послідовним.
Порядок виконання.
Спочатку серед атрибутів виділяються ті, між якими існує однозна-чний зв'язок в обох напрямках (1:1). Такі атрибути агрегуються в один об'єкт, якому присвоюється унікальне ім'я. Важливим моментом є вибір імені об'єкта. Ідентифікація об'єкта якимось ім'ям залежить від того, якій сутності предметної області відповідає даний об'єкт. Виконуючи такий аналіз, іноді необхідно додатково уточнювати ім'я атрибута для однозначного його семантичного трактування.
Після багаторазового виконання попереднього пункту перевіряють атрибути, що залишились, на тип співвідношення з виділеними об'єктами; якщо серед них є такі, що знаходяться у співвідношенні 1:1 з виділеними об'єктами, то їх приєднують до відповідних об'єктів.
Якщо серед решти атрибутів немає таких, які б знаходились з виділеними об'єктами у співвідношенні 1:1, то необхідно виконати перевірку на співвідношення 1:Б між рештою атрибутів і виділеними об'єктами. При такому типі співвідношення може існувати функціональна залежність, але слід пам'ятати, що співвідношення 1:Б у цьому разі означатиме те, що в екземплярах об'єкта можуть дублюватись значення даного атрибута. Такі атрибути приєднуються до виділених об'єктів.
Якщо після виконання описаного аналізу ще залишаться атрибути і серед них немає таких, які б знаходились з виділеними об'єктами у співвідношенні 1:1 чи 1:Б, то вирішують питання про створення з решти , атрибутів окремих нових об'єктів. Не виключена можливість, що при цьому може з'явитися об'єкт, який містить лише один атрибут. Це свідчить про те, що існують недоліки в проектуванні на зовнішньому рівні. Тому потрібно виконати до обстеження ПО з точки зору поповнення таких об'єктів атрибу-тами, яких бракує.
Отримані об'єкти необхідно ідентифікувати унікальними іменами. Іменувати об'єкт краще одним словом і бажано, щоб це був іменник. Але не завжди можна ідентифікувати об'єкт одним словом, тому іменами об'єктів можуть бути також словосполучення, які складаються з дієслова або іменників.
Представлення запитів в структурованому вигляді відпо-відним запитальним зв'язком.
Узагальнена форма запитального зв'язку така:
де — початкові об'єкти, які потрібно розмістити в порядку інформаційного пошуку чи в порядку зменшення групувальної ознаки об'єктів;
- кінцевий об'єкт, який уособлює мету реалізації запиту.
Початкові й кінцеві об'єкти виділяють на основі семантичного аналізу запиту. Якщо в результаті аналізу виділено кілька кінцевих об'єктів, то це означає, що один запит вміщує кілька одновимірних запитувальних зв'язків.
Запити бувають одновимірні й багатовимірні. Запит, у якого на вході є один початковий об'єкт, називається одновимірним. Запит, у якого на вході кілька початкових об'єктів, є багатовимірним.
Наприклад, запит «Видати список студентів певної ГРУПИ заданого ФАКУЛЬТЕТУ, вказаного КУРСУ>> є багатовимірним, оскільки йому відповідає такий запитальний зв'язок:
Запит «Видати список СПІВРОБІТНИКІВ указаного ВІДДІЛУ» буде одновимірним:
Два запитувальних зв'язки тотожні, якщо результати їх виконання збі-гаються.
Канонічний запитувальний зв'язок — це такий багатовимірний зв'язок, у якому:
1) тип співвідношення між будь-якими двома початковими об'єктами може бути лише Б:Б;
2) тип співвідношення між будь-яким початковим і кінцевим об'єктами не може бути Б: 1.
Якщо багатовимірний запитальний зв'язок не є канонічним, то вико-нується ряд перетворень для зведення його до канонічного вигляду. Розглянемо види перетворень.
Перетворення. Нехай у багатовимірному запитувальному зв'язку
співвідношення між початковими об'єктами , тобто порушено першу умову канонічності. Тоді запитальний зв'язок потрібно перетворити на тотожний ланцюжок запитувальних зв'язків:
Можливі багатовимірні запитувальні зв'язки, для яких перетворення 1 виконується багаторазово, в результаті чого початковий запитальний зв'язок замінюється сукупністю, яка вміщує кілька одновимірних і закінчується багатовимірним запитальним зв'язком меншої розмірності, ніж початковий, який одразу буде канонічним, тобто не підлягатиме розк-ладанню на простіші зв'язки.
8. Теорія нормалізації відношень
Нормалізація відношень — це ітераційний зворотний процес декомпозиції початкового відношення на кілька простіших відношень меншої розмірності.
Отриманий в результаті нормалізації склад атрибутів відношень БД повинен відповідати таким вимогам: між атрибутами не має бути небажаних функціональних залежностей, групування атрибутів має забезпечувати мінімальне дублювання даних, їх обробку й поновлення без ускладнень і аномалій.
Апарат нормалізації розробив Е. Ф. Кодд. Кожна нормальна форма обмежує тип допустимих залежностей між атрибутами. Кодд виділив три нормальні форми (скорочена назва — 1НФ, 2НФ і ЗНФ). Найбільш до-сконала з них — ЗНФ. Зараз вже відомі й визначені 4НФ, 5НФ.
Нормалізацію відношень виконують за кілька кроків. Перша ітерація(перший крок) — зведення відношень до першої нормальної форми (1НФ).
Відношення в 1НФ повинні відповідати таким вимогам:
усі атрибути відношення мають бути унікальними, тобто не допускається їх дублювання, а також атомарними, тобто неподільними;
усі рядки таблиці повинні мати однакову структуру, тобто одну й ту са-му кількість атрибутів з іменами, що збігаються;
імена стовпців мають бути різними,