Page 134 - 4505
P. 134

5.3.4 Нормалізація
                     Нормалізація  -  це  розбиття  таблиці  на  дві  або  більш,  що  володіють  кращими
               властивостями при включенні, зміні і видаленні даних. Остаточна мета нормалізації зводиться
               до отримання такого проекту бази даних, в якому кожен факт з'являється лише в одному місці,
               тобто  виключена  надмірність  інформації.  Це  робиться  не  стільки  з  метою  економії  пам'яті,
               скільки для виключення можливої суперечності даних, що зберігаються.
                     Існують наступні нормальні форми:
                     Таблиця знаходиться в першій нормальній формі (1нф) тоді і тільки тоді, коли жодна з її
               рядків не містить в будь-якому своєму полі більш за одне значення і жодне з її ключових полів
               не порожньо.
                     Таблиця  знаходиться  в  другій  нормальній  формі  (2нф),  якщо  вона  задовольняє
               визначенню  1нф  і  всі  її  поля,  що  не  входять  в  первинний  ключ,  зв'язані  повною
               функціональною залежністю з первинним ключем.
                     Таблиця  знаходиться  в  третій  нормальній  формі  (3нф),  якщо  вона  задовольняє
               визначенню 2нф і не одне з її не ключових полів не залежить функціонально від будь-якого
               іншого не ключового поля.
                     5.3.5 Процедура проектування
                     Процес  проектування  інформаційних  систем  є  достатньо  складним  завданням.  Він
               починається з побудови інфологичеськой моделі даних (п. 2), тобто ідентифікації суті. Потім
               необхідно виконати наступні кроки процедури проектування даталогичеськой моделі.

                   1.  Представити  кожен  стрижень  (незалежну  суть)  таблицею  бази  даних  (базовою
                      таблицею) і специфікувати первинний ключ цієї базової таблиці.
                   2.  Представити кожну асоціацію (зв'язок виду "многие-ко-многим" або "многие-ко-многим-
                      ко-многим"  і  так  далі  між  суттю)  як  базову  таблицю.  Використовувати  в  цій  таблиці
                      зовнішні  ключі  для  ідентифікації  учасників  асоціації  і  специфікувати  обмеження,
                      пов'язані з кожним з цих зовнішніх ключів.
                   3.  Представити  кожну  характеристику  як  базову  таблицю  із  зовнішнім  ключем,  що
                      ідентифікує суть, що описується цією  характеристикою. Специфікувати обмеження на
                      зовнішній  ключ  цієї  таблиці  і  її  первинний  ключ  -  ймовірно,  комбінації  цього
                      зовнішнього ключа і властивості, яка гарантує "унікальність в рамках описуваної суті".
                   4.  Представити кожне позначення, яке не розглядалося в попередньому пункті, як базову
                      таблицю  із  зовнішнім  ключем,  що  ідентифікує  суть,  що  позначається.  Специфікувати
                      пов'язані з кожним таким зовнішнім ключем обмеження.
                   5.  Представити  кожну  властивість  як  поле  в  базовій  таблиці,  що  представляє  суть,  яка
                      безпосередньо описується цією властивістю.
                   6.  Для  того,  щоб  виключити  в  проекті  ненавмисні  порушення  яких-небудь  принципів
                      нормалізації, виконати процедуру нормалізації.
                   7.  Якщо  в процесі  нормалізації  було  проведено розділення  яких-небудь  таблиць,  то  слід
                      модифікувати інфологичеськую модель бази даних і повторити перераховані кроки.
                   8.  Вказати  обмеження  цілісності  проектованої  бази  даних  і  дати  (якщо  це  необхідно)
                      короткий опис отриманих таблиць і їх полів.

                   Контрольні питання:
                      1.  Які основні поняття реляційних баз даних ви знаєте?
                      2.  Які основні правила створення реляційної бази даних?
                      3.  Що таке універсальне відношення?
                      4.  Для чого використовується універсальне відношення?
                      5.  Які нормальні форми ви знаєте?
                      6.  Яка процедура проектуваняреляційної бази даних?



                                                                      130
   129   130   131   132   133   134   135   136   137   138   139