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