Нормалізація даних в реляційній моделі

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

· вилучення з таблиць інформації, що повторюється;

· створення структури, в якій передбачена можливість її майбутніх змін;

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

Перша нормальна форма

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

Друга нормальна форма

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

Третя нормальна форма

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

Типи відношень

а) Відношення “один-до-одного”

Найпростішим відношенням між таблицями є відношення “один-до-одного”. В такому відношенні одному запису однієї таблиці відповідає тільки один запис у іншій. Таблиці, що зв’язані відношенням “один-до-одного” можна об’єднати в одну таблицю, яка складається з полів обох таблиць. Відношення “один-до-одного” часто використовують для розділення таблиць, що містять велику кількість полів. Наприклад, це може бути потрібним для того, щоб скоротити час перегляду полів, що містять певний набір даних. В деяких випадках необхідно керувати доступом до частин таблиць, які містять важливі або конфиденційні дані. На рис. 5.2 показана E-R схема для таблиці “Інженер” та “Комп’ютер”. Одиниці з обох сторін ромба вказують на відношення “один-до одного”.

 

 

       
 
 


 

Рис. 5.2.

Таблиця з обов’язковим відношенням “один-до-одного” є базовими. Таблиця, зв’язана необов’язковим відношенням з базовою є зв’язаною таблицею. Для зберігання бази данних, що містить декілька таблиць, що зв’язані відношеннями “один-до-одного”, деякі з яких є необов’язковими, потрібно менше місця на диску.

б) Відношення типу “один-до-багатьох”

Відношення “один-до-багатьох” зв’язує один запис першої таблиці з декількома записами другої за допомогою первинного ключа базової таблиці і відповідного йому зовнішнього ключа зв’язаної таблиці. Зовнішній ключ таблиці, що містить велику кількість відношень, може входити до складеного первинного ключа, але він є зовнішнім по відношенню до базової таблиці. Відношення “один-до-багатьох” використовується найбільш часто. На E-R схемі, що показана на рис.5.3 , це відношення позначено символом m.

 
 

 

 


1 m

 

Рис. 5.3.

в) Відношення “багато-до-багатьох”

Багато до багатьох («¥ - ¥»)– один запис в першій таблиці відповідає скільки завгодно записів у другій, інавпаки.


г) Відношення “багато-до-одного”

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

Сучасні реляційні БД

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

· набір інструментів для створення таблиць і стосунків між зв'язаними таблицями;

· засоби адміністрування бази даних;

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

· засоби розробки додатків, що використовують бази даних.

Система управління базами даних (СУБД) поєднує відомості з різних джерел в одній реляційній базі даних. Створювані форми, запити і звіти дозволяють швидко й ефективно обновляти дані, отримувати відповіді на питання, здійснювати пошук потрібних даних, аналізувати дані, друкувати звіти, діаграми і поштові наклейки.

Історія:

1. Системи управління даними першого покоління:

СУБД першого покоління характерні тим, що кожна група користувачів розробляла своє власне програмне забезпечення по управлінню даними. Наслідками такої сепаратизації стало надмірне дублювання програмних кодів і даних.

2. Системи управління даними другого покоління:

Файли взаємопов'язаних даних об'єднуються в бази даних. СУБД створюються для таких досвідчених користувачів, як програмісти.

3. Системи управління даними третього покоління:

Можливості СУБД розширились. Створені розвинуті інтерфейси, що забезпечують інтерактивний доступ звичайним користувачам.

Переваги СУБД:

· Скорочення надлишку даних;

· Без баз даних неможливо уникнути зберігання надлишкових даних;

· При наявності центрального контролю баз даних деякі надлишкові дані можна усунути;

· Надлишкові дані не можуть бути повністю усунені, оскільки велику роль в СУБД відіграють питання часу і достовірності.

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

Найпоширенішими СУБД є: Oracle, Visual FoxPro, Paradox, MS SQL Server, MS Access, Bases, FireBird.


СИСТЕМА УПРАВЛІННЯ БАЗАМИ ДАНИХ MICROSOFT VISUAL FOXPRO (VFP)

Загальна характеристика

СУБД VFP — це реляційна база даних. Кожна таблиця збері­гається в окремому файлі з розширенням dbf. Усі інші об'єкти — форми (form), запити (query), звіти (report), програми (program), меню (menu), уявлення (view) теж зберігаються в окремих файлах з відповідними типами.

Типи даних.Дані поділяються на змінні бази даних (поля), змінні пам'яті (використовуються для проміжного зберігання да­них) та масиви змінних пам'яті. Ім'я змінної може мати довжину до 10 символів, містити літери від А до Z, всі цифри та знак під­креслювання (—).