- •Лекція 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.2.1. Мова визначення даних - ddl Мова ddl - описова мова, що дозволяє абд чи користувачу описати і поіменувати сутності, необхідні для роботи деякої програми, а також зв'язку між різними сутностями.
Схема бази даних складається з набору визначень, виражених спеціальною мовою визначення даних – DDL. Мова DDL використовується як для визначення нової схеми, так і для модифікації вже існуючої. Цю мову не можна використовувати для керування даними.
Результатом компіляції DDL-операторів є набір таблиць, збережений в особливих файлах, називаних системним каталогом. У системному каталозі інтегровані мета-дані - тобто дані, що описують об'єкти бази даних, а також дозволяють спростити спосіб доступу до них і керування ними. Мета-дані включають визначення записів, елементів даних, а також інші об'єкти, що представляють інтерес для користувачів чи необхідні для роботи СКБД. Перед доступом до реальних даних СКБД звичайно звертається до системного каталогу. Для позначення системного каталогу також використовуються терміни словник даних і каталог даних, хоча перший з них (словник даних) звичайно відноситься до програмного забезпечення більш загального типу, чим просто каталог СКБД.
Теоретично для кожної схеми у трьохрівневій архітектурі можна було б виділити кілька різних мов DDL, а саме мова DDL зовнішніх схем, мова DDL концептуальної схеми і мова DDL внутрішньої схеми. Однак на практиці існує одна загальна мова DDL, що дозволяє задавати специфікації, як мінімум, для зовнішньої і концептуальної схем.
2.2.2. Мова керування даними - dml Мова dml - мова, що містить набір операторів для підтримки основних операцій маніпулювання даними, що містилися в базі.
До операцій керування даними відносяться:
вставка в базу даних нових зведень;
модифікація зведень, збережених у базі даних;
витяг зведень, що містяться в базі даних;
видалення зведень з бази даних.
Таким чином, одна з основних функцій СКБД полягає в підтримці мови маніпулювання даними, за допомогою якого користувач може створювати вирази для виконання перерахованих вище операцій з даними. Поняття маніпулювання даними застосовується як до зовнішнього і концептуального рівнів, так і до внутрішнього рівня. Однак на внутрішньому рівні для цього необхідно визначити дуже складні процедури низького рівня, що дозволяють виконувати доступ до даних дуже ефективно. На більш високих рівнях, навпаки, акцент переноситься убік більшої простоти використання й основних зусиль направляються на забезпечення ефективної взаємодії користувача із системою.
Мови DML відрізняються базовими конструкціями витягу даних. Варто розрізняти два типи мов DML: процедурний і не процедурний. Основна відмінність між ними полягає в тім, що процедурні мови вказують те, як можна одержати результат оператора мови DML, тоді як не процедурні мови описують те, який результат буде отриманий. Як правило, у процедурних мовах запису розглядаються по окремості, тоді як не процедурні мови оперують з цілими наборами записів.
Процедурні мови dml Процедурна мова dml - мова, що дозволяє повідомити системі про те, які дані необхідні, і точно вказати, як їх можна витягти.
За допомогою процедурної мови DML користувач, а точніше - програміст, указує на те, які дані йому необхідні і як їх можна одержати. Це значить, що користувач повинний визначити всі операції доступу до даних, (здійснювані за допомогою виклику відповідних процедур), що повинні бути виконані для одержання необхідної інформації. Звичайно така процедурна мова DML дозволяє витягти запис, обробити його і, у залежності від отриманих результатів, витягти інший запис, що повинен бути підданий аналогічній обробці, і т.д. Подібний процес витягу даних продовжується доти, поки не будуть витягнуті всі запитувані дані. Мови DML мережних і ієрархічних СКБД звичайно є процедурними.