- •Організація баз даних
- •1.Вступ
- •2.Основні поняття.
- •1.1. Класифікація інформаційних систем
- •2.Файлові системи бд. Підхід, використовуваний у файлових системах. Обмеження, властиві файловим системам.
- •3.Системи з базами даних. База даних. Система керування базами даних — скбд. Компоненти середовища скбд. Переваги і недоліки скбд.
- •3.1.Компоненти середовища скбд
- •Контроль за надмірністю даних
- •3.4.Недоліки скбд
- •4.Етапи життєвого циклу інформаційної системи. Розробка бази даних. Розподіл обов'язків у системах з базами даних. Адміністратори даних і адміністратори баз даних.
- •2.1.Трьохрівнева архітектура ansi-sparc.
- •2.2. Схеми, відображення й екземпляри
- •2.3.Незалежність від даних
- •1. Функції субд (3.11.01.02).
- •1.Безпосереднє управління даними в зовнішній пам'яті
- •2.Управління транзакциями
- •3.Журналізація
- •4.Підтримка мов бд
- •5.Адміністрування бд.
- •2. Концепція відкритих систем. Відкритий зв’язок з бд odbc (3.11.04.01).
- •3. Багатокористувацькі субд та їх архітектура.
- •3.1. Телеобробка
- •3 .2.Архітектура іс з файловим сервером
- •3.3.Технологія "клієнт/сервер"
- •3.4.Розподілена архітектура.
- •3.5.Інтернет - архітектура.
- •4.1.Модель даних, мета побудови, класифікація, область застосування
- •4.2. Об'єктні моделі даних
- •4.3. Моделі даних на основі записів
- •4.2.1.Ієрархічна модель даних
- •4.2.2.Мережева модель даних у мережній структурі при тих же основних поняттях (рівень, вузол, зв'язок) кожний елемент може бути пов'язаний з будь-яким іншим елементом.
- •4.2.3.Реляційна модель даних
- •4.4. Фізичні моделі даних
- •5.1. Математичні відношення. Структура реляційних даних.
- •5.2.Домени
- •Лекція 6. Концептуальне проектування. Метод er-діаграми.
- •6.1.Рівні проектування предметної області (3.11.06.01).
- •6.2. Інфологічне проетування бд (3.11.06.02).
- •6.2. Концептуальне проектування бази даних та методологія.
- •6.3. Логічне проектування бд.
- •6.4. Даталогічна або фізична модель даних (3.11.06.03).
- •6.5. Проектування бд методом “сутність-зв’язок” er-діаграми (3.11.06.06)
- •6.5.2.Представлення зв'язків та сутностей на діаграмах.
- •6.5.4.Правила формування зв’язків між сутностями концептуальної схеми.
- •5.3.Нормалізація.
- •5.3.2.Процес нормалізації.
- •5.3.3.Нормальна форма Бойса-Кодда (нфбк). Визначення нормальної форми Бойса-Кодда.
- •5.3.4. Четверта нормальна форма (4нф). Визначення четвертої нормальної форми.
- •5.3.5. П'ята нормальна форма (5нф) Властивості з'єднання без втрат і збереження залежності
- •8.2. Виникаючі проблеми при використанні універсального відношення.
- •7.1. Введення в реляційну алгебру і реляційне числення.
- •7.2. Реляційна алгебра та її операції.
- •Вихідне відношення r та результуюче відношення s.
- •7.5.1. Операція декартового добутку
- •7.5.2. Операція об’єднання
- •7.5.3. Операція різниці.
- •7.5.4.Операції з'єднання
- •7.5.4.5.2. Праве відкрите зовнішнє з'єднання.
- •7.5.4.5.2. Повне відкрите зовнішнє з'єднання.
- •7.5.5.Операція перетинання
- •7.5.6.Операція ділення
- •10.1. Вступ Основні поняття sql.. Історія розвитку
- •10.2. Структура мови sql-92.
- •10.3. Основні оператори мови dml.
- •10.4 Зміна вмісту бази даних. Запити на оновлення даних
- •10.5. Оператори адміністрування:
- •10.63. Загальний огляд методів обробки запитів.
- •10.7. Архітектура клієнт-сервера і мова sql.
- •10.8 Забезпечення безпеки
- •11.1. Основні оператори мови ddl.Запити на створення та оновлення схеми бд, таблиць та представлень.
- •11.1.1. Створення баз даних.
- •11.1.2.Створення таблиць (оператор create table). Видалення таблиць (оператор drop table).
- •11.1.3.Створення відображення(представлення).В идаленнявідображення.
- •11.1.4.Створення індексу (оператор create index). Видалення індексу (оператор drop index).
- •11.2. Мова sql та qbe
- •10. Внутрішня мова субд.
- •11. Зберігаємі процедури та тригери. Призначення та переваги.
- •12. Технології доступу bde, ado, ado.Net, jdbc
- •Лекція 12. Транзакції. Паралельне виконання транзакцій.
- •12.1. Визначення транзакції. Виконання. Відкат.
- •12.2. Властивості транзакції. Види транзакцій.
- •12.3. Блокування. Рівні ізолювання транзакцій.
- •12.4. Управління транзакціями в мовах програмування.
- •12.4. Впорядкованість і відновлюваність.
- •12.5 Методи керування паралельністю.
- •Лекція 13. Індексація даних в бд.
- •13.1. Поняття індексації даних.
- •2.Структура індекса. Аналогією індекса може слугувати зміст будь якої книги з вказаними номерами сторінок, де починається той чи і інший розділ.
- •3. Технологія b-дерева
- •3.1.Типи індексів b-дерева.
- •3.1.1.Кластерні індекси
- •3.1.2.Некластерні індекси
- •4. Технологія хеширування.
- •5.Алгоритм роботи скбд при внесенні та видаленні запису в таблицю, що містить індексовані поля з використанням технології в-дерева.
- •5.1.При вставці нового запису в таблицю виконується:
- •5.2.При видаленні запису виконуються наступні дії:
- •6.Властивості індексів.
- •7.Індексація. За і проти. Ефективність використання.
- •8.Обмеження використання індексів.
- •8.1.Обмеження послідовності стовпців складного ключа.
- •8.2.Обмеження пов’язані з низькою селективністю індекса.
- •9.Індексація данних бд та оптимізатор sql-запитів.
- •10. Повнотекстові індекси
- •14.1. Розподіленні бази даних.
- •14.1.1. Класифікація рбд.
- •14.1.2. Переваги рбд.
- •14.1.3. Недоліки рбд.
- •14.1.4. Функції сурбд.
- •14.1.5. Архітектура рбд.
- •14.2. Компонентна структура рбд.
- •14.3. Проектування розподілених баз даних.
- •Фрагментація повина відповідати правилам:
- •14.4. Забезпечення прозорості.
- •16.1. Апаратні та програмні складові.
- •16.2. Особливості oltp, dss та olap систем
- •16.6. Безпека бази даних
- •16.3. Управління користувачами.
- •16.2. Управління доступом. Засоби підтримки безпеки в sql.
- •17.1. Недоліки реляційних систем.
- •17.2. Основні концепції об’єктно-орієнтованого підходу.
- •17.3. Альтернативні стратегії розробки об’єктно-орієнтованих субд.
- •17.4. Переваги та недоліки об’єктно-орієнтованих субд.
- •17.5. Перспективи розвитку бд.
5.3.Нормалізація.
Процес нормалізації, як етап проектування БД, був уперше запропонований Э. Ф. Коддом (Codd, 1972, б).
Процес нормалізації складається з послідовності тестів що виконуються над деяким відношенням з метою перевірки його відповідності (або невідповідності) вимогам заданої нормальної форми. Цей метод, називається нормалізацією (normalization)
Його метою є створення набору відношень із заданими властивостями на основі вимог до даних, встановлених у деякій предметній області.
Загалом, нормалізація являє собою формальний метод аналізу відношення на основі його первинного ключа (або потенційних ключів, як у випадку НФ Бойса-Кодда) та існуючих функціональних залежностей. Він включає ряд правил, що можуть використовуватися для перевірки окремих відношень таким чином, щоб уся база даних могла бути нормалізована до бажаного ступеня.
Першим його кроком є встановлення зв'язків між атрибутами відношення (виявлення функціональних залежностей).
У випадку, якщо деяка вимога не задовольняється, то відношення, що порушує дану вимогу, підлягає декомпозиції на кілька відношень, кожне з яких задовольняє усім вимогам нормалізації.
У ході нормалізації формат відношень стає усе більш строгим і менш вразливим стосовно аномалій різного виду (відновлення(вставки, видалення і відновлення даних)).
5.3.1.Функціональні залежності. Визначення функціональної залежності.
Теорія нормалізації основана на наявності тої чи іншої залежності між полями таблиці. Визначають два типи такої залежності: функціональна та багатозначна.
Функціональна залежність (functional dependency) описує зв'язок між атрибутами і є одним з основних понять нормалізації. Її ідея полягає в тому, що значення одного атрибуту кортежу однозначно визначає значення іншого атрибуту.
Якщо два кортежі одного відношення R мають однакове значення атрибута А, який функціонально визначає атрибут B, то і атрибут B в цих кортежах також буде мати однакове значення:
Відношення R |
|||
A |
B |
|
Атрибут B функціонально залежить від A: R.А -> R.B |
1 |
Сенсорний комутатор |
... |
|
2 |
Сенсорний комутатор |
.... |
|
Розрізняють повну та часткову залежності.
5.3.2.Процес нормалізації.
Існує кілька нормальних форм реляційної моделі, що вводять обмеження і дозволяють мінімізувати дублювання даних, забезпечити підтримку цілісності й однократність введення даних.
Ненормалізована форма (ННФ) - таблиця, що містить одну або кілька повторюваних груп даних/
Перша нормальна форма (1НФ)
Для перетворення ненормалізованої таблиці в першу нормальну форму (1НФ) у вихідній таблиці(ННФ) необхідно знайти й усунути всі повторювані групи даних.
Реляційна таблиця знаходиться в першій нормальній формі, - якщо значення для кожного її атрибуту є атомарними (простими).
Друга нормальна форма (2НФ)
Друга нормальна форма (2НФ) застосовується до відношення із складними ключами (відношення з простим первинним ключем завжди знаходиться, принаймні, у 2НФ) і заснована на понятті повної функціональної залежності.
У деякому відношенні R атрибут B називається повністю функціонально залежним від складного атрибуту A, якщо атрибут B функціонально залежить від повного значення атрибута A і не залежить від будь якої підмножини його повного значення. В цьому випадку атрибут A називають детермінантом.
Відповідно, функціональна залежність А B є повною, якщо видалення будь якого атрибута з А призводить до втрати цієї залежності. Якщо залежність зберігається, то має місце часткова функціональна залежність А B.
Реляційна таблиця знаходиться в другій нормальній формі (2НФ), - якщо вона відповідає 1НФ і кожен неключовий атрибут є повністю функціонально залежним від ключа.
Це означає, що ключ однозначно визначає неключовий атрибут, тобто одному значенню ключа відповідає одне значення неключового атрибута. Якщо ключ складний, то залежність повинна виконуватись на рівні всього ключа, а не якої-небудь його частини.
Нормалізація 1НФ-відношення з утворенням 2НФ-відношень полягає в усунені часткових залежностей.
Якщо у відношенні між атрибутами існує часткова залежність, то функціонально-залежні атрибути переміщуються в нове відношення разом з копією їх детермінанта.
Приклад відношення Оренда, що знаходиться в 1НФ.
Особистий № орендаря |
№ об’єкта оренди |
Прізвище орендаря |
Адреса об’єкта оренди |
Дата початку оренди обєкта |
Дата закінчення терміну оренди |
Рента, грн.. |
Особистий № власника об’єкта оренди |
Прізвище власника |
ONOR |
NOO |
PIBO |
ADR |
PDAT |
KDAT |
SR |
ONV |
PIBV |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.Виявляємо всі функціональні залежності fz1-fz6 для відношення Оренда з парою атрибутів ONOR, NOO в якості первинного ключа:
fz1: ONOR, NOO PDAT, KDAT (Повна залежність)
fz2: ONOR PIBO (Часткова залежність)
fz3: NOO ONV, PIBV, ADR, SR (Часткова залежність)
fz4: ONV PIBV (Транзитивна залежність)
fz5: ONOR, PDAT NOO, ADR, SR (Потенційний ключ)
fz6: NOO, PDAT ONom, PIBO, KDAT (Потенційний ключ)
2.Перевіряємо приналежність до другої нормальної форми.
Їй має відповідати відсутність часткової залежності від ключа. Але fz2 та fz3 вказують на 2 випадки її присутності. Це означає, що дане відношення не знаходиться в 2НФ.
Для приведення відношення Оренда до 2НФ необхідно створити нові відношення, причому так, щоб атрибути, що не входять у первинний ключ, були переміщені в них разом з копією частини первинного ключа, від якої вони функціонально залежать.
Застосування цього правила в нашому випадку приведе до створення трьох нових відношень – Орендар, Власники_Нерухомості, Облік_оренди:
Особистий № орендаря |
Прізвище орендаря
|
ONOR |
PIBO |
|
|
|
|
Власники нерухомості
№ об’єкта оренди |
Адреса об’єкта оренди |
Рента, грн.. |
Особистий № власника об’єкта оренди |
Прізвище власника |
NOO |
ADR |
SR |
ONV |
PIBV |
|
|
|
|
|
|
|
|
|
|
Облік оренди
Особистий № орендарря |
№ об’єкта оренди |
Дата початку оренди обєкта |
Дата закінчення терміну оренди
|
ONOR |
NOO |
PDAT |
KDAT |
|
|
|
|
|
|
|
|
Отримані відношення знаходяться в 2НФ, оскільки кожен атрибут, що не входить в первинний ключ, повністю функціонально залежить від первинного ключа відношення.
Третя нормальна форма (3НФ)
Хоча 2НФ-відношеннях надмірність даних менша, ніж у 1НФ-відношеннях, вони усе ще можуть страждати від аномалій відновлення.
Так, при спробі відновлення імені власника нерухомості PIBV, це необхідно буде зробити у декількох рядках відношення Власники_Нерухомості, якщо він володіє більш, ніж одним обєктом.
Якщо обновити тільки один з цих двох рядків, база даних потрапить у суперечливий стан.
Ця аномалія відновлення викликається транзитивною залежністю, що є присутньою у даному відношенні. Вона може бути усунута шляхом приведення даного відношення до 3НФ.
Якщо для атрибутів А, В і С деякого відношення існують залежності виду А В і В С, то говорять, що атрибут C транзитивно залежить від атрибута А через атрибут B (за умови, що атрибут А функціонально не залежить ні від атрибута В, ні від атрибута С).
Відношення знаходиться в третій нормальній формі (3НФ), - якщо воно відповідає 2 нормальній формі і не має атрибутів, що не входять до первиного ключа і при цьому знаходяться в транзитивній функціональній залежності від цього первиного ключа.
Приведення 2НФ-відношень до ЗНФ включає усунення транзитивних залежностей.
Якщо у відношенні існує транзитивна залежність між атрибутами, у такому випадку транзитивно залежні атрибути видаляються з нього в нове відношення разом з копією їхнього детермінанта.
Усі атрибути, що не входять в первинний ключ відношень Облік_Оренди, Орендар функціонально залежні тільки від їхніх первинних ключів. Отже, відношення Облік_Оренди, Орендар не мають транзитивних залежностей, а тому вони вже знаходяться в третій нормальній формі (ЗНФ).
Розглянемо функціональні залежності, що існують у відношені Власники_Нерухомості:
fz3.1 NOO ADR, SR, ONV, PIBV – усі атрибути функціонально залежать від первинного ключа.
fz3.2 ONV PIBV – PIBV ще додатково залежить від ONV.
Це вказує на присутність транзитивної залежності, що має місце при наявності залежності від атрибута, що не входить у первинний ключ NOO, атрибута PIBV.
Для перетворення відношення Власники_Нерухомості у 3НФ необхідно видалити згадану вище транзитивну залежність шляхом створення двох нових відношень:
Власність в оренді
№ об’єкта оренди |
Адреса об’єкта оренди |
Рента, грн.. |
Особистий № власника об’єкта оренди |
NOO |
ADR |
SR |
ONV |
|
|
|
|
|
|
|
|
Власник
Особистий № власника об’єкта оренди
|
Прізвище власника |
ONV |
PIBV |
|
|
|
|
Інакше кажучи, процес нормалізації полягає в декомпозиції вихідного відношення Оренда за допомогою послідовного виконання декількох операцій проекції реляційної алгебри. Отримані в результаті декомпозиції відношення забезпечують виконання їхнього з'єднання без втрат.
