Створення інфологічної моделі

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

Логічне проектування полягає:

· у визначенні числа і структури таблиць;

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

· визначенні типів звітних документів;

· розробці алгоритмів обробки інформації;

· розробці форм для введення і редагування даних у базі;

· рішенні низки аналогічних задач.

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

Таблиця 1. "Класний журнал"

Прізвище Ім’я По батькові Дата народження Предмет Години Оцінка
Іваненко Іван Іванович 1.08.91 Хімія
        Фізика
        математика
Симоненко Семен Семенович 15.04.91 Хімія
        Фізика
        математика

Цей варіант таблиці "Журнал успішності" не є відношенням, тому що не всі її рядки атомарні. Атомарними є лише значення полів Прізвище, Ім’я, По батькові, Дата народження. Поля Предмет, Години та Оцінка таблиці 2 – множинні.

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

Таблиця 2. Універсальне відношення

Прізвище Ім’я По батькові Дата народження Предмет Години Оцінка
Іваненко Іван Іванович 1.08.91 Хімія
Іваненко Іван Іванович 1.08.91 Фізика
Іваненко Іван Іванович 1.08.91 математика
Симоненко Семен Семенович 15.04.91 Хімія
Симоненко Семен Семенович 16.04.91 Фізика
Симоненко Семен Семенович 17.04.91 математика

Універсальне відношення для невеликих баз даних (до 15 атрибутів) можна використовувати як основу для початку проектування.

Однак, таке перетворення приводить до виникнення значного обсягу надлишкових даних.

Використання універсального відношення може привести до виникнення таких проблем:

1. Надмірність. Дані практично всіх стовпців багаторазово повторюються. Повторюються і деякі набори даних.

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

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

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

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

Таблиця 3. Відомості про учнів

Код учня Прізвище Ім’я По батькові Дата народження
Іваненко Іван Іванович 1.08.91
Симоненко Семен Семенович 15.04.91

 

Таблиця 4. Успішність учнів Таблиця 5. Відомості про предмети

Код учня Код предмету Оцінка   Код предмету Предмет Години
  хімія
  фізика
  математика
       
       
       

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

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

Проект, у якому кожний факт з'являється лише в одному місці, називається “чистим”

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