Модель реального світу
Графічна модель представлення світу
СУБД - система управління базами даних.
СУБД займається:
Перетворення інформації з логічної форми у фізичну і навпаки.
Управління розміщенням інформації на носіях.
Організація і розташування доступу користувачів до даних.
Механізми підтримання цілісності даних.
Механізми роботи в аварійних ситуаціях.
Механізм Backup\Restore – не дозволяє стиратися новій записаній базі даних(при стиранні старої відновлюється нова).
Журнал транзакцій – ведеться список операцій, які виконувала людина.
Користувачі:
адміністратори баз даних
програмісти баз даних
користувачі
Поняття в базах даних:
Таблиця – впорядкований двохмірний масив даних.
Запис – рядок даних в таблиці.
Поле – елемент даних в записі.
Тип – поля стовпець в таблиці.
Формат поля – тип даних і обмеження цілісності в полі(відноситься до всього стовпця).
Індекс(ключ) – відсортований по якомусь критерію стовбець даних(стовпці). Створюється окремо від табл. і служить для прискорення операцій.
Збережений запит – написане на мові доступу до бази даних якесь речення , збережене в самій базі даних
База даних – накопичена і впорядкована якимось чином інформація, тобто база даних – це є інформація.
СУБД – це механізм роботи з впорядкованою інформацією.
Теорія проектування реляційних баз даних.
Чому проект баз даних може бути поганим?
Надлишковість – для кожного нового товару треба повторити назву
Потенціальна протиречивість(аномальні оновлення): якшо обновити адрес в одному кортежі, але лишити незмінним в іншому, з’явл. аномальні оновлення.
Аномальні включення : в базу даних не може бути включеним постачальник, якщо він не постачаю хоча б один товар.
Аномальні видалення: якщо видалити всі товари одного постачальника, то ми втрачаємо його адресу.
Функціональні залежності:
Обмеження, які залежать від семантики елементів домена, наприклад ріст людини.
Обмеження на відношення, які залежать тільки від рівності або нерівності значень.
R (A1,A2,..,An) x i y < R
{ A1,A2,..,An}
Кажуть, що „X функціон. визначає Y” або „Y функц. залежить від Х”, якщо будь-якому відношенні r, що є біжусим знач. R не можуть містити 2 кортежа, компоненти яких співпадають по всім атрибутам, що належать множині Х, але не співпад. по 1 або > атрибутам, що належать Y.
Нехай маємо:
X має містити ключ.
Наприклад: R предст. набір об’єктів і A1,A2,..,An є його атрибутами, а Х – множ. атрибутів, що утворює ключ. Тоді можна ствержувати ,що „Х функція визн.Y”/
Логічні наслідки залежності.
Нехай R – схема відношення, а A,B,C – деякі з її атрибутів. Нехай відомо, що А визначає В і В->C, при цьому можна стверджувати, що А ->С. Нехай взагалі F – є множина фунц. Залежностей для схеми R і Х->Y деяка функціон. залежність. Кажуть, що залежність Х від Y логічно слідує з F, якщо для кожного віднош. r зі схемою R, що задовільняє залежностям з F задовільняється також Y від Х. Нехай F+ означає замикання F є множин. функц. залежностей, які логічно слідують з F. Якщо F=F+, то ми говоримо, що F – це повне сімейство залежностей.
Ключі
Якщо R – схема відношення з атрибутами A1,A2,..,An і функціон. залежностями F, а Х підмножина R, то Х- назив. Ключами R, якщо:
Х-> A1,A2,..,An належить F+
Ні для якої власної підмножини Y залежність Y -> A1,A2,..,An не належить F+ - критерій мінімальності ключа. Y?X.
Первинний – це просто один з ключів.
Аксіома функціональн. залежностей.
Для того, щоб визначити ключі і зрозуміти логічні наслідки функціональної залежності в загальному випадку необхідно обчислити F+. Ми маємо мати повний набір правил виводу і він має бути надійним. Тобто ми не можемо вивести з F будь-яку залежність, яка не належить F+.
Ці правила називаються аксіомами Армстронга.
Нехай задана деяка схема відношення з множиною U , універсальна множина атрибутів і множину функціональних залежностей R , що звязують тільки атрибути з U . Тоді:
А1: рефлексивність , якщо Y?X?U , тоді X ->Y логічно слідує F
Аксіоми Тригальні залежності – залежність ,
Армст права частина яких міститься в лівій частині .
ронга Використання його не залежить від R.
А2: Поповнення –якщо X ->Y і Z ?U , то XZ ->YZ ; XZ ?X U Z
A3: Транзитивність –якщо X ->Y і Y->Z , то X ->Z
1). Правило обєднання : якщо X ->Y і X ->Z , то X ->ZY;
2). Правило псевдотранзитивності : якщо X ->Y і WY ->Z , то XW ->Z;
3) Правило декомпзиції : якщо X ->Y і X ?Z , то X ->ZY;
Обчислення замикань
Розглянемо множину F= { A->B1, A-> B2 }.Тоді F+ включає всі залежності A->Y, де Y є підмножиною B1 , B2 B3…….. Bn .Так як існує 2 n таких множин Y навіть при не дуже великих значеннях n –це дуже важка задача.
Протилежно до цього обчислення Х+ для даної множини атрибутів Х не є важким.
Воно вимагає часу пропорціального довжині всіх повністю залежностей в F.Звідси виникає алгоритм:
Алгоритм1: Обчислюється залежність множини атрибутів відносно деякої множини функціональних залежностей .
Вхідні дані: скінченна множина атрибутів U , множина функціональних залежностей F над U і множина Х .
Вихідні дані : Х+ - залежність Х відносно F.
Приклад:
R(A1, A2 ,A3 ,A4 ,A5 ).
F =(A1-> A2, A1-> A3, A4-> A5,)
X0 (A1A2,), X1 (A1A2,),
Метод : обчислюється послідовність множини атрибутів Х( 0) і Х( 1) по слідуючим правилам:
Х( 0) ?Х;
Х( і +1) ? Х( і) +мн.А - такі , що F існує деяка залежність:
Y ->Z , а А Є Z , Y ? X ( i)
Зєднання без втрат інформації
Нехай R схема відношення , в результаті декомпозиції якої, отримані схеми R = R1,R2,……Rn. і D множина залежностей в цій схемі . Кажуть , що ця декомпозиція володіє зєдненням без втрат . Якщо кожне відношення ? до R , що задовільняє D, може бути представлено у вигляді r = ? R1 (r) >< ? R2 (r) >< ? Rn (r) .Тобто r - є натуральними зєднаннями його проекцій на R.

