2. База даних
• Сукупність даних, які зберігаються у
відповідності до схеми, маніпулювання
якими виконують у відповідності з
правилами моделювання даних
http://en.wikipedia.org/wiki/Database
6. Реляційна модель даних
• Дані у базі являють собою набір відношень
• Набір правил забезпечують цілісніть даних
• Набір правил для селекції, проекції,
з’єднання і розподілу
• Модель даних є логічною, а не фізичною
9. Нормалізація
Навіщо нормалізувати БД?
• З точки зору архітектора:
Усунення аномалій
• З точки зору програміста:
Підвищення продуктивності
Підвищення зручності роботи з базою (SQL запити)
11. 1НФ
Таблиці повинні відповідати реляційній моделі даних:
• Немає рядків, що дублюються
• В кожному рядку зберігається атомарне значення
• В стовбцях зберігаються дані одного типу
12. 2НФ
У фокусі – ключ.
• Таблиці містять ключ
• Всі неключові атрибути залежать від повного ключа
Курс
Студент
Тип навчання
Оцінка
Тривалість
1001
Боднар В. А.
очне
відмінно
60
1002
Бондаренко А. О.
заочне
відмінно
60
1003
Мельник Т. О.
заочне
добре
60
1004
Стельмах А. Т.
очне
добре
60
13. 3НФ
• Неключові стовбці не залежать від інших неключових
стовбців (залежать лише від ключових)
№ таб.
Прізвище
Код посади
Оклад
1001
Боднар В. А.
42
7800
1002
Бондаренко А. О.
43
1600
1003
Мельник Т. О.
44
15000
1004
Стельмах А. Т.
45
3000
Задана наступна залежність:
{Код посади} ← {Оклад}
14. 3.5НФ (Бойса-Кодда)
• Будь-який ключовий атрибут повинен повністю залежати
від будь-якого ключа
№ постачальника
Назва постачальника
№ деталі
Кількість деталей
1001
ФОП Боднар В. А.
42
12
1002
ФОП Бондаренко А. О.
43
300
1003
ФОП Мельник Т. О.
44
50
1004
ФОП Стельмах А. Т.
45
8
Потенційні ключі:
{№ постачальника, № деталі}
{Назва постачальника, № деталі}
Не є у БКНФ тому, що {№ постачальника} ↔ {Назва постачальника}
залежать від частини складного ключа.
16. Процес нормалізації
Погляд архітектора
• усуваємо артефакти
1NF
2NF
3NF
BCNF
4NF
5NF
JPNF
що б нам ще тут
нормалізувати?
Погляд програміста
• Підвищуємо
продуктивність і зручність
1NF
2NF
3NF або BCNF
Завершуємо з оптимізацією і
керуємося здоровим
глуздом!
17. Індекси
В таблиці, що не містить індексів, дані зберігаються в кучі
(heap). Записи є несортованими.
SQL сервер повинен просканувати всю таблицю, щоб знайти
потрібен запис.
18. Індекси
Переваги:
• Збільшення швидкості доступу до даних
• Підтримка унікальності даних
Недоліки:
• Займають додаткове місце на диску і в оперативній пам'яті
• Сповільнюють операції додавання, редагування,
видалення
20. Кластерний індекс
Кластер — це декілька незалежних обчислювальних машин,
що використовуються спільно і працюють як одна система
для вирішення тих чи інших задач, наприклад, для
підвищення продуктивності, забезпечення надійності,
спрощення адміністрування тощо.
Кластерний індекс – це індекс, змішаний з даними. Таблиця
являється частиною індексу (індекс являється частиною
таблиці).
23. Оператори
•
•
•
•
Визначення даних – Data Definition
Маніпуляції даних – Data Manipulation
Визначення доступу до даних – Data Control
Керування транзакціями - Transaction
Control