Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции - Інформаційні системи і технології облі...doc
Скачиваний:
16
Добавлен:
24.11.2019
Размер:
1.34 Mб
Скачать

3.3. Реляційна модель. Загальні поняття

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

Таблиця-відношення (надалі таблиця) має наступні важливі обмеження:

У таблиці не повинне бути ідентичних записів

Порядок проходження стовпців і записів не має значення

На перетинанні стовпців і рядків таблиці повинні знаходиться єдині і неподільні елементи даних. Тобто клітки таблиці не повинні містити списків чи значень складених значень. Осередку таблиці не можна об'єднати в один чи осередок розбити на складові елементи.

Дані умови дозволяють максимально спростити структуру таблиці і як наслідок спростити її обробку. Більш того для обробки даних представлених у виді відносин була розроблена спеціальна мова SQL (мова структурних запитів).

Кожна таблиця відносин має наступні атрибути:

ім'я таблиці, служить для ідентифікації таблиці в БД;

тип таблиці, визначається набором і атрибутами стовпців;

кардинальне число, максимально можливе число записів у таблиці.

Кожен стовпець таблиці має наступні атрибути:

ім'я стовпця;

тип стовпця (текстова, числовий, дата/час, логічний);

додаткові властивості стовпця (довжина, формат відображення даних, наявність індексу - спеціальний метод доступу);

домен стовпця ( область визначення значень для стовпця);

3.4. Поняття нормалізації реляційної бази даних

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

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

В даний час мають місце наступні види нормальних форм:

Перша нормальна форма (1НФ)

Друга нормальна форма (2НФ)

Третя нормальна форма (3НФ)

Нормальна форма Бойса-Кодда (БКНФ)

Четверта нормальна форма (4НФ)

П'ята нормальна форма (5НФ)

Кожна більш старша нормальна форма накладає ряд додаткових обмежень на базу даних. На практиці 4НФ і 5 НФ використовуються дуже рідко. Сформулюємо вимоги перших трьох нормальних форм.

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

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

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

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

Розглянемо структуру опорної таблиці "Рахунки"

  1. Номер рахунка-фактури

  2. Дата виписки

  3. Код покупця

  4. Найменування покупця

  5. Юридична адреса покупця

  6. Код ОКПО

  7. Розрахунковий рахунок покупця

  8. МФО відділення банку покупця

  9. Найменування відділення банку покупця

  10. Номер контактного телефону

  11. Номер позиції

  12. Код товару

  13. Найменування товару

  14. Одиниці виміру

  15. Ціна за одиницю

  16. Кількість

  17. Сума

  18. Підсумкова сума по рахунку

  19. Ознака оплати.

Реквізити в документі можна розділити на наступні групи:

Інформація про документ (1,2,18)

Інформація про покупця: (4,5,6,7,8,10)

Інформація про замовлений товар: (13,14,15,16,17)

Крім того, для забезпечення ефективності обробки даних включені наступні службові реквізити: (3,12,19)

Реквізити опорної таблиці являють собою набір стовпців таблиці в яких буде заноситися фактична інформація. Окремий рахунок-фактура являє собою запис у цій таблиці. Таблиця є немормализованою, тому що в ній маються групи полів 11-17, містяться списки значень по товарам, що замовлені в рахунку. Для перетворення цієї таблиці в таблицю, що відповідає умовам 1НФ потрібно розділити записи таблиці по кожному рахунку відповідно кількості замовлених товарів і здублювати значення інших полів на нові записи.

Для приведення таблиці по вимог 2НФ потрібно розбити вхідну таблицю на дві “Рахунки” і “Позиції”

Структура таблиці “Рахунки” знаходиться в 2НФ

  1. *Номер рахунка-фактури

  2. *Дата виписки

  3. *Код покупця

  4. Найменування покупця

  5. Юридична адреса покупця

  6. Код ОКПО

  7. Розрахунковий рахунок покупця

  8. МФО відділення банку покупця

  9. Найменування відділення банку покупця

  10. Номер контактного телефону

  11. Підсумкова сума по рахунку

  12. Ознака оплати.

*- можливий ключ. Ідентифікувати запис у таблиці ”Рахунки” можна за допомогою реквізиту 1 або за допомогою складеного ключа 2 + 3

Структура таблиці «Позиції» знаходиться в 2НФ

  1. *Номер рахунка-фактури

  2. *Номер позиції

  3. *Код товару

  4. Найменування товару

  5. Одиниці виміру

  6. Ціна за одиницю

  7. Кількість

  8. Сума

Приведені таблиці не задовольняють умовам 3НФ, тому що вони містять не ключові реквізити, що знаходяться в функціональної залежності один від одного.

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

Структура таблиці” Рахунка” знаходиться в 3 НФ

*Номер рахунка-фактури

*Дата виписки

*Код покупця

Підсумкова сума по рахунку

Ознака оплати.

Структура таблиці "Покупці", що знаходиться в 3 НФ

*Код покупця

Найменування покупця

Юридична адреса покупця

Код ОКПО

Розрахунковий рахунок покупця

МФО відділення банку покупця

Найменування відділення банку покупця

Номер контактного телефону

Структура таблиці "Позиції" знаходиться в 3НФ

*Номер рахунка-фактури

*Номер позиції

*Код товару

Кількість

Сума

Структура таблиці “Товари” знаходиться в 3НФ

*Код товару

Найменування товару

Одиниці виміру

Ціна за одиницю