- •Організація баз даних
- •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. Перспективи розвитку бд.
4. Технологія хеширування.
Є альтернативою технології B-дерева. Загальною ідеєю методів хеширування є застосування до значення ключа деякої функції згортки (хеш-функції), що генерує значення меншого розміру.
Формально під хеш-функцією розуміється результат перетворення даних довільної довжини в бітову послідовність з фіксованою довжиною, яку ще називають згорткою. В подальшому її використовують як для доступу до записів.
Основною вимогою до хеш-функції є:
- стійкість до колізій (два різні набори даних повинні мати різні результати перетворення);
- рівномірний розподіл значення згортки.
Її використання дозволяє на одній індексній сторінці розмістити більше інформації.
Разом з тим хеширування не гарантує відсутності колізій. Для подолання виникаючих конфліктів використовують наступні методи:
-відкритої адресації:
Запис нового рядка виконується не по адресу хеш-функції, а в перше вільне місце. Його недоліком є те, що при наступних записах може трапитись конфлікт з записом, адреса хеш-функції якого була зайнята конфліктним записом. При цьому методі конфлікт ніби відкладається, але насправді це інколи призводить до наростання конфліктності.
-використання зв’язаної області переповнення
При виникнені колізій для записів, що мають однакову функцію згортки створюється т.з. область переповнення, куди поміщаються конфліктуючі записи. При цьому вводиться додаткове поле – покажчик синоніму, що є адресою записів всередині області переповнення. Якщо він дорівнює 0, то це означає відсутність конфлікту.
-багатократного хеширування:
Спосіб вирішення конфліктів, що полягає в використані другої хеш-функції, якщо перша призводить до колізії. Її метою є отримання нової адреси хешируваня, яка б дозволила б уникнути конфлікту. Вона використовується для розміщення записів в області переповнення.
Переліченні вище методи хеширювавання є статичними – в них простір хеш-адрес задається при створені таблиці.
Головним їх обмеженням є фіксований розмір таблиці. Якщо таблиця заповнена занадто повно, то виникне багато послідовностей переповнення, що в свою чергу призводе до втрати головної переваги хешируваня - доступу до запису практично за одне звернення до таблиці.
Розширення таблиці вимагає її повного переоблаштування на основі нової хеш-функції із значенням згортки більшого розміру, що не завжди прийнятно у випадку баз даних.
Для подолання проблеми використовують метод динамічного хеширування:
Хэш-функція при цьому міняється динамічно, у залежності від глибини B-дерева.
Використання методів хеширування для вибірки записів основано на повністю відомому значені хеш-поля (поля, що проіндексовано з використанням індекса на основі алгоритму хеширування). Тому, как правило, хешируваня не підходить для операцій вибірки даних по заданому зразку або діапазону значень.
Більш того, хеширування не підходить для пошуку і вибірки даних по будь якому іншому полю, відмінному від поля хеширування.
Разом з тим, слід відмітити можливість поєднання кращих властивостей методів B-дерева та хеширування.
Основою методу динамічного хеширування є обробка числа, згенерованого хеш-функцією у вигляді послідовності біт, і розподілу записів по сегментам на основі так званої прогресуючої оцифровки (progressive digitization) цієї послідовності. Динамічна хеш-функція генерує значення в широкому діапазоні, а іменно n-бітові двійкові цілі числа, де n, як правило дорівнює 32
