You are on page 1of 16

4

1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ

1.1 Опис існуючих СУБД


Система керування базами даних (СКБД) або Система управління
базами даних (СУБД) – сукупність програмних і мовних засобів,
призначених для створення, ведення, спільного використання баз даних,
забезпечення її взаємодії з прикладними програмами.
Основні характеристики СУБД:
 контроль за надлишковістю даних;
 несуперечливість даних;
 підтримка цілісності бази даних (коректність та несуперечливість);
 цілісність описується за допомогою обмежень;
 незалежність прикладних програм від даних;
 спільне використання даних;
 підвищений рівень безпеки.
Виділяють дві основні групи СУБД: настільні та серверні.
Настільні СУБД використовуються для відносно невеликих завдань
(невеликий обсяг оброблюваних даних, мала кількість користувачів). З
огляду на це, зазначені СУБД мають спрощену архітектуру, зокрема,
функціонують в режимі файл-сервер, підтримують не всі можливі функції
СУБД. Однак, такі системи мають велику область застосування. В першу
чергу, це державні (муніципальні) установи, сфера освіти, сфера
обслуговування, малий і середній бізнес.
Одними з перших СУБД були dBase-сумісні програмні системи,
розроблені різними фірмами. Першою широко поширеною системою такого
роду була система dBase III – PLUS.
Сучасна СУБД містить в своєму складі програмні засоби створення баз
даних, засоби роботи з даними і сервісні засоби. За допомогою засобів
створення БД проектувальник, використовуючи мову опису даних (МОД),
5

переводить логічну модель БД в фізичну структуру, а на мові маніпуляції


даними (ММД) розробляє програми, що реалізують основні операції з
даними (в реляційних БД – це реляційні операції). При проектуванні
залучають візуальні засоби, тобто об'єкти, і програма-відладчик, за
допомогою якої з'єднуються і тестуються окремі блоки розробленої програми
управління конкретної БД.
Засоби роботи з даними призначені для користувача БД. Вони
дозволяють встановити зручний (як правило, графічний багатовіконний)
інтерфейс з користувачем, створити необхідну функціональну конфігурацію
екранного подання виведеної інформації та тієї, яка вводиться (колір, розмір і
кількість вікон, піктограми користувача тощо), здійснювати операції з
даними БД, маніпулюючи текстовими і графічними екранними об'єктами.
В останні роки велику популярність отримала система управління
базами даних Microsoft Access, яка входить в цілий ряд версій пакета
Microsoft Office.
Для великих організацій ситуація принципово змінюється. Тому на
передній край боротьби за автоматизацію виходять серверні СУБД.
Основними виробниками таких систем обробки та зберігання даних є 3
корпорації: Oracle, Microsoft та IBM. Діаграма співвідношення обсягів
продажів відповідних систем.
Найбільш поширеними клієнт-серверними системами тут відповідно є
системи Oracle, MS SQL Server DB2, Infоrmiх Dynamic Server.
MS SQL Sеrvеr – пропонує широкий спектр послуг адміністрування. Це
дозволяє використовувати її в інформаційних системах для середнього
бізнесу і комп'ютерних інформаційних системах. В основі платформи MS
SQL Server використовується середовище Windows. Головна перевага
програми - тісна інтеграція з програмними продуктами від Microsoft і
можливість експорту або імпорту даних в більшість поширених форматів
даних, що дозволяє використовувати MS SQL Server як центральне сховище
даних.
6

На даний момент існує кілька версій систем, кожна з яких включає


цілий перелік продуктів, наприклад, Orаclе 8, Orаclе 9i, Orаclе 10g.
Оrаclе пропонує відкриті і зручні у використанні технологічні рішення.
Готові пaкeтірyемиe рішення автоматично включають в свою вартість сервер
додатків, базу даних, інструменти управління даними, що не підлягають
структурування. Масштабуються бізнес-додатки Оrаcle можуть бути легко
інтегровані з ІТ-інфраструктурою підприємства без втрати вже вкладених в
IT інвестицій.
На сьогоднішній день розроблені лінійки продуктів dв2 і Informix, що
включають СУБД.
Універсальний сервер баз даних dв2 Universal Database – це об'єктно-
реляційна система управління базами даних з підтримкою мультимедіа та
Wеb, що працює на системах від ПК і серверів на процесорах Intеl до UNIХ,
від найпростіших однопроцесорних систем до симетричних
багатопроцесорних систем. Dв2 Univеrsal Datаbase об'єднує в собі високу
продуктивність систем обробки операцій в режимі online, модернізовані
засоби оптимізації з можливостями паралельної обробки баз даних, об'єктно-
реляційні розширення.
Сучасні СУБД не задовольняє повною місткістю вимог, які необхідні
користувачам. Ми вважаємо, неможливо використовувати одну СУБД у всіх
сферах діяльності. Деякі СУБД мають свою схильність до певної задачі. Так,
наприклад, в освітньому процесі найбільш часто використовують Microsoft
Access. Дана СУБД дозволяє навчитися створювати найпростіші бази даних
для відпрацювання навичок створення більш складних СУБД на
підприємствах різних галузей промисловості і в сфері послуг.

