- •Організація баз даних
- •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. Перспективи розвитку бд.
Лекція 12. Транзакції. Паралельне виконання транзакцій.
Визначення транзакції. Виконання. Відкат. Адміністрування.Журналізація. Властивості транзакції. Види транзакцій. Управління транзакціями в мовах програмування. Керування паралельністю. Проблеми паралелізму. Проблема загубленого відновлення. Проблема залежності від нефіксованих результатів. Проблема неузгодженої обробки. Блокування. Рівні ізолювання транзакцій. Використання протоколу двох фазного блокування для усунення проблем.
12.1. Визначення транзакції. Виконання. Відкат.
Транзакція – це неподільна, з точки зору СУБД, послідовність операцій по маніпулюванню даними.
Транзакція є логічною одиницею роботи, виконуваної в базі даних. Вона може бути представлена окремою програмою, бути частиною алгоритму програми або навіть окремою командою (наприклад, командою INSERT або UPDATE мови SQL) і включати довільну кількість операцій, виконуваних у базі даних.
Будь-яка транзакція завершується одним із двох можливих способів.
У випадку успішного завершення результати транзакції фіксуються (commit) у базі даних, і остання переходить у новий погоджений(цілісний) стан.
Якщо виконання транзакції є неуспішним, вона скасовується. У цьому випадку в база даних повертається до останнього погодженого стану, у якому вона знаходилася до початку даної транзакції. Цей процес називається відкатом (roll back) транзакції.
Зафіксована транзакція не може бути скасована. Якщо виявиться, що зафіксована транзакція була помилковою, буде потрібно виконати іншу транзакцію, що скасовує дії, виконані першою транзакцією. Інколи таку транзакцію називають компенсуючею.
Слід зазначити, що скасована транзакція може бути ще раз запущена пізніше і, у залежності від причин попередньої невдачі, цілком успішно завершена і зафіксована в базі даних.
Таким чином підсистема транзакцій є механізмом забезпечення цілісності БД.
БД знаходиться в цілісному(погодженому) стані, якщо виконані всі обмеження цілісності, визначені для неї.
12.2. Властивості транзакції. Види транзакцій.
Кожна з транзакцій повинна Існують володіти наступними властивостями:
Атомарність. Це властивість типу "всі або нічого". Будь-яка транзакція являє собою неподільну одиницю роботи, що може бути або виконана вся цілком, або не виконана зовсім.
Погодженість. Кожна транзакція повинна переводити базу даних з одного погодженого стану в інший погоджений стан.
Ізольованість. Усі транзакції виконуються незалежно одна від іншої. Іншими словами, проміжні результати незавершеної транзакції не повинні бути доступні іншими транзакціям.
Тривалість. Результати успішно завершеної (зафіксованої) транзакції повинні зберігатися в базі даних постійно і не повинні бути загублені в результаті наступних можливих збоїв.
Загалом, транзакції поділяються на пишучі та читаючі.
12.3. Блокування. Рівні ізолювання транзакцій.
Класифікація обмежень цілісності БД |
||
По способу реалізації |
Декларативні |
Виконується засобами мови DDL(мови визначення даних)-це обмеження домена,атрибута, цілісності сутності(первинні ключі), посилальна цілісність (зовнішні ключі) |
Процедурні |
Полягає в вирішенні задачі підтримки цілісності засобами тригерів та процедур (не всі обмеження можна реалізувати декларативно). |
|
По часу перевірки |
З безпосередньою перевіркою |
Перевірка унікальності ключа, обмеження домена чи атрибута. |
З відкладеною перевіркою |
Виконуються в момент фіксації транзакції. |
|
По області дії |
Обмеження домена |
|
Обмеження атрибута |
|
|
Обмеження кортежа |
|
|
Обмеження відношення |
|
|
Обмеження БД |
Правило цілісності стосується кількох відношень (корпоративні обмеження) |
|
Взаємне блокування - це тупикова ситуація, що може виникнути, коли дві (або більш) транзакції знаходяться у взаємному очікуванні звільнення блокувань елементів даних, утримуваних кожної з них.