Нормальні форми схем відношення :
В 1972 році Коду представив свою роботу ”Теорія реаляційних баз даних” , де він дав структурування 1-3NF.
Пряма нормалізаційна форма визначає значення атрибутів , які повинні бути елементарними . Всі слідуючі нормальні форми включають попередні , як частину себе . Друга нормальна форма означає , що в результаті декомпозиції бази даних утворюються співвідношення , які містять ключі.
Приклад нормальної форми
Схема відношення R знаходиться в третій нормальній формі , якщо не існує ключа Х для R множини атрибутів Y , що є підмножиною R і неперервного атрибута А з R , що що не належать Х або Y таких, що:
Х->Y;
Y->A;
Y->X; немає місця в R (не існує)
В перегонний атрибут входить ключ.
Висновок: якщо х підмножина у (ух) і у відповідності з 3-м пунктом у є власною підмножиною х, то кажуть, що в R є тактова залежність. Якщо ж у не є підмножиною х, то в R є транзитивна залежність. Коли R задовільняє три умови і у є підмножиною х, тоді R знаходиться в другій нормальній формі.
Нормальна форма Бойса-Кодда
Схема відношення R з залежностями F знаходиться в нормальній формі Бойса-Кодда, якщо кожен раз, коли в R має місце залежність xA і Ax , х включає деякий ключ R. Іншими словами допукаються тільки такі нетривіальні залежності, в яких ключ функції визначає один або більше інших атрибутів.
Схема відношення може знаходитись в третій нормальній формі, але не може бути в формі Бойса-Кодда. Нормальна форма Бойса-Кодда позбавляє від аномалій включення, видалення і надлишковості. Відношення, що представляють деякий набір об’єктів, або відображення типу багато до одного між наборами об’єктів, будуть знаходиться в нормальній формі Бойса-Кодда.
Приведення до нормальної форми Бойса-Кодда з отриманням декомпозиції, що володіє властивістю з’єднання без втрат.
Виявлено, що будь-яка схема відношення може бути приведена в нормальну форму Бойса-Кодда.
Приведення до NFBK з отриманням декомпозиції, що володіє властивістю з’єднання без втрат, ..тобто така, що кожна схема відображення знаходиться в NFBK відносно проекції F на цю схему.
Метод: декомпозицію r для R конструюємо ітеративним методом. При цьому r весь час буде володіти властивістю з’єднання без втрат відносно F. Якщо S схема ... з r і s не знаходиться в NFBK, то нехай xA – залежність, що має місце в S, де х – не містить ключа S, а А не належить х (Ax). Тоді в S повинен існувати деякий атрибут, який не належить А і не належить х. В іншому випадку х повинен містити ключ S. Задінемо S на S1 і S2, де S1 складається з А і атрибутів х (S1={А,х}), а S2 з усіх атрибутів S за виключенням А.
Оскільки в S1 та S2 менше атрибутів ніж в S, ми досягаємо деякого моменту, коли еквівалентна схема відношення r буде знаходитись в NFBK. При цьому r володіє властивістю з’єднання без втрат.
Приклад:
C – курс, T – викладач, H - час,R - аудиторія,S - студент,G - оцінка.
Нехай в даній схемі є наступні функціональні залежності:
CSG – кожен студент має тільки одну оцінку по одному курсу.
HSR – студент може знаходитись в одній аудиторії в один час.
C