1.2 Характеристика та особливості реляційних баз даних


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

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


користувачів.
Реляційна база даних – база даних, заснована на реляційній моделі
даних. Слово «реляційний» походить від англ. relation. Для роботи з
реляційними БД застосовують реляційні СУБД. Інакше кажучи, реляційна
база даних – це база даних, яка сприймається користувачем як набір
нормалізованих відношень різного ступеня.
Використання реляційних БД було запропоноване Едгаром Коддом в
1970 році.
Реляційна база даних являє собою безліч взаємопов'язаних таблиць,
кожна з яких містить інформацію про об'єкти певного виду. Кожен рядок
таблиці містить дані про один об'єкт (наприклад, автомобілі, комп'ютері,
клієнті), а стовпці таблиці містять різні характеристики цих об'єктів –
атрибути (наприклад, номер двигуна, марка процесора, телефони фірм або
клієнтів).
Рядки таблиці називаються записами. Всі записи таблиці мають
однакову структуру – вони складаються з полів (елементів даних), в яких
зберігаються атрибути об'єкта. Кожне поле запису містить одну
характеристику об'єкта і являє собою заданий тип даних (наприклад,
текстовий рядок, число, дата). Для ідентифікації записів використовується
первинний ключ. Первинним ключем називається набір полів таблиці,
комбінація значень яких однозначно визначає кожний запис у таблиці.
Над реляційними таблицями можливі наступні операції:
 об'єднання таблиць з однаковою структурою, результат –
загальна таблиця: спочатку перша, потім друга (конкатенація);
 перетин таблиць з однаковою структурою, результат –
вибираються ті записи, які знаходяться в обох таблицях.
 віднімання таблиць з однаковою структурою, результат –
вибираються ті записи, які не мають в віднімається.
 вибірка (горизонтальне підмножина), результат – вибираються
8

записи, що відповідають певним умовам;


 проекція (вертикальне підмножина), результат – відношення, що
містить частину полів з вихідних таблиць;
 декартовий добуток двох таблиць (записи результуючої таблиці
виходять шляхом об'єднання кожного запису першої таблиці з кожним
записом іншої таблиці).
Так як реляційні таблиці пов'язані один з одним, отже, дані можуть
вилучатись одночасно з декількох таблиць. Таблиці зв'язуються між собою
для того, щоб в кінцевому рахунку зменшити обсяг БД. Зв'язок кожної пари
таблиць забезпечується при наявності в них однакових стовпців.
Існують наступні типи інформаційних зв'язків:
 один до одного;
 один-ко-багатьох;
 багато-до-багатьох.
Зв'язок один-до-одного передбачає, що одному атрибуту першої
таблиці відповідає тільки один атрибут другий таблиці і навпаки.
Зв'язок один-до-багатьох передбачає, що одному атрибуту першої
таблиці відповідає декілька атрибутів другої таблиці.
Зв'язок багато-до-багатьох передбачає, що одному атрибуту першої
таблиці відповідає декілька атрибутів другої таблиці і навпаки.
Реляційна модель даних – логічна модель даних.
В даний час ця модель є фактичним стандартом, на який орієнтуються
практично всі сучасні комерційні системи управління базами даних. За
даними аналітиків на 2010 рік, реляційні СУБД використовуються в
абсолютній більшості великих проектів з розробки інформаційних систем. За
результатами досліджень компанії IDC 2009 року всього близько 7%
складають проекти, в яких використовуються СУБД нереляційного типу. У
реляційній моделі досягається більш високий рівень абстракції даних, ніж в
ієрархічній або мережевій. У статті Е. Ф. Кодда стверджується, що
«реляційна модель надає засоби опису даних на основі тільки їх природної
9

