- •Лекція 2. Середовище бази даних
- •Структура цієї лекції
- •2.1. Трьохрівнева архітектура ansi-sparc
- •2.1.1. Зовнішній рівень Зовнішній рівень - Представлення бази даних з погляду користувачів. Цей рівень описує ту частину бази даних, що відноситься до кожного користувача.
- •2.1.2. Концептуальний рівень Концептуальний рівень - узагальнююче представлення бази даних. Цей рівень описує, які дані зберігаються в базі даних, а також зв'язку, що існують між ними.
- •2.1.3. Внутрішній рівень Внутрішній рівень Фізичне представлення бази даних у комп'ютері. Цей рівень описує, як інформація зберігається в базі даних.
- •2.1.4. Схеми, відображення й екземпляри
- •2.1.5. Незалежність від даних
- •2.2. Мови баз даних
- •2.2.1. Мова визначення даних - ddl Мова ddl - описова мова, що дозволяє абд чи користувачу описати і поіменувати сутності, необхідні для роботи деякої програми, а також зв'язку між різними сутностями.
- •2.2.2. Мова керування даними - dml Мова dml - мова, що містить набір операторів для підтримки основних операцій маніпулювання даними, що містилися в базі.
- •Процедурні мови dml Процедурна мова dml - мова, що дозволяє повідомити системі про те, які дані необхідні, і точно вказати, як їх можна витягти.
- •Не процедурні мови dml Не процедурна мова dml - мова, що дозволяє вказати лише те, які дані вимагаються, але не те, як їх варто витягати.
- •2.2.3. Мови 4gl
- •Генератори форм
- •Генератори звітів
- •Генератори графічного представлення даних
- •Генератори програм
- •2.3. Моделі даних і концептуальне моделювання
- •Модель даних - Інтегрований набір понять для опису даних, зв'язків між ними й обмежень, що накладаються на дані в деякій організації.
- •2.3.1. Об'єктні моделі даних
- •2.3.2. Моделі даних на основі записів
- •Реляційна модель даних
- •Мережна модель даних
- •Ієрархічна модель даних
- •2.3.3. Фізичні моделі даних
- •2.3.4. Концептуальне моделювання
- •2.4. Функції скбд
- •2.4.1. Збереження, витяг і відновлення даних
- •2.4.2. Каталог, доступний кінцевим користувачам
- •2.4.3. Підтримка транзакцій
- •2.4.4. Сервисы керування паралельністю
- •2.4.5. Сервіси відновлення
- •2.4.6. Сервіси контролю доступу до даних
- •2.4.7. Підтримка обміну даними
- •2.4.8. Служби підтримки цілісності даних
- •2.4.9. Служби підтримки незалежності від даних
- •2.4.10. Допоміжні служби
- •2.5. Компоненти скбд
- •2.6. Архітектура багатокористувачевих скбд
- •2.6.1. Телеобробка
- •2.6.2. Файловий сервер
- •2.6.3. Технологія „клиент/сервер"
- •2.7. Системні каталоги
- •Системний каталог - сховище даних, що описують інформацію, що зберігається в базі даних, тобто мета-дані, чи "дані про дані".
- •2.7.1. Служба irds
2.1.5. Незалежність від даних
Основним призначенням трьохрівневої архітектури є забезпечення незалежності від даних, що означає, що зміни на нижніх рівнях ніяк не впливають на верхні рівні. Розрізняють два типи незалежності від даних: логічну і фізичну.
Логічна Логічна незалежність від даних означає повну захищеність
незалежність зовнішніх схем від змін, внесених у концептуальну
від даних схему.
Такі зміни концептуальної схеми, як чи додавання видалення нових сутностей, чи атрибутів зв'язків, повинні здійснюватися без необхідності внесення змін у вже існуючі зовнішні чи схеми переписування прикладних, програм. Ясно, що користувачі, для яких ці зміни призначалися, повинні знати про їх, але дуже важливо, щоб інші користувачі навіть не підозрювали про це.
Фізична Фізична незалежність від даних означає захищеність
незалежність концептуальної схеми від змін, внесених у внутрішню
від даних схему.
Такі зміни внутрішньої схеми, як використання різних файлових чи систем структур збереження, різних пристроїв збереження, модифікація чи індексів хешування, повинні здійснюватися без необхідності внесення змін у концептуальну чи зовнішню схеми. Користувачем можуть бути замічені зміни тільки в загальній продуктивності системи. Насправді найбільш розповсюдженою причиною внесення змін у внутрішню схему є саме недостатня продуктивність виконання операцій. На мал.2.3 показане місце перерахованих вище типів незалежності від даних у трьохрівневій архітектурі СКБД.
Прийняте в архітектурі ANSI-SPARC двох-етапне відображення може позначатися на ефективності роботи, але при цьому воно забезпечує більш високу незалежність від даних. Для підвищення ефективності в моделі ANSI-SPARC допускається використання прямого відображення зовнішніх схем на внутрішні, без звертання до концептуальної схеми. Однак це знижує рівень незалежності від даних, оскільки при кожній зміні внутрішньої схеми буде потрібно внесення визначених змін у зовнішню схему й усіх, залежних від неї прикладних програми.
2.2. Мови баз даних
Внутрішня мова СКБД для роботи з даними складається з двох частин: мови визначення даних (Data Definition Language - DDL) і мови керування даними (Data Manipulation Language - DML). Мова DDL використовується для визначення схеми бази даних, а мова DML - для читання і відновлення даних, збережених у базі. Ці мови називаються підмовами даних, оскільки в них відсутні конструкції для виконання всіх обчислювальних операцій, які звичайно використовуються у мовах програмування високого рівня. У багатьох СКБД передбачена можливість впровадження операторів підмови даних у програми, написаних на таких мовах програмування високого рівня, як COBOL, Fortran, Pascal, Ada чи С. У цьому випадку мову високого рівня прийнято називати базовою мовою (host language). Перед компіляцією файлу програми базовою мовою, що містять впроваджені оператори підмови даних, буде потрібно попередньо видалити ці оператори, замінивши їх викликами відповідних функцій СКБД. Потім цей попередньо оброблений файл звичайним образом компілюється з поміщенням результатів в об'єктний модуль, що компонується з бібліотекою, що містить викликувані в програмі функції СКБД. Після цього отриманий програмний текст буде готовий до виконання. Крім механізму впровадження, для більшості підмов даних також надаються засоби інтерактивного виконання їх операторів, що вводяться користувачем безпосередньо зі свого термінала.