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