структури, тобто без потреби введення якоїсь додаткової структури для цілей
машинного представлення». Іншими словами, подання даних не залежить від
способу їх фізичної організації. Це забезпечується за рахунок використання
математичного поняття відношення.
До складу реляційної моделі даних зазвичай включають теорію
нормалізації. Крістофер Дейт визначив три складові частини реляційної
моделі даних:
 структурна;
 маніпуляційна;
 цілісна.
Структурна частина моделі визначає, що єдиною структурою даних є
нормалізоване n-арне відношення. Відношення зручно представляти у формі
таблиць, де кожен рядок є кортеж, а кожен стовпець – атрибут, визначений
на деякому домені. Даний неформальний підхід до поняття відношення дає
більш звичну для розробників і користувачів форму представлення, де
реляційна база даних являє собою кінцевий набір таблиць.
Маніпуляційна частина моделі визначає два фундаментальних
механізми маніпулювання даними – реляційну алгебру і реляційне числення.
Основною функцією маніпуляційної частини реляційної моделі є
забезпечення заходів реляційності будь-якої конкретної мови реляційних БД:
мова називається реляційною, якщо вона має не меншу виразність і
потужність, ніж реляційна алгебра або реляційне числення.
Цілісна частина моделі визначає вимоги цілісності сутностей і
цілісності посилань. Перша вимога полягає в тому, що будь-який кортеж
будь-якого відношення відмінний від будь-якого іншого кортежу цього
відношення, тобто іншими словами, будь-яке відношення має володіти
первинним ключем. Вимога цілісності щодо посилань, або вимога
зовнішнього ключа полягає в тому, що для кожного значення зовнішнього
ключа, що з'являється у відношенні, на яке веде посилання, повинен знайтися
кортеж з таким же значенням первинного ключа, або значення зовнішнього
10

ключа повинно бути невизначеним (тобто ні на що не вказувати).


На відміну від ієрархічної і мережної моделей даних в реляційної
відсутнє поняття групових відношень. Для відображення асоціацій між
кортежами різних відносин використовується дублювання їх ключів.
Переваги використання реляційної моделі даних:
 простота і доступність для розуміння користувачем. Єдиною
використовуваною інформаційною конструкцією є «таблиця»;
 суворі правила проектування, які базуються на математичному
апараті;
 повна незалежність даних. Зміни в прикладній програмі при зміні
реляційної БД мінімальні;
 для організації запитів і написання прикладного ПЗ немає
необхідності знати конкретну організацію БД у зовнішній пам'яті.
Недоліки реляційної моделі:
 далеко не завжди предметна область може бути представлена у
вигляді «таблиць»;
 в результаті логічного проектування з'являється множина
«таблиць». Це призводить до труднощів розуміння структури даних;
 БД займає відносно багато зовнішньої пам'яті;
 відносно низька швидкість доступу до даних.

1.3 Необхідність нормалізації баз даних


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

третю і так далі нормальні форми. Якщо відношення відповідає критеріям


нормальної форми n, та всіх попередніх нормальних форм, тоді вважається,
що це відношення знаходиться у нормальній формі рівня n.
Процес перетворення бази даних до вигляду, відповідальному
нормальним формам, називається нормалізацією. Нормалізація дозволяє
убезпечити базу даних від логічних і структурних проблем, званих
аномаліями даних. Приміром, коли існує кілька однакових записів у таблиці,
існує ризик порушення цілісності даних при оновленні таблиці. Таблиця, що
пройшла нормалізацію, менш схильна до таких проблем, тому її структура
передбачає визначення зв'язків між даними, що виключає необхідність в
існуванні записів з повторюється інформацією.
Поняття нормальної форми було введено Едгаром Коддом при
створенні реляційної моделі БД. Основне призначення нормальних форм –
приведення структури бази даних до вигляду, що забезпечує мінімальну
надмірність. Усунення надмірності проводиться за рахунок декомпозиції
відносин (таблиць) таким чином, щоб у кожному відношенні зберігалися
тільки первинні факти (тобто факти, не виведені з інших збережених фактів).
Таким чином, нормалізація не має на меті зменшення або збільшення
продуктивності роботи або ж зменшення або збільшення обсягу БД.
Кінцевою метою нормалізації є зменшення потенційної суперечливості
зберігається в БД інформації.
Теорія нормалізації реляційних баз даних була розроблена в кінці 70-х
років 20 століття. Відповідно до неї, виділяються шість нормальних форм,
п'ять з яких так і називаються: перша, друга, третя, четверта, п'ята нормальна
форма, а також нормальна форма Бойса-Кодда, лежача між третьою і
четвертою.
Головна мета нормалізації бази даних – усунення надмірності і
дублювання інформації. В ідеалі при нормалізації треба домогтися, щоб
будь-яке значення зберігалося в базі в одному примірнику, причому значення
це не повинно бути отримано розрахунковим шляхом з інших даних, що
12

