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