- •1 Основні поняття
- •2 Реляційні бази даних
- •3 Реляційні зв'язки між таблицями баз даних
- •3.1 Відношення "один–до–багатьох"
- •3.2 Відношення "один– до–одного"
- •3.3 Відношення "багато-до-багатьох"
- •4 Стандарт і реалізація язика sql
- •5 Введення в технологію клієнт-сервер
- •6 Типи команд sql
- •8 Запис sql-операторів
- •Контрольні питання
5 Введення в технологію клієнт-сервер
У зв'язку з розширенням ринку інформаційних послуг виробники програмного забезпечення сталі випускати все більш інтелектуальні, а значить, і об'ємні програмні комплекси. Багато організацій і окремі користувачі часто не могли розмістити придбані продукти на власних ЕОМ. Для обміну інформацією і її розповсюдження були створені мережі ЕОМ, а узагальнюючі програми і дані сталі встановлювати на спеціальних файлових серверах.
Завдяки працюючим з файловими серверами СУБД, безліч користувачів одержують доступ до одних і тих же баз даних. Спрощується розробка різних автоматизованих систем управління організаціями. Проте при такому підході вся обробка запитів з програм або з терміналів призначених для користувача ЕОМ на них і виконується, тому для реалізації навіть простого запиту необхідно прочитувати з файлового серверу або записувати на нього цілі файли, а це веде до конфліктних ситуацій і перевантаження мережі. Для виключення вказаних недоліків була запропонована технологія клієнт-сервер, але при цьому знадобився єдиний язик спілкування з сервером – вибір ліг на SQL.
Технологія клієнт-сервер означає такий спосіб взаємодії програмних компонентів, при якій вони утворюють єдину систему. Як видно з самої назви, існує якийсь клієнтський процес, що вимагає певних ресурсів, а також серверний процес, який ці ресурси надає. Зовсім необов'язково, щоб вони знаходилися на одному комп'ютері. Звичайно прийнято розміщувати сервер на одному вузлі локальної мережі, а клієнтів – на інших вузлах.
Таблиця 1.1 – функції клієнтської та серверної частин
Клієнт |
Сервер |
- Керує інтерфейсом користувача; - Приймає і перевіряє синтаксис введеного користувачем запиту; - Виконує додаток; - Генерує запит до БД і передає його серверу; - Відображує користувачеві отримувані дані; |
- Приймає і опрацьовує запити до БД з боку клієнтів; - Перевіряє повноваження користувачів; - Гарантує дотримання вимог цілісності; - Виконує запити та оновлення і повертає результати клієнту; - Підтримує системний каталог; - Забезпечує паралельний доступ до БД; - Забезпечує керування відновленням. |
Архітектура клієнт-сервер володіє рядом переваг:
забезпечується більш широкий доступ до існуючих баз даних ;
підвищується загальна продуктивність системи: оскільки клієнти і сервер знаходяться на різних комп'ютерах, їх процесори здатні виконувати додатки паралельно. Настройка продуктивності комп'ютера з сервером спрощується, якщо на ньому виконується тільки робота з базою даних ;
знижується вартість апаратного забезпечення; достатньо могутній комп'ютер з великим пристроєм зберігання потрібен тільки серверу – для зберігання і управління базою даних ;
скорочуються комунікаційні витрати. Додатки виконують частину операцій на клієнтських комп'ютерах і посилають через мережу тільки запити до баз даних, що дозволяє значно скоротити об'єм даних, що пересилаються по мережі;
підвищується рівень несуперечності даних. Сервер може самостійно управляти перевіркою цілісності даних, оскільки лише на ньому визначаються і перевіряються всі обмеження. При цьому кожному додатку не доведеться виконувати власну перевірку;
архітектура клієнт-сервер природно відображається на архітектуру відкритих систем.
Подальше розширення дворівневої архітектури клієнт-сервер припускає розділення функціональної частини колишнього, "товстого" (інтелектуального) клієнта на дві частини. В трирівневій архітектурі клієнт-сервер "тонкий" (неінтелектуальний) клієнт на робочій станції управляє тільки призначеним для користувача інтерфейсом, тоді як середній рівень обробки даних управляє всією рештою логіки додатку. Третій рівень – сервер бази даних. Ця трирівнева архітектура виявилася більш відповідною для деяких середовищ – наприклад, для мереж Internet і intranet, де як клієнт може виступати звичайний Web-браузер.