зберігаються в базі.
У теорії баз даних звичайно виділяється наступна послідовність
нормальних форм:
 перша нормальна форма (1NF);
 другий нормальна форма (2NF);
 третя нормальна форма (3NF);
 нормальна форма Бойса-Кодда (BCNF);
 четверта нормальна форма (4NF);
 п'ята нормальна форма, або нормальна форма проекції-з'єднання
(5NF або PJ/NF);
 доменно-ключова нормальна форма (DKNF);
 шоста нормальна форма.
Основні властивості нормальних форм:
 кожна наступна нормальна форма в деякому розумінні краще
попередньої;
 при переході до наступної нормальній формі властивості
попередніх нормальних властивостей зберігаються.
Перша нормальна форма (1НФ, 1NF)
Змінна відносини знаходиться в першій нормальній формі тоді і тільки
тоді, коли в будь-якому допустимому значенні відносини кожен його кортеж
містить тільки одне значення для кожного з атрибутів.
Що ж стосується різних таблиць, то вони можуть не бути правильними
уявленнями відносин і, відповідно, можуть не перебувати в 1НФ. Відповідно
до визначення Крістофера Дейта для такого випадку таблиця нормалізована
(еквівалентно – знаходиться в першій нормальній формі) тоді і тільки тоді,
коли вона є прямим і вірним поданням деякого відносини. Конкретніше,
розглянута таблиця повинна відповідати таким п'яти умов:
1. Немає упорядкування рядків зверху вниз (іншими словами,
порядок рядків не несе в собі ніякої інформації).
13

