- •Лекція 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.6.3. Технологія „клиент/сервер"
Технологія "клієнт/сервер" була розроблена з метою усунення недоліків, що маються в перших двох підходах. "Клієнт/сервер" означає такий спосіб взаємодії програмних компонентів, при якому вони утворять єдину, систему. Як видно з "самої назви, існує деякий клієнтський процес, що вимагає визначених ресурсів, а також серверний процес, що ці ресурси надає. При цьому зовсім необов'язково, щоб вони знаходилися на тому самому комп'ютері. На практиці прийнято розміщати сервер на одному вузлі локальної мережі, а клієнти — на інших вузлах. На мал. 2.10 показана архітектура типу «клієнт/сервер», а на мал. 2.11 - деякі можливі варіанти топології "клієнт/сервер".
У контексті бази даних клієнт керує користувальницьким інтерфейсом і логікою додатка, діючи як складна робоча станція, на якій виконуються додатки баз даних. Клієнт приймає від користувача запит, перевіряє синтаксис і генерує запит до бази даних мовою SQL чи іншій мові бази даних, що відповідає логіці додатка. Потім він передає повідомлення серверу, очікує надходження відповіді і форматує отримані дані для представлення їх користувачу. Сервер приймає й обробляє запити до бази даних, а потім передає отримані результати назад клієнту. Така обробка включає перевірку повноважень клієнта, забезпечення вимог цілісності, підтримку системного каталогу, а також виконання запиту і відновлення даних. Крім цього, підтримується керування паралельністю і відновленням. Виконувані клієнтом і сервером операції приведені в табл. 2.4.
Р ис. 2.11. Альтернативні топології систем, з архітектурою "клієнт/ сервер": а) один клієнт - один сервер; б) трохи клієнтів - один сервер; в) трохи клієнтів - кілька серверів
Таблиця 2.4. Функції, виконувані учасниками взаємодії в середовищі „клиент/сервер"
Клієнт Сервер
Керує користувальницьким інтерфейсом Приймає й обробляє запити до бази даних з боку клієнтів
Приймає і перевіряє синтаксис уведеного Перевіряє повноваження користувачів
користувачем запиту
Виконує програму Гарантує дотримання обмежень цілісності
Генерує запит до бази даних і передає Виконує запити/відновлення і повертає результати клієнту серверу
Відображає отримані дані користувачу Підтримує системний каталог
Забезпечує рівнобіжний доступ до бази даних
Забезпечує керування відновленням
Цей тип архітектури має приведеними нижче переваги.
Забезпечується більш широкий доступ до існуючого базам даних.
Підвищується загальна продуктивність системи. Оскільки клієнти і сервер знаходяться на різних комп'ютерах, їхні процесори здатні виконувати додатка паралельно. При цьому настроювання продуктивності комп'ютера із сервером спрощується, якщо на ньому виконується тільки робота з базою даних.
Вартість апаратного забезпечення знижується. Досить могутній комп'ютер з великим пристроєм збереження потрібний тільки серверу— для збереження і керування базою даних.
Скорочуються комунікаційні витрати. Додатка виконують частина операцій на клієнтських комп'ютерах і посилають через мережу тільки запити до бази даних, що дозволяє істотно скоротити обсяг пересилаються по мережі даних,
Підвищується рівень несуперечності даних. Сервер може самостійно керувати перевіркою цілісності даних, оскільки всі обмеження визначаються і перевіряються тільки в одному місці. При цьому кожному додатку не прийдеться виконувати власну перевірку.
Ця архітектура дуже природно відображається на архітектуру відкритих систем.
Деякі розроблювачі баз даних використовували цю архітектуру для організації засобів роботи з розподіленими базами даних, тобто з набором декількох баз даних, логічно зв'язаних і розподілених у комп'ютерній мережі. Однак, незважаючи на те, що архітектура "клієнт/сервер" цілком може бути використана для організації розподіленої СКБД, сама по собі вона не утворить розподілену СКБД.
У трьохрівневій архітектурі "клієнт/сервер" тонкий (неінтелектуальний) клієнт на робочій станції керує тільки користувальницьким інтерфейсом, тоді як середній рівень обробки даних керує всією іншою логікою додатка. Третім рівнем тут є сервер бази даних. Ця трьохрівнева архітектура виявилася більш придатною для деяких середовищ — наприклад, для мереж Internet і intranet, де як клієнта може використовуватися звичайний Web-броузер.