
- •Вступ до баз даних. Загальна характеристика основних понять
- •1.1. Розвиток основних понять представлення даних
- •Лекція 6
- •Друга стадія концептуального проектування бд. (Моделі даних субд. Представлення концептуальної моделі засобами моделі даних субд)
- •6.1. Представлення концептуальній моделі засобами моделі даних субд
- •6.2 Типові моделі даних субд і представлення концептуальної моделі
- •6.2.1. Мережева модель даних
- •6.2.2. Ієрархічна модель даних
- •6.2.3. Реляційна модель даних
- •6.2.4. Багатовимірна модель даних
- •6.3. Засоби автоматизованого проектування концептуальної моделі
- •Лекція 6
- •Друга стадія концептуального проектування бд. (Моделі даних субд. Представлення концептуальної моделі засобами моделі даних субд)
- •6.1. Представлення концептуальній моделі засобами моделі даних субд
- •6.2 Типові моделі даних субд і представлення концептуальної моделі
- •6.2.1. Мережева модель даних
- •6.2.2. Ієрархічна модель даних
- •6.2.3. Реляційна модель даних
- •6.2.4. Багатовимірна модель даних
- •6.3. Засоби автоматизованого проектування концептуальної моделі
- •Лекція 7
- •Формалізація реляційної моделі
- •7.1. Формалізований опис відношень і схеми відношень
- •7.2. Маніпулювання даними в реляційній моделі
- •7.3. Операції реляційної алгебри
- •Лекція 8
- •Використання формального апарату для оптимізації схем відношень
- •8.1. Проблема вибору раціональних схем відношень
- •8.2. Функціональні залежності (залежності між атрибутами відношення)
- •8.3. Декомпозиція схеми відношення
- •8.4 .Вибір раціонального набору схем відношень шляхом нормалізації
- •8.5. Приклад нормалізації до 3нф
- •8.6. Цілісна частина реляційної моделі. Реалізація умови цілісності даних в сучасних субд
- •Лекція 9
- •Фізичні моделі даних (внутрішній рівень)
- •9.1. Структура пам'яті еом
- •9.2. Представлення екземпляра логічного запису
- •9.3. Організація обміну між оперативною і зовнішньою пам'яттю
- •9.4. Структури зберігання даних у зовнішній пам'яті еом
- •9.4.1. Послідовне розміщення фізичних записів
- •Пошук запису із заданим значенням ключа
- •9.4.2. Розміщення фізичних записів у вигляді спискової структури
- •Пошук запису із заданим значенням ключа
- •9.4.3. Використання індексів (індексування)
- •Пошук і читання запису із заданим значенням ключа
- •Модифікація (коректування) запису
- •Видалення запису
- •Додавання запису
- •9.4.5. Розміщення записів з використанням хешування
- •Пошук запису із заданим значенням ключа і читання
- •Модифікації запису
- •Видалення запису
- •Додавання запису
- •9.4.6. Комбіновані структури зберігання
- •Лекція 10
- •Структура сучасної субд на прикладі Microsoft sql Server 2008
- •10.1 Загальна структура субд
- •10.2. Архітектура бази даних. Логічний рівень
- •Тип даних hierarchyid
- •Просторові типи даних
- •Індекси
- •Представлення
- •Складки
- •Обмеження
- •Правила
- •Значення за замовчуванням
- •10.3. Архітектура бази даних. Фізичний рівень
- •Файли і файлові групи
- •Сторінки і екстенти
- •Сторінки файлів даних
- •Організація таблиць та індексів
- •Управління роботою з екстентами і вільним місцем
- •Відстежування вільного місця
- •Лекція 11
- •Програмне забезпечення роботи з сучасними базами даних
- •11.1. Основні завдання програмного забезпечення баз даних
- •11.2. Проблеми створення і ведення реляційних баз даних
- •11.3. Поняття мови sql і його основні частини
- •11.3.1. Історія виникнення і стандарти мови sql
- •11.3.2. Переваги мови sql
- •11.3.2. Загальна характеристика sql
- •Термінологія
- •Різновиди sql
- •Лекція 12
- •Основні оператори мови sql. Інтерактивний sql
- •12.1. Загальне уявлення про основні оператори мови sql
- •12.2 Інтерактивний режим роботи з sql (інтерактивна sql)
- •12.3. Використання мови sql для вибору інформації з таблиці
- •12.4. Використання sql для вибору інформації з декількох таблиць
- •12.5. Використання sql для вставки, редагування і видалення даних у таблицях
- •Лекція 13
- •Використання мови sql у прикладних програмах
- •13.1. Програмний (вбудований) sql
- •13.2. Статичний sql
- •13.3. Динамічний sql
- •13.4. Інтерфейси програмування додатків (api). Db‑Library, odbc, oci, jdbc
- •Протокол odbc
- •Протокол jdbc
- •Бібліотека db-Library
- •Лекція 14
- •Напрями розвитку баз даних
- •14.1. Об'єктно-орієнтований підхід до організації баз даних
- •Об'єктно-орієнтоване програмування
- •Об'єктно-орієнтовані бази даних
- •Об'єктно-реляційні субд
- •14.2. Розподілені бази даних
- •14.3. Сховища даних
- •Основи криптології
6.2 Типові моделі даних субд і представлення концептуальної моделі
6.2.1. Мережева модель даних
Це одна з найбільш ранніх моделей даних СУБД. Типова мережева модель даних охарактеризована групою DBTG (Data Base Task Group) системного комітету CODASYL (Conference of Data System Languages). Основними функціями цього комітету були аналіз відомих фірмових систем обробки управлінських даних з єдиних позицій і в єдиній термінології, узагальнення досвіду організації таких систем і розробка рекомендацій щодо створення відповідних систем. Структура даних мережевої моделі визначається у термінах розділу 6.1 (елемент, запис, група, групове відношення, файл, база даних).
Реалізація групових відношень у мережевій моделі здійснюється з використанням спеціально введених додаткових полів – покажчиків (адрес зв'язку або посилань), які встановлюють зв'язок між власником і членом групового відношення. Запис може полягати у відношеннях різних типів (1:1, 1:N, M:N). Відмітимо, що якщо один із варіантів встановлення зв'язку 1:1 очевидний (у запис – власник відношення, поля якої відповідають атрибутам сутності, включається додаткове поле – покажчик на запис – член відношення), то можливість представлення зв'язків 1:N і M:N так само вельми проблематична. Тому найбільш поширеним способом організації зв'язків у мережевих СУБД є введення додаткового типу записів (і відповідно, додаткового файлу), полями яких є покажчики.
Розглянемо для прикладу представлення групового відношення M:N. У модель вводиться додаткова група (додатковий вид записів). Елементи цього запису є покажчиками на дві вихідні групи і покажчики на екземпляри даного додаткового запису, що зв'язують їх в список (ланцюг), що відповідає M і (або) N членам групового відношення (мал. 6.1.).
Мал. 6.1. Представлення зв'язків типу M:N
Представлення зв'язків 1:1, 1:M, N:1 є частковим випадком зв'язку типу M:N і здійснюється аналогічно розглянутому вище.
Відмітимо, що група може бути членом більше ніж одного групового відношення. У цьому випадку вводиться декілька додаткових груп-покажчиків, а в групі – власнику відношення вводиться декілька полів – покажчиків на додаткові групи. Тоді множина записів (груп) і зв'язків між ними утворює деяку мережеву структуру (орієнтований граф загального вигляду). Вершинами графа є групи; дугами графа, направленими від власника до члена групового відношення, – зв'язки між групами.
Мережева модель даних підтримує всі необхідні операції над даними, реалізовані як дії зі списковими структурами. Мережева модель даних є, ймовірно, найбільш загальною по можливостях представлення концептуальної моделі. По суті, будь-яка ER‑діаграма без яких-небудь змін представляється засобами мережевої моделі. До недоліків мережевої моделі зазвичай відносять складність отримуваної на її основі концептуальної схеми і велику трудомісткість розуміння відповідної схеми зовнішнім користувачем.
Розглянемо приклад запису частини ER-діаграми (СТУДЕНТ і ФАКУЛЬТЕТ) з попередньої лекції в термінах мережевої СУБД. Для прикладу розглянемо декілька екземплярів сутності СТУДЕНТ і сутності ФАКУЛЬТЕТ (мал. 6.2.).
Мал. 6.2. Приклади екземплярів сутностей
Нехай студенти Іванов, Петров, Мішин вчаться на факультеті ВМК, Сидоров і Кашин на механіко-математичному факультеті. Тоді мережева модель відповідного фрагменту ER-діаграми виглядатиме таким чином (мал. 6.3).
Мал. 6.3. Приклад мережевої моделі концептуального представлення
Відмітимо, що у додатковому файлі один з покажчиків не був потрібний, оскільки даний зв'язок має тип 1:N, а не M:N. Значком позначаємо відсутність подальшого зв'язку.
Найбільш істотним недоліком мережевої моделі є "жорсткість" отримуваної концептуальної схеми. Зв'язки закріплені в записах у вигляді покажчиків. При появі нових аспектів використання цих же даних може виникнути необхідність встановлення нових зв'язків між ними. Це вимагає введення в записи нових покажчиків, тобто зміни структури БД, і, відповідно, переформовування усієї бази даних.
СУБД, що підтримують мережеву модель, широко використовувалися на обчислювальних системах серії IBM 360/370 (ЄС ЕОМ). Як приклади таких систем можна вказати IDMS, UNIBAD (БАНК), і їх аналоги СЕДАН, СЕТОР. На персональних комп'ютерах мережеві СУБД не набули широкого поширення. Прикладом мережевої СУБД для персонального комп'ютера є db_VISTA III. Відзначимо, що система db_VISTA реалізована на мовою С і тому є мобільною (переносимо). Система може експлуатуватися на ПЕОМ типу IBM РС, SUN, Macintosh.