- •Державна податкова адміністрація україни
- •Поняття інформаційної системи
- •Життєвий цикл інформаційної системи
- •Історія розвитку субд
- •Реляційна модель даних
- •Математичні відношення
- •Реляційні ключі
- •Реляційна цілісність
- •Реляційна алгебра
- •Операції з’єднання
- •Нормалізовані відношення
- •Коли субд можна вважати реляційною
- •Основні типи даних визначених стандартом iso
- •Integer
- •Формати представлення дат
- •Формат time
- •Коротка характеристика сучасних субд
- •Основи мови sql
- •Insert into ustanova(kod,nazva) values(10234,’Академія дпс України’)
- •Прості запити
- •Умова відбору (ключове слово where)
- •Зрівняння
- •Використання діапазонів (between / not between)
- •Умови відбору з перевіркою входження у множину (in / not in)
- •Умови відбору з допомогою шаблону (like / not like)
- •Використання значення null в умовах відбору (is null / not null)
- •Використання множини таблиць в одному запиті
- •Імена таблиць і стовпчиків
- •З’єднання таблиць (join)
- •Ліве з’єднання (left join)
- •Сортування результату (фраза order by)
- •Групування результатів (фраза group by). Агрегатні функції
- •Використання фрази group by
- •Використання фрази having
- •Підзапити
- •Ключові слова any I all
- •Ключові слова exists I not exists
- •Комбінування результуючих таблиць (операції union, intersect і except)
- •Поновлення бази даних
- •Вставка нових даних
- •Модифікація даних (оператор update)
- •Використання inner join, left join в операторі update
- •Видалення даних з бази(оператор delete)
- •Визначення даних
- •Створення баз даних
- •Створення таблиць (оператор create table)
- •Видалення таблиць (оператор drop table)
- •Створення індексу (оператор create index)
- •Видалення індексу (оператор drop index)
- •Модифікація структури таблиці (оператор alter table)
- •Використання транзакцій
- •Управління доступом даних
- •Надання привілеїв іншим користувачам (оператор grant)
- •Відміна наданих привілеїв (оператор revoke)
Операції з’єднання
Нижче наведені різні типи операцій з’єднання, які дещо відрізняються одна від одної але корисні на практиці.
Тета-з’єднання (-join);
З’єднання по еквівалентності (equal-join), яке є частинним випадком тета-з’єднання;
Натуральне з’єднання (natural join);
Зовнішнє з’єднання (outer join).
Тета-з’єднання (-join). Операція тета-з’єднання відношеньR FSвизначає відношення, яке містить кортежі з декартового добуткуRxS, що задовольняють предикатуF. ПредикатFмає видR.ai S.bj де замістьможна вказати один із операторів зрівнювання (<, <=, >, >=, =).
Наведемо приклад тета-з’єднання відношень TiU, представлених на мал.3. ВідношенняG=TT.B<=U.BU, яке є тета-з’єднанням відношеньTiUпо предикату T.B<=U.B матиме вид:
G
T.A |
T.B |
U.B |
U.C |
a |
1 |
1 |
x |
a |
1 |
1 |
y |
a |
1 |
3 |
z |
b |
2 |
1 |
x |
b |
2 |
1 |
y |
b |
2 |
3 |
z |
З’єднання по еквівалентності (equal-join)– це тета-з’єднання предикат якого містить тільки оператор =. На мал.3 представлено відношенняV, яке є з’єднанням по еквівалентності відношеньT і U.
Натуральне з’єднання (natural join) – це з’єднання по еквівалентності по всіх спільних атрибутах цих відношень.
Лівезовнішнє з’єднання (left join). Лівим зовнішнім з’єднанням (left join) відношенньR і S,називається з’єднання, в якому кортежі відношенняR , які не мають однакових значень в спільних атрибутах відношенняS, також включаються в результуюче відношення. Приклад лівого з’єднання показано на мал.3 (відношенняL) .
Нормалізовані відношення
При проектуванні бази даних в реляційній СУБД основною метою розробки логічної моделі даних є створення точного представлення даних, зв‘язків між ними і необхідних обмежень. Для досягнення цієї мети необхідно перш за все визначить необхідний набір відношень. Метод, який використовують для вирішення цієї задачі, називаєтьсянормалізацією. Спочатку було запропоновано тільки 3 види нормальних форм: перша (1НФ) , друга (2НФ) і третя (3НФ), які ми і розглянемо. Потім з’явились визначення четвертої (4НФ) і п‘ятої (5НФ). Слід зауважити, що на практиці 4 і 5 нормальні форми зустрічаються рідко.
Функціональні залежності. Нехай відношенняRмає 2 атрибутиAiB. Говорять, що атрибутBфункціонально залежить від атрибутуA і це позначаютьAB, якщо кожне значення атрибутуAвідповідає лише одному значенню атрибутуB, тобто, якщо в двох різних кортежах відношенняRатрибутA приймає однакове значення, тоді і атрибутBв цих кортежах приймає однакове значення. Аналогічним чином можна розповсюдити функціональну залежність атрибуту від множини атрибутів. А саме, говорять, що атрибутBфункціонально залежить від атрибутівA1, A2,... An, якщо у відношенні є 2 кортежі у яких ці атрибути приймають значенняa1, a2,... anвідповідно, тоді однакове значення у цих кортежах приймає атрибутB.
Наведемо приклади. Нехай відношення S(ID,P,G,F)має такі атрибути:
ID– табельний номер студента;
P– Прізвище, ім'я, по-батькові;
G– Назва групи, в якій навчається студент;
F– Назва факультету, на якому навчається студент.
Тоді очевидні такі функціональні залежності: 1) ID G(Студент може числитись лише в одній групі); 2) ID, P G(теж саме);3) G F(Одна і та ж група належить одному факультетові).А залежності P G не існує, оскільки є однофамільці.
Перша нормальна форма (1НФ).Відношення, в якому на перетині кожного рядка і кожного стовпчика міститься лише одне значення, знаходиться в 1НФ.
Друга нормальна форма (2НФ). Відношення, яке знаходиться в 1 НФ і кожний атрибутAякого, що не входить в первинний ключ, повністю визначається первинним ключем і ніяка підмножина атрибутів первинного ключа не визначаєA.
Третя нормальна форма (3НФ). Транзитивна залежність. Якщо для атрибутів деякого відношення є залежностіABiBC, то говорять, що атрибутC транзитивно залежить від атрибутуA. Відношення, яке знаходиться в 1НФ і 2НФ і не мають атрибутів, що не входять в первинний ключ, які транзитивно залежали б від атрибутів з первинного ключа.
Відношення Sперебуває в1НФі в2НФ інеперебуває в3НФ, оскількиFтранзитивно залежить відID.
Реляційна модельзвільняє користувача від взаємодії з фізичною структурою даних, їх розташуванням на фізичних носіях. Замість цього вона базується на логічних зв‘язках, які описуються з допомогою реляційної мови. Спочатку Кодд визначив 13 правил реляційної моделі. В подальшому Кодд розширив своє визначення реляційної моделі, які відомі як RM/V1 RM/V2 (реляційна модель версії 1 і версії 2). RM/V1 складається з 50 характеристик, а RM/V2 містить 333 характеристик.