2. Немає упорядкування стовпців зліва направо (іншими словами,


порядок стовпців не несе в собі ніякої інформації).
3. Ні повторюваних рядків.
4. Кожне перетин рядка і стовпця містить рівно одне значення з
відповідного домену (і більше нічого).
5. Всі стовпчики є звичайними.
«Звичайність» всіх стовпців таблиці означає, що в таблиці немає
«прихованих» компонентів, які можуть бути доступні тільки у виклику
деякого спеціального оператора замість посилань на імена регулярних
стовпців, або які призводять до побічних ефектів для рядків або таблиць при
виклику стандартних операторів. Таким чином, наприклад, рядки не мають
ідентифікаторів крім звичайних значень потенційних ключів (без прихованих
«ідентифікаторів рядків» або «ідентифікаторів об'єктів»). Вони також не
мають прихованих тимчасових міток.
Друга нормальна форма (2НФ, 2NF)
Змінна відносини знаходиться в другій нормальній формі тоді і тільки
тоді, коли вона знаходиться в першій нормальній формі і кожен неключових
атрибут неприводимого залежить від її потенційного ключа.
Непріводімим означає, що в складі потенційного ключа відсутній
менше підмножина атрибутів, від якого можна також вивести дану
функціональну залежність. Для приводиться функціональної залежності
часто використовується еквівалентну поняття «повна функціональна
залежність».
Якщо потенційний ключ є простим, тобто складається з єдиного
атрибута, то будь-яка функціональна залежність від нього є не приводиться
(повної). Якщо потенційний ключ є складовим, то згідно з визначенням
другий нормальної форми можуть стосуватися не повинно бути неключових
атрибутів, залежних від частини складеного потенційного ключа.
Друга нормальна форма за визначенням забороняє наявність
неключових атрибутів, які взагалі не залежать від потенційного ключа.
14

Таким чином, друга нормальна форма в тому числі забороняє створювати


відносини як незв'язані (хаотичні, випадкові) набори атрибутів.
Третя нормальна форма (3НФ, 3NF)
Змінна відносини R знаходиться в 3NF тоді і тільки тоді, коли
виконуються наступні умови:
 R знаходиться в другій нормальній формі.
 жоден неключових атрибут R не перебуває у транзитивній
функціональної залежності від потенційного ключа R.
Пояснення до визначення:
Неключових атрибут відносини R – це атрибут, який не належить
жодному з потенційних ключів R.
Функціональна залежність безлічі атрибутів Z від безлічі атрибутів X
(записується X → Z, вимовляється «ікс визначає зет») є транзитивною, якщо
існує така безліч атрибутів Y, що X → Y і Y → Z. При цьому жодне з
множин X, Y і Z не є підмножиною іншого, тобто функціональні залежності
X → Z, X → Y і Y → Z не є тривіальними.
Визначення 3NF, еквівалентну визначенням Кодда, але по-іншому
сформульоване, дав Карло Заніоло в 1982 році. Згідно з ним, змінна
відносини знаходиться в 3NF тоді і тільки тоді, коли для кожної з її
функціональних залежностей X → A виконується хоча б одна з таких умов:
 Х містить А (тобто X → A – тривіальна функціональна залежність);
 Х – суперключ;
 А – ключовий атрибут (тобто А входить до складу потенційного
ключа).
Визначення Заніоло чітко визначає різницю між 3NF і більш суворої
нормальною формою Бойса-Кодда (НФБК): НФБК виключає третя умова («А
– ключовий атрибут»).
Запам'ятовується і, за традицією, наочне резюме визначення 3NF Кодда
було дано Біллом Кентом: кожен неключових атрибут «повинен надавати
інформацію про ключі, повному ключі і ні про що, крім ключа».
15

Умова залежності від «повного ключа» неключових атрибутів


забезпечує те, що ставлення знаходиться в другій нормальній формі; а умова
залежності їх від «нічого, крім ключа» - то, що вони знаходяться в третій
нормальній формі.
Нормальна форма Бойса-Кодда (НФБК, BCNF)
Іноді нормальну форму Бойса-Кодда називають посиленою третій
нормальній формою, оскільки вона в усіх відношеннях сильніше (більш
строге) в порівнянні з раніше певної 3НФ.
Мінлива відносини знаходиться в BCNF тоді і тільки тоді, коли кожна
її нетривіальна і не приводиться зліва функціональна залежність має в якості
свого детермінанта деякий потенційний ключ.
Менш формально, змінна відносини знаходиться в нормальній формі
Бойса-Кодда тоді і тільки тоді, коли детермінанти всіх її функціональних
залежностей є потенційними ключами.
Для визначення BCNF слід розуміти поняття функціональної
залежності атрибутів відносини.
Нехай R є змінною відносини, а X і Y – довільними підмножинами
безлічі атрибутів змінної відношення R. Y функціонально залежно від X тоді
і тільки тоді, коли для будь-якого допустимого значення змінної відносини R,
якщо два кортежу змінної відносини R збігаються за значенням X, вони
також збігаються і за значенням Y. Підмножина X називають детермінантою,
а Y – залежною частиною.
Функціональна залежність тривіальна тоді і тільки тоді, коли її права
(залежна) частина є підмножиною її лівій частині (детермінанта).
Функціональна залежність називається тією зліва, якщо жоден атрибут
не може бути опущений з її детермінанта без порушення залежності (іншими
словами, детермінант ненадлишковий).
Ситуація, коли ставлення буде перебувати в 3NF, але не в BCNF,
виникає, наприклад, за умови, що відношення має два (або більше)
потенційних ключа, які є складовими, і між окремими атрибутами таких
16

ключів існує функціональна залежність. Оскільки описана залежність не є


транзитивною, то така ситуація під визначення 3NF не підпадає. На практиці
такі відносини зустрічаються досить рідко, для всіх інших відносин 3NF і
BCNF еквівалентні.
Четверта нормальна форма (4НФ, 4NF)
Змінна відносини R знаходиться в четвертій нормальній формі, якщо
вона знаходиться в НФБК і все нетривіальні багатозначні залежності
фактично є функціональними залежностями від її потенційних ключів.
Еквівалентна формулювання визначення:
Мінлива відносини R знаходиться в четвертій нормальній формі тоді і
тільки тоді, коли в разі існування таких підмножин A і B атрибутів цієї
змінної відносини R, для яких виконується нетривіальна багатозначна
залежність A →→ B, всі атрибути змінної відносини R також функціонально
залежать від А.
П’ята нормальна форма (5НФ, 5NF)
Відносини знаходяться в 5НФ, якщо воно знаходиться в 4НФ і відсутні
складні залежні з'єднання між атрибутами.
Якщо «Атрибут» залежить від «Атрибута_2», а «Атрибут_2» в свою
чергу залежить від «Атрибута_3», а «Атрибут_3» залежить від «Атрибута_1
», то всі три атрибута обов'язково входять в один кортеж.
П'ята нормальна форма орієнтована на роботу з залежними сполуками.
Зазначені залежні з'єднання між трьома атрибутами зустрічаються дуже
рідко. Зовсім соедіненіямежду чотирма, п'ятьма і більше атрибутами вказати
практично неможливо.
Доменно-ключова нормальна форма (ДКНФ, DKNF)
Змінна відносини знаходиться в ДКНФ тоді і тільки тоді, коли кожне
накладене на неї обмеження є логічним наслідком обмежень доменів і
обмежень ключів, накладених на дану змінну відносини.
Обмеження домену – обмеження, що пропонує використовувати для
певного атрибута значення тільки з деякого заданого домена. Обмеження по
17

своїй суті є завданням переліку (або логічного еквівалента переліку)


допустимих значень типу і оголошенням про те, що вказаний атрибут має
даний тип.
Обмеження ключа – обмеження, яке стверджує, що деякий атрибут або
комбінація атрибутів є потенційним ключем.
Будь-яка змінна відносини, що знаходиться в ДКНФ, обов'язково
знаходиться в 5НФ. Однак не будь-яку змінну відносини можна привести до
ДКНФ.
Шоста нормальна форма (6НФ, 6NF)
Змінна відносини знаходиться в шостий нормальній формі тоді і тільки
тоді, коли вона задовольняє всім нетривіальним залежностям з'єднання. З
визначення випливає, що змінна знаходиться в 6НФ тоді і тільки тоді, коли
вона не приводиться, тобто не може бути піддана подальшій декомпозиції
без втрат. Кожна змінна відносини, яка знаходиться в 6НФ, також
знаходиться і в 5НФ.
Надлишковість даних в БД є небажаним явищем, оскільки призводить
до збільшення об'єму пам'яті, уповільнює роботу БД. Надлишковість даних є
результатом в першу чергу дублювання даних. Розрізняють незбиткове та
збиткове дублювання даних. Повністю усувати надлишковість не потрібно,
оскільки при цьому неможливо буде підтримувати БД як єдине ціле. Слід
тільки мінімізувати надлишковість, залишивши необхідне дублювання
даних.
Дублювання даних створює проблеми при виконанні операцій з БД. Ці
проблеми виникають при спробі зробити операції: редагування, додавання
або вилучення даних.
Аномаліями називається така ситуація в БД, яка призводить до
протирічь у БД, або суттєво ускладнює обробку даних.
Розрізняють аномалії модифікації, додавання і видалення.
Аномалії модифікації проявляються в тому, що зміна одних даних
може спричинити перегляд всієї таблиці і відповідну зміну деяких записів
18

таблиці.
Аномалії додавання виникають, коли інформацію в таблицю не можна
помістити, поки вона не повна, або вставка запису вимагає додаткового
перегляду таблиці.
Аномалії видалення – при видаленні будь-якого кортежу з таблиці
може пропасти інформація, яка не пов'язана на пряму з видаляється записом.
Денормалізація – модифікація реляційної моделі, при якій ступінь
нормалізації модифікованого відношення стає нижче, ніж ступінь
нормалізації щонайменше одного з вихідних відношень.
Денормалізація застосовується у тих випадках, коли нормалізована БД
не задовольняє вимогам, що висуваються до продуктивності системи.
Денормалізація може застосовуватися у таких випадках:
 об'єднання таблиць зі зв’язками "один до одного";
 дублювання неключових атрибутів у зв’язках "один до багатьох"
для зменшення кількості з’єднань;
 дублювання атрибутів зовнішнього ключа у зв’язках "один до
багатьох" для зменшення кількості з’єднань;
 дублювання атрибутів "багато до багатьох" для зменшення
кількості з’єднань;
 створення таблиць з даних, що містяться в інших таблицях;
 введення груп полів, що повторюються.
Застосовуючи денормалізацію слід враховувати, що цей процес має
такі негативні наслідки:
 призводить до появи аномалій БД;
 знижує гнучкість системи; - може зменшити час на відповіді до
БД, але при цьому уповільнює операції оновлення даних;
 може ускладнити фізичну реалізацію системи.
Головне, чого ми доб'ємося, провівши нормалізацію бази даних - це
усунення (або, принаймні, серйозне скорочення) надмірності, дублювання
19

даних. Як наслідок, значно скорочується вірогідність появи суперечливих


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

You might also like