Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
См р по СУБД2012+2013.doc
Скачиваний:
3
Добавлен:
11.11.2019
Размер:
966.14 Кб
Скачать

Збір інформації про дані для перспективних додатків

Звично після введення бази даних в експлуатацію користувачі, оцінивши на практиці її значення для ухвалення рішень і обробки інформації, пред'являють вищі вимоги до складу реалізовуваних функцій, вносять пропозиції по введенню нових перехресних посилань і поліпшенню операційних характеристик системи.

Нормалізація відносин

В процесі нормалізації елементи даних групуються в таблиці, що представляють об'єкти і їх взаємозв'язки. Теорія нормалізації заснована на тому, що певний набір відносин володіє кращими властивостями при включенні, модифікації і видаленні даних, ніж вся решта наборів відносин, за допомогою яких можуть бути представлені ті ж дані.

Введення нормалізації відносин при розробці концептуальної моделі забезпечує її працездатність. Виключення груп, що повторюються, є попереднім етапом нормалізації, після чого можна перейти до отримання другої нормальної форми.

Другий крок нормалізації полягає в тому, щоб виділити ключі і залежні від них атрибути. Кожен кортеж відношення, що знаходиться в першій нормальній формі, повністю залежить від сукупності ключових атрибутів. Для того, щоб привести відношення до другої нормальної форми, потрібно виділити групи атрибутів, залежні від частин складового ключа. Ці групи можуть утворити окремі відносини (таблиці). Виділення з відношення, що знаходиться в першій нормальній формі, таких відносин, в яких неключові атрибути залежать тільки від ключа в цілому, називається приведенням до другої нормальної форми.

На третьому кроці нормалізації слід виділити з відносин, що знаходяться в другій нормальній формі, ті атрибути, які, хоча і залежать від ключа якого-небудь відношення, проте можуть існувати в базі даних незалежно від решти атрибутів цього відношення. Виділення атрибутів дозволяє вводити їх значення незалежно від взаємозв'язків, в яких вони беруть участь.

Звернемося наприклад, приведеному на табл. 5.1. Елементами даних або атрибутами тут є «Номер пацієнта», «Ім'я пацієнта», «Адреса пацієнта», «Номер патенту хірурга», «Ім'я хірурга», «Дата операції», «Операція», «Препарат, призначений після операції», і «Побічний ефект» від застосування препарату. В процесі обговорення пояснюватимуться допущення і обмеження, прийняті в даній спрощеній інформаційній системі госпіталю.

Таблиця 5.1

ГОСПІТАЛЬ

Номер пациента

Номер патента хирурга

Дата операции

Имя пациента

Адрес пациента

Имя

хирурга

Операция

Препарат, назначенный после операции

Побочный эффект

1111

145

01.01.77

Джон Уайт

15 Нью стрит, Нью-Йорк, Н -И

Бет Литл

Удаление камней из желчного пузыря

Пенициллин

Сыпь

1111

311

12.06.77

Джон Уайт

15 Нью стрит, Нью-Йорк, Н -И

Майкл Даймонд

Удаление камней из почек

1234

243

05.04.76

Мэри Джонс

10 Мэйн стрит, Рай, Н-И

Чарльз Филд

Удаление катаракты

Тетрациклин

Лихорадка

1234

467

10.05.77

Мэри Джонс

10 Мэйн стрит, Рай, Н-И

Патри- ция Голд»

Удаление тромба

2345

189

08.01.78

Чарльз Браун

Догвуд Лэйн, Харисон, Н -И

Дэвид Розен

Операция на открытом сердце

Цефалдспорин

4876

145

05.11.77

Хол Кейн

55 Бостон Пост роуд, Честер, Конн

Бет Литл

Удаление желчного пузыря

Демициллин

Стовпець (або декілька стовпців) називається можливим ключем, якщо його значення однозначно визначають рядки таблиці. Наприклад, рядок таблиці однозначно визначається номером пацієнта, номером патенту хірурга і датою операції. Оскільки це єдиний можливий ключ, він є первинним.

Перша нормальна форма. Відношення, що знаходиться в першій нормальній формі, є таблицею. На перетині стовпця і рядка може бути тільки одне значення. Існування груп значень на перетині рядків і стовпців не допускається.

