
- •Поняття інформаційної системи. Поняття інформаційних технологій. Міжнародні інформаційні системи та технології
- •Життєвий цикл інформаційних систем
- •Поняття бази даних (бд). Місце бд в інформаційних системах
- •Розвиток основних понять представлення даних. Приклад щодо нарахування заробітної плати
- •Розвиток основних понять представлення даних. Приклад щодо обліку кадрового складу
- •Системи управління базами даних (субд). Головні поняття. Основні функції субд
- •Різні архітектурні рішення, які використовуються при реалізації багато користувальницьких субд. Централізована архітектура
- •Різні архітектурні рішення, які використовуються при реалізації багато користувальницьких субд. Технологія з мережею та файловим сервером
- •Різні архітектурні рішення, які використовуються при реалізації багато користувальницьких субд. Технологія «клієнт-сервер»
- •Різні архітектурні рішення, які використовуються при реалізації багато користувальницьких субд. Триланкова архітектура «клієнт-сервер»
- •Огляд субд. Настільні субд. Серверні субд. Ms sql Server. Oracle. Серверні бази даних компанії івм
- •Різні уявлення про дані в базах даних
- •Основні етапи проектування бази даних
- •Перша стадія концептуального проектування бази даних. Опис інформаційного представлення предметної області. Er-діаграма
- •Перша стадія концептуального проектування бази даних. Атрибут. Зв’язки. Максимальні кардинальні числа
- •Побудова концептуальної моделі у вигляді er-діаграми. Головні етапи побудови Побудова концептуальної моделі у вигляді er-діаграми Перший етап
- •Другий етап
- •Третій етап
- •Побудова концептуальної моделі у вигляді er-діаграми. Моделювання локальних представлень
- •Побудова концептуальної моделі у вигляді er-діаграми. Об’єднання локальних представлень
- •Побудова концептуальної моделі у вигляді er-діаграми. Обмеження цілісності
- •Друга стадія концептуального проектування бд. Представлення концептуальної моделі засобами моделі даних субд
- •Друга стадія концептуального проектування бд. Типові моделі даних субд і представлення концептуальної моделі. Мережева модель даних
- •Друга стадія концептуального проектування бд. Типові моделі даних субд і представлення концептуальної моделі. Ієрархічна модель даних
- •Друга стадія концептуального проектування бд. Типові моделі даних субд і представлення концептуальної моделі. Реляційна модель даних
- •Друга стадія концептуального проектування бд. Типові моделі даних субд і представлення концептуальної моделі. Багатовимірна модель даних
- •Засоби автоматизованого проектування концептуальної моделі
- •Використання формального апарату для оптимізації схем відношень. Проблема вибору раціональних схем відношень
- •Використання формального апарату для оптимізації схем відношень
- •Функціональні залежності між атрибутами відношень
- •Використання формального апарату для оптимізації схем відношень. Декомпозиція схеми відношення
- •Вибір раціонального набору схеми відношень шляхом нормалізації. Нормальні форми
- •Приклади нормалізації до 3нф
- •Фізичні моделі даних (внутрішній рівень). Структура пам’яті комп’ютера
- •Представлення екземпляра логічного запису
- •Організація обміну між оперативною і зовнішньою пам’яттю
- •Структура зберігання даних у зовнішній пам’яті комп’ютера. Послідовне розміщення фізичних записів
- •Пошук запису із заданим значенням ключа
- •Структура зберігання даних у зовнішній пам’яті комп’ютера. Розміщення фізичних записів у вигляді спискової структури
- •Пошук запису із заданим значенням ключа
- •Структура зберігання даних у зовнішній пам’яті комп’ютера. Використання індексів. В-дерева
- •Пошук і читання запису із заданим значенням ключа
- •Модифікація (коректування) запису
- •Видалення запису
- •Додавання запису
- •Структура зберігання даних у зовнішній пам’яті комп’ютера. Розміщення записів з використанням хешування
- •Пошук запису із заданим значенням ключа і читання
- •Модифікації запису
- •Видалення запису
- •Додавання запису
- •Загальна структура сучасної субд (на прикладі ms sql Server)
- •Архітектура бд. Логічний рівень
- •Тип даних hierarchyid
- •Просторові типи даних
- •Індекси
- •Представлення
- •Складки
- •Обмеження
- •Правила
- •Значення за замовчуванням
- •Архітектура бд. Фізичний рівень
- •Файли і файлові групи
- •Сторінки і екстенти
- •Сторінки файлів даних
- •Організація таблиць та індексів
- •Управління роботою з екстентами і вільним місцем
- •Відстежування вільного місця
- •Програмне забезпечення роботи з сучасними бд. Основні завдання пз бд
- •Програмне забезпечення роботи з сучасними бд. Проблеми створення і ведення реляційних бд
- •Поняття мови sql і його основні частини. Історія виникнення і стандарти мови sql
- •Поняття мови sql і його основні частини. Переваги мови sql. Загальна характеристика sql
- •Напрями розвитку бд. Об’єкто-орієнтований підхід до організації бд
- •Об'єктно-орієнтоване програмування
- •Об'єктно-орієнтовані бази даних
- •Напрями розвитку бд. Об’єктно-реляційні субд
- •Напрями розвитку бд.. Розподілені бд. Сховища даних
- •Сховища даних
Використання формального апарату для оптимізації схем відношень
Нехай R(A1, A2 ..., An) – схема відношення, а X і Y – підмножини {A1, A2 ..., An}.
Функціональна залежність на відношенні R – це твердження вигляду "Якщо два кортежі R збігаються по атрибутах множини X {A1, A2 ..., An} (тобто ці кортежі мають у відповідних один одному компонентах одні і ті ж значення для кожного атрибуту множини X), то вони повинні збігатися і по атрибутах множини YÌ {A1, A2 ..., An}. Формально ця залежність записується виразом X ® Y, причому говориться, що X функціонально визначає Y.
Часто використовується інше твердження: X функціонально визначає Y або Y функціонально залежить від X (позначається X ® Y) тоді і лише тоді, коли кожне значення множини X відношення R пов'язане з одним значенням множини Y відношення R. Інакше кажучи, якщо два кортежі R збігаються за значенням X, вони збігаються і за значенням Y.
Зауваження. Взагалі кажучи, під терміном "відношення" можуть матися на увазі два поняття:
відношення як змінна, яка може набувати різних значень (таблиця, в рядки і стовпці якої можуть бути вписані різні значення);
відношення, як набір конкретних значень (таблиця із заповненими елементами).
Функціональні залежності характеризують всі відношення, які можуть бути значеннями схеми відношення R в принципі. Тому єдиний спосіб визначити функціональні залежності – уважно проаналізувати семантику (сенс, зміст) атрибутів.
Функціональні залежності є, зокрема, обмеженнями цілісності, тому доцільно перевіряти їх при кожному оновленні бази даних.
Приклад функціональних залежностей для відношення ІСПИТОВА ВІДОМІСТЬ
Код студента ® Прізвище
Код студента, Код іспиту ® Оцінка
Приклад функціональних залежностей для відношення СТУДЕНТ, наведених на початку цієї лекції
Код студента ® Прізвище
Код студента ® Факультет
Відмітимо, що остання залежність існує за умови, що один студент не може навчатися на декількох факультетах.
Повна множина функціональних залежностей
Для кожного відношення існує досить певна множина функціональних залежностей між атрибутами даного відношення. Причому із однієї або більше функціональних залежностей, властивих даному відношенню, можна вивести інші функціональні залежності, також властиві цьому відношенню.
Задану множину функціональних залежностей для відношення R позначимо F, повну множину функціональних залежностей, які логічно можуть бути отримані з F, називатимемо замиканням F і позначатимемо F+.
Якщо множина функціональних залежностей збігається із замиканням даної множини, то така множина функціональних залежностей називається повною.
Введені поняття дозволяють формально визначити поняття ключа.
Нехай існує деяка схема R з атрибутами A1A2...An, F – деяка множина функціональних залежностей і X – деяка підмножина R. Тоді X називається ключем, якщо, по-перше, у F+ існує залежність X ® A1A2...An і, по-друге, ні для якої підмножини Y, що входить в X, залежність Y ® A1A2...An не належить F+.
Повною функціональною залежністю називається залежність неключового атрибуту від усього складеного ключа.
Частковою функціональною залежністю називатимемо залежність неключового атрибуту від частини складеного ключа.
Для обчислення замикання множини функціональних залежностей використовуються наступні правила виведення (аксіоми Армстронга):
Нехай відома деяка схема відношення R{A1, A2 ..., An} з множиною атрибутів U={A1, A2 ..., An} і множиною функціональних залежностей F, заданих на множині U.
Аксіома рефлективності. Якщо Y входить в X, а X входить в U (YÍ X Í U), то X ® Y логічно випливає із F. Це правило дає тривіальні залежності, оскільки в них права частина міститься в лівій частині.
Аксіома поповнення. Якщо X ® Y і Z є підмножина U, то XZ ® YZ. У цьому випадку функціональна залежність X ® Y або містилася у вихідній множині F, або може бути виведена з F з використанням описуваних аксіом.
Аксіома транзитивності. Якщо X ® Y і Y ® Z, то X ® Z.
Справедлива наступна теорема.
Теорема. Аксіоми Армстронга є повними і надійними.
Це означає, що використовуючи їх ми виведемо всі можливі функціональні залежності, що логічно випливають із F, і не виведемо жодних зайвих залежностей.
Існує декілька інших правил виведення, які випливають із аксіом Армстронга.
Правило самовизначення. X ® Х.
Правило об'єднання. Якщо X ® Y і X ® Z, то X ® YÈZ.
Правило псевдотранзитивності. Якщо X ® Y і WÈY ® Z, то XÈW ® Z.
Правило композиції. Якщо X ® Y і Z ® W, то X ÈW ® YÈW.
Правило декомпозиції. Якщо X ® Y і Z входить в Y, то X ® Z.
Треба відзначити, що обчислення замикання множини функціональних залежностей є трудомістким завданням при чималій кількості атрибутів. Це пояснюється