
- •Вступ до баз даних. Загальна характеристика основних понять
- •1.1. Розвиток основних понять представлення даних
- •Лекція 6
- •Друга стадія концептуального проектування бд. (Моделі даних субд. Представлення концептуальної моделі засобами моделі даних субд)
- •6.1. Представлення концептуальній моделі засобами моделі даних субд
- •6.2 Типові моделі даних субд і представлення концептуальної моделі
- •6.2.1. Мережева модель даних
- •6.2.2. Ієрархічна модель даних
- •6.2.3. Реляційна модель даних
- •6.2.4. Багатовимірна модель даних
- •6.3. Засоби автоматизованого проектування концептуальної моделі
- •Лекція 6
- •Друга стадія концептуального проектування бд. (Моделі даних субд. Представлення концептуальної моделі засобами моделі даних субд)
- •6.1. Представлення концептуальній моделі засобами моделі даних субд
- •6.2 Типові моделі даних субд і представлення концептуальної моделі
- •6.2.1. Мережева модель даних
- •6.2.2. Ієрархічна модель даних
- •6.2.3. Реляційна модель даних
- •6.2.4. Багатовимірна модель даних
- •6.3. Засоби автоматизованого проектування концептуальної моделі
- •Лекція 7
- •Формалізація реляційної моделі
- •7.1. Формалізований опис відношень і схеми відношень
- •7.2. Маніпулювання даними в реляційній моделі
- •7.3. Операції реляційної алгебри
- •Лекція 8
- •Використання формального апарату для оптимізації схем відношень
- •8.1. Проблема вибору раціональних схем відношень
- •8.2. Функціональні залежності (залежності між атрибутами відношення)
- •8.3. Декомпозиція схеми відношення
- •8.4 .Вибір раціонального набору схем відношень шляхом нормалізації
- •8.5. Приклад нормалізації до 3нф
- •8.6. Цілісна частина реляційної моделі. Реалізація умови цілісності даних в сучасних субд
- •Лекція 9
- •Фізичні моделі даних (внутрішній рівень)
- •9.1. Структура пам'яті еом
- •9.2. Представлення екземпляра логічного запису
- •9.3. Організація обміну між оперативною і зовнішньою пам'яттю
- •9.4. Структури зберігання даних у зовнішній пам'яті еом
- •9.4.1. Послідовне розміщення фізичних записів
- •Пошук запису із заданим значенням ключа
- •9.4.2. Розміщення фізичних записів у вигляді спискової структури
- •Пошук запису із заданим значенням ключа
- •9.4.3. Використання індексів (індексування)
- •Пошук і читання запису із заданим значенням ключа
- •Модифікація (коректування) запису
- •Видалення запису
- •Додавання запису
- •9.4.5. Розміщення записів з використанням хешування
- •Пошук запису із заданим значенням ключа і читання
- •Модифікації запису
- •Видалення запису
- •Додавання запису
- •9.4.6. Комбіновані структури зберігання
- •Лекція 10
- •Структура сучасної субд на прикладі Microsoft sql Server 2008
- •10.1 Загальна структура субд
- •10.2. Архітектура бази даних. Логічний рівень
- •Тип даних hierarchyid
- •Просторові типи даних
- •Індекси
- •Представлення
- •Складки
- •Обмеження
- •Правила
- •Значення за замовчуванням
- •10.3. Архітектура бази даних. Фізичний рівень
- •Файли і файлові групи
- •Сторінки і екстенти
- •Сторінки файлів даних
- •Організація таблиць та індексів
- •Управління роботою з екстентами і вільним місцем
- •Відстежування вільного місця
- •Лекція 11
- •Програмне забезпечення роботи з сучасними базами даних
- •11.1. Основні завдання програмного забезпечення баз даних
- •11.2. Проблеми створення і ведення реляційних баз даних
- •11.3. Поняття мови sql і його основні частини
- •11.3.1. Історія виникнення і стандарти мови sql
- •11.3.2. Переваги мови sql
- •11.3.2. Загальна характеристика sql
- •Термінологія
- •Різновиди sql
- •Лекція 12
- •Основні оператори мови sql. Інтерактивний sql
- •12.1. Загальне уявлення про основні оператори мови sql
- •12.2 Інтерактивний режим роботи з sql (інтерактивна sql)
- •12.3. Використання мови sql для вибору інформації з таблиці
- •12.4. Використання sql для вибору інформації з декількох таблиць
- •12.5. Використання sql для вставки, редагування і видалення даних у таблицях
- •Лекція 13
- •Використання мови sql у прикладних програмах
- •13.1. Програмний (вбудований) sql
- •13.2. Статичний sql
- •13.3. Динамічний sql
- •13.4. Інтерфейси програмування додатків (api). Db‑Library, odbc, oci, jdbc
- •Протокол odbc
- •Протокол jdbc
- •Бібліотека db-Library
- •Лекція 14
- •Напрями розвитку баз даних
- •14.1. Об'єктно-орієнтований підхід до організації баз даних
- •Об'єктно-орієнтоване програмування
- •Об'єктно-орієнтовані бази даних
- •Об'єктно-реляційні субд
- •14.2. Розподілені бази даних
- •14.3. Сховища даних
- •Основи криптології
Лекція 8
Використання формального апарату для оптимізації схем відношень
Лекція присвячена питанням оптимізації схем відношень на основі формальних методів теорії реляційних баз даних. Розглядається приклад перетворення таблиці до третьої нормальної форми, оптимальної по ряду показників. Розглядаються питання цілісності даних у реляційних СУБД.
Мета лекції: показати можливість ефективного використання формальних методів побудови оптимальної (за певними показниками) структури реляційної бази даних шляхом нормалізації схем відношень.
8.1. Проблема вибору раціональних схем відношень
При представленні концептуальної схеми у вигляді реляційної моделі можливі різні варіанти вибору схем відношень. Одні варіанти вибору розглядалися у попередніх розділах (п. 6.2.3), інші отримуються об'єднанням (або розбиттям) деяких схем відношень. Від правильного вибору схем відношень, що представляють концептуальну схему, в значній мірі залежатиме ефективність функціонування бази даних.
Розглянемо для прикладу конкретну схему відношень і проаналізуємо її недоліки. Припустимо, що дані про студентів, факультети, спеціальності, включені в таблицю з наступною схемою відношення: СТУДЕНТ (Код студента, Прізвище, Назва факультету, Назва спеціальності).
Ця схема відношень обумовлює такі недоліки відповідної бази даних:
Дублювання інформації (надлишковість). У студентів, що навчаються на одному факультеті, повторюватиметься назва факультету. Для різних факультетів повторюватимуться спеціальності.
Потенційна суперечність (аномалії оновлення). Якщо, наприклад, зміниться назва спеціальності, то змінюючи її в одному кортежі (у одного студента), необхідно змінювати і у всіх інших кортежах, де вона присутня.
Потенційна можливість втрати відомостей (аномалії вилучення). При видаленні інформації про всіх студентів, що поступають на певну спеціальність, ми втрачаємо всі відомості про цю спеціальність.
Потенційна можливість незалучення інформації до бази даних (аномалії включення). У базі даних будуть відсутні відомості про спеціальність, якщо на ній немає студентів, що навчаються.
У теорії реляційних баз даних існують формальні методи побудови реляційної моделі бази даних, в якій відсутня надмірність і аномалії оновлення, видалення і включення.
Нормалізація. Перша нормальна форма.
Побудова раціонального варіанту схем відношень здійснюється шляхом так званої нормалізації схем відношень. Раціональний варіант володіє кращими властивостями при операціях включення, модифікації і видалення даних, чим усі останні набори схем. Нормалізація проводиться у декілька етапів. На початковому етапі схема відношень повинна знаходитися в першій нормальній формі (1НФ).
Відношення знаходиться в першій нормальній формі, якщо всі атрибути відношення набувають простих значень (атомарні або неподільні), що не є множиною або кортежем з більш елементарних складових.
Розглянемо такий приклад.
Таблиця представляє сутність ІСПИТОВА ВІДОМІСТЬ
Код студента |
Прізвище |
Код іспиту |
Предмет і дата |
Оцінка |
1 |
Сергєєв |
1 |
Математика 5.06.08 |
4 |
2 |
Іванов |
1 |
Математика 5.06.08 |
5 |
1 |
Сергєєв |
2 |
Фізика 9.06.08 |
5 |
2 |
Іванов |
2 |
Фізика 9.06.08 |
5 |
Тепер на перетині будь-якого рядка і будь-якого стовпця знаходиться одне значення і, отже, ця таблиця знаходиться в першій нормальній формі.
Далі відношення, представлене у першій нормальній формі, послідовно перетвориться у другу і третю нормальні форми. Процес побудови другої і третьої нормальних форм будемо описувати в наступних підрозділах. При деяких припущеннях про дані третя нормальна форма є шуканим найкращим варіантом.
Якщо ці припущення не виконуються, то процес нормалізації продовжується і відношення перетвориться в четвертую і п'яту нормальні форми. Побудова відповідних форм описана в літературі і тут ми не розглядатимемо.
Перш ніж перейти до побудови другої нормальної форми, необхідно визначити ряд формальних понять.