Розглянемо ненормалізовані відносини, показані на табл. 5.2. На перетині рядків і стовпців є більше одного значення. Це свідчить про те, що значення первинного ключа неоднозначно визначають неключові атрибути.

Таблиця 5.2

НЕНОРМАЛІЗОВАНЕ ПРЕДСТАВЛЕННЯ

Номер пациента

Номер патента хирурга

Дата операции

Имя пациента

Адрес пациента

Имя хирурга

Операция

Препарат, назначенный после операции

Побочный эффект

1111

145

311

01.01.77

12.06.77

Джон Уайт

15 Нью стрит, Нью-Йорк, Н -И

Бет Литл

Майкл Даймонд

Удаление камней из желчного пузыря

Удаление камней из почек

Пенициллин

Сыпь

6845

243

05.04.76

15.12.76

Энн

Худ

Хилтон роуд, Ларчмонт, Н -И

Чарльз Филд

Замещение роговицы глаза

Удаление катаракты

Тетрациклин

Лихорадка

На перетині деяких стовпців і рядків знаходиться більше одного значення. Виявити первинний ключ непросто. Допустимо, що первинним ключем є «номер пацієнта». Певному значенню первинного ключа відповідає декілька стовпців, наприклад для номера пацієнта 1111 є декілька значень на перетині з номером патенту хірурга (145 і 311), датою операції (01.01.77 і 12.06.77) і т.д. Це означає, що тут значення неключових атрибутів не можуть бути однозначно визначені по значенню первинного ключа.

Нормалізуємо дані відносини (табл. 5.3). З цією метою продублюємо значення атрибутів «Номер пацієнта», «Ім'я пацієнта» і «Адреса пацієнта», а в одному випадку - «Номер патенту хірурга» і «Ім'я хірурга». Відношення на табл. 5.3 знаходиться в першій нормальній формі. На перетині рядків і стовпців тепер є тільки по одному значенню. мал 5.3 представляє це відношення у вигляді діаграми.

Таблиця 5.3

ПЕРША НОРМАЛЬНА ФОРМА

Номер пациента

Номер патента хирурга

Дата операции

Имя пациента

Адрес пациента

Имя хирурга

Операция

Препарат, назначенный после операции

Побочный эффект

1111

145

01.01.77

Джон Уайт

15 Нью стрит, Нью Йорк, Н -И

Бет Литл

Удаление камней из желчного пузыря

Пенициллин

Сыпь

1111

311

12.06.77

Джон Уайт

15 Нью стрит, Нью Йорк, Н И

Майкл

Даймонд

Удаление камней из почек

мал. 5.3

Відношення в третій нормальній формі. Якщо задані номер пацієнта, номер патенту хірурга і дата операції, можна знайти всі значення атрибутів, розташовані по периметру. Щоб з'ясувати побічний ефект від застосування препарату при заданому номері пацієнта, номері патенту хірурга і даті операції, необхідно спочатку встановити, який препарат був призначений після операції, а потім вже визначити, який побічний ефект мало його застосування.

Важливо відзначити, що перетворення відношення, що знаходиться в першій нормальній формі, в ряд відносин, що знаходяться в третій нормальній формі, не приводить до втрати інформації. Іншими словами, вся інформація, яка може бути одержана з початкового відношення (табл. 5.3), може бути одержана і з відносин, які показані на табл. 5.4, 5.5 і 5.7, 5.8. Крім того, необхідно вказати, що процес нормалізації відносин базується на аналізі взаємозв'язків між типами атрибутів і ніяк не пов'язаний з можливими значеннями їх екземплярів.

При проведенні нормалізації відносин розробник бази даних повинен чітко уявляти собі семантику даних, використовуваних у відповідній наочній області. Залежно від того, як буде задана структура функціональних залежностей між атрибутами, зміниться і схема відносин, що знаходяться в третій нормальній формі, одержувана після нормалізації (мал. 5.6).

мал. 5.6

В результаті нормалізації ми одержали чотири відношення, що знаходяться в третій нормальній формі. Вони представляють саме ті об'єкти і їх взаємозв'язки, які відповідають нашому уявленню про дану наочну область: ПАЦІЄНТ, ХІРУРГ, ОПЕРАЦІЯ і ПРЕПАРАТ. Ці відносини і складають концептуальну модель наочної області.