
- •Поняття інформаційної системи. Поняття інформаційних технологій. Міжнародні інформаційні системи та технології
- •Життєвий цикл інформаційних систем
- •Поняття бази даних (бд). Місце бд в інформаційних системах
- •Розвиток основних понять представлення даних. Приклад щодо нарахування заробітної плати
- •Розвиток основних понять представлення даних. Приклад щодо обліку кадрового складу
- •Системи управління базами даних (субд). Головні поняття. Основні функції субд
- •Різні архітектурні рішення, які використовуються при реалізації багато користувальницьких субд. Централізована архітектура
- •Різні архітектурні рішення, які використовуються при реалізації багато користувальницьких субд. Технологія з мережею та файловим сервером
- •Різні архітектурні рішення, які використовуються при реалізації багато користувальницьких субд. Технологія «клієнт-сервер»
- •Різні архітектурні рішення, які використовуються при реалізації багато користувальницьких субд. Триланкова архітектура «клієнт-сервер»
- •Огляд субд. Настільні субд. Серверні субд. Ms sql Server. Oracle. Серверні бази даних компанії івм
- •Різні уявлення про дані в базах даних
- •Основні етапи проектування бази даних
- •Перша стадія концептуального проектування бази даних. Опис інформаційного представлення предметної області. Er-діаграма
- •Перша стадія концептуального проектування бази даних. Атрибут. Зв’язки. Максимальні кардинальні числа
- •Побудова концептуальної моделі у вигляді er-діаграми. Головні етапи побудови Побудова концептуальної моделі у вигляді er-діаграми Перший етап
- •Другий етап
- •Третій етап
- •Побудова концептуальної моделі у вигляді er-діаграми. Моделювання локальних представлень
- •Побудова концептуальної моделі у вигляді er-діаграми. Об’єднання локальних представлень
- •Побудова концептуальної моделі у вигляді er-діаграми. Обмеження цілісності
- •Друга стадія концептуального проектування бд. Представлення концептуальної моделі засобами моделі даних субд
- •Друга стадія концептуального проектування бд. Типові моделі даних субд і представлення концептуальної моделі. Мережева модель даних
- •Друга стадія концептуального проектування бд. Типові моделі даних субд і представлення концептуальної моделі. Ієрархічна модель даних
- •Друга стадія концептуального проектування бд. Типові моделі даних субд і представлення концептуальної моделі. Реляційна модель даних
- •Друга стадія концептуального проектування бд. Типові моделі даних субд і представлення концептуальної моделі. Багатовимірна модель даних
- •Засоби автоматизованого проектування концептуальної моделі
- •Використання формального апарату для оптимізації схем відношень. Проблема вибору раціональних схем відношень
- •Використання формального апарату для оптимізації схем відношень
- •Функціональні залежності між атрибутами відношень
- •Використання формального апарату для оптимізації схем відношень. Декомпозиція схеми відношення
- •Вибір раціонального набору схеми відношень шляхом нормалізації. Нормальні форми
- •Приклади нормалізації до 3нф
- •Фізичні моделі даних (внутрішній рівень). Структура пам’яті комп’ютера
- •Представлення екземпляра логічного запису
- •Організація обміну між оперативною і зовнішньою пам’яттю
- •Структура зберігання даних у зовнішній пам’яті комп’ютера. Послідовне розміщення фізичних записів
- •Пошук запису із заданим значенням ключа
- •Структура зберігання даних у зовнішній пам’яті комп’ютера. Розміщення фізичних записів у вигляді спискової структури
- •Пошук запису із заданим значенням ключа
- •Структура зберігання даних у зовнішній пам’яті комп’ютера. Використання індексів. В-дерева
- •Пошук і читання запису із заданим значенням ключа
- •Модифікація (коректування) запису
- •Видалення запису
- •Додавання запису
- •Структура зберігання даних у зовнішній пам’яті комп’ютера. Розміщення записів з використанням хешування
- •Пошук запису із заданим значенням ключа і читання
- •Модифікації запису
- •Видалення запису
- •Додавання запису
- •Загальна структура сучасної субд (на прикладі ms sql Server)
- •Архітектура бд. Логічний рівень
- •Тип даних hierarchyid
- •Просторові типи даних
- •Індекси
- •Представлення
- •Складки
- •Обмеження
- •Правила
- •Значення за замовчуванням
- •Архітектура бд. Фізичний рівень
- •Файли і файлові групи
- •Сторінки і екстенти
- •Сторінки файлів даних
- •Організація таблиць та індексів
- •Управління роботою з екстентами і вільним місцем
- •Відстежування вільного місця
- •Програмне забезпечення роботи з сучасними бд. Основні завдання пз бд
- •Програмне забезпечення роботи з сучасними бд. Проблеми створення і ведення реляційних бд
- •Поняття мови sql і його основні частини. Історія виникнення і стандарти мови sql
- •Поняття мови sql і його основні частини. Переваги мови sql. Загальна характеристика sql
- •Напрями розвитку бд. Об’єкто-орієнтований підхід до організації бд
- •Об'єктно-орієнтоване програмування
- •Об'єктно-орієнтовані бази даних
- •Напрями розвитку бд. Об’єктно-реляційні субд
- •Напрями розвитку бд.. Розподілені бд. Сховища даних
- •Сховища даних
Організація обміну між оперативною і зовнішньою пам’яттю
Одиницею обміну даними між оперативною і зовнішньою пам'яттю є фізичний запис. Фізичний запис читається (записується) за одне звернення до зовнішньої пам'яті. Зокрема, фізичний запис може відповідати одному екземпляру логічного запису. Кількість звернень до зовнішньої пам'яті при роботі з базою даних суттєво впливає на час відгуку системи. У зв'язку з цим для зменшення кількості звернень до БД при роботі з нею збільшують довжину фізичного запису (об'єднують в один фізичний запис декілька екземплярів логічних записів). У цьому випадку фізичний запис називають також блоком, Кількість k екземплярів логічних записів, що складають фізичний запис, називають коефіцієнтом блокування.
Введення вихідних даних у БД здійснюється таким чином:
в ОП послідовно вводяться k екземплярів логічних записів (кортежів);
введені k екземпляри об'єднуються у фізичний запис (блок);
фізичний запис заноситься в зовнішню пам'ять.
Введення k екземплярів записів вихідної таблиці, що складають i‑ий фізичний запис.
Обробка даних, що зберігаються в зовнішній пам'яті, здійснюється таким чином:
фізичний запис (блок) прочитується в оперативну пам'ять;
обробляються екземпляри логічних записів усередині блоку (вибираються потрібні поля, проводиться порівняння ключового поля із заданим значенням, здійснюється коректування полів, виконуються операції видалення і т. п.).
У деяких СУБД (наприклад, MS SQL Server) одиницею обміну між оперативною і зовнішньою пам'яттю є сторінка (вид фізичного запису, розмір якого фіксований і не залежить від довжини логічного запису). Організація обміну між оперативною і зовнішньою пам'яттю у цьому випадку аналогічна вищеописаній. Відмінність тут полягатиме в тому, що екземпляри логічних записів формуються в буфері, розміром у сторінку, якщо розмір сторінки не кратний довжині логічного запису, сторінка може бути заповнена неповністю, фізичний запис на зовнішньому носієві, відповідно, буде заповнений не повністю.
Структура зберігання даних у зовнішній пам’яті комп’ютера. Послідовне розміщення фізичних записів
У цій структурі зберігання записів у пам'яті розміщуються послідовно один за одним. Як вже наголошувалося, вважаємо, що всі записи мають однакову довжину. Фізична адреса запису може бути легко вирахувана за номером запису (для обчислення необхідно знати формат відповідного фізичного запису).
Фізичний запис з номером I містить логічні записи з номерами
(I – 1) k+1
(I – 1) k+2
...
(I – 1) k+k
I = 1, 2, ..., [N/k];
знаком [N/k] позначимо найближче ціле, більше або рівне N/k, ‑ ціле зверху.
Розглянемо, як реалізуються основні елементарні операції моделі даних у цій структурі зберігання, і оцінимо кількість цих операцій. Нагадаємо, що з точки зору користувача в табличній моделі даних ці операції є операціями над рядками (стовпцями) таблиці.
Пошук запису із заданим значенням ключа
При послідовній структурі зберігання пошук може здійснюватися лише перебором. Читається перший фізичний запис, в ОП він розбивається на k логічних записи (розблоковується), задане значення ключа порівнюється із значенням ключа кожного логічного запису. При неспівпаданні читається наступний фізичний запис і процес повторюється. У кращому разі потрібний запис буде знайдений за одне звернення, в гіршому – необхідно прочитати всі фізичні записи. Середня кількість звернень до зовнішньої пам'яті для пошуку потрібного запису ТР визначається наступною формулою
ТР = (1+[N/k])/2
де N – кількість логічних записів, k – коефіцієнт блокування, [N/k] ‑ кількість фізичних записів.
Читання запису із заданим значенням ключа
Спочатку необхідно знайти потрібний запис (дивися операцію "пошук"). Після закінчення операції "пошук" потрібний запис вже зчитаний в ОП. Кількість звернень до ВП дорівнює ТР.
Коректування запису
Спочатку необхідно знайти потрібний запис (дивися операцію "пошук"). Після закінчення операції "пошук" в ОП знайдений логічний запис коректується, формується фізичний запис (блок) і заноситься у зовнішню пам'ять за тією адресою, звідки вона була зчитана. Кількість звернень до ВП дорівнює ТР+1.
Видалення запису
Аналогічна операції коректування. Службове поле відповідного логічного запису позначається як "видалений запис". Кількість звернень до ВП рівною ТР+1.
Додавання запису
Розглянемо два випадки. У першому випадку користувач вводить новий логічний запис у кінець таблиці. Тоді логічний запис, що вводиться, додається в кінець файлу. Він заноситься або в останній фізичний запис (якщо в ній менше k логічних записів – блок неповний), для цього цей запис має бути зчитаний в ОП. Якщо останній блок повний, то формується новий фізичний запис, який заноситься в кінець файлу. Кількість звернень до ВП рівна відповідно або 2, або 1.
У другому випадку користувач вводить новий логічний запис у вказаний їм i-ий рядок таблиці (i=1, 2, ..., n). У цьому випадку читається фізичний запис з номером [(i-1)/k], що містить i-ий, логічний запис. Якщо відповідний фізичний запис містить порожні логічні записи, то запис, що додається, вставляється у цей блок, блок записується на своє місце у ВП. Кількість звернень до ВП дорівнює 2. Якщо вказаний фізичний запис містить k екземплярів логічних записів вихідної таблиці, читається фізичний запис з номером [i/k]. Якщо цей фізичний запис містить порожні логічні записи, запис, що додається, вставляється в цей блок, блок записується на своє місце у ВП. Сумарна кількість звернень в цьому випадку буде на одиницю більшою і рівна 3.
Якщо фізичні записи з номерами [(i-1)/k] та [i/k] містять по k екземплярів вихідних логічних записів, необхідно формувати додатковий фізичний запис. Відповідний блок міститиме логічний запис, що додається, та k-1 порожніх логічних записів. Блоки з номерами [i/k], [(i+1)/k], ... [N/k] переписуються на одну позицію нижче (зсуваються). Сформований фізичний запис заноситься на місце, що звільнилося (місце запису з номером [i/k]).
У кращому разі (i = N) жоден блок не зрушується. У гіршому разі (i = 1) зсуваються всі блоки. Середня кількість звернень до ВП для перезапису блоків (читання + запис) складе 2[N/k]/2. Тоді сумарна кількість звернень до ВП при додаванні запису в цьому випадку буде рівною 3+[N/k].
Відмітимо, що якщо записи впорядковані за значеннями ключа може проводитися дихотомічним методом і кількість звернень до зовнішньої пам'яті буде не пропорційною (1+[N/k]) /2, а log2[N/k], тобто істотно меншою. Проте додавання запису потребує для збереження впорядкованості, як правило, зсув великої кількості записів. Тому розміщення фізичних записів з впорядкуванням їх за значеннями ключа в СУБД не використовується.