Основи роботи клієнтів серверних додатків. Клієнт-серверні програми. SQL-сервер Interbase. Що дає архітектура клієнт-сервер

Ключ– значення (елемент даних), що використовується для ідентифікації або визначення адреси запису.

Первинний ключ– це стовпець чи деяке підмножина стовпців, які є унікальними, тобто. єдиним чином визначають рядки. Первинний ключ, який включив більше одного стовпця називається множинним, або комбінованими, або складовим. Правило цілісності об'єктів стверджує, що первинний ключ може бути повністю чи частково порожнім, тобто. мати значення null.

Інші ключі, які можна використовувати як первинні називаються потенційними або альтернативними ключами .

Зовнішній ключ– це стовпець або підмножина однієї табл., який може бути первинним ключем для іншої табл. Зовнішній ключ табл. є посиланням на первинний ключ ін. табл. правило цілісності посилання свідчить, що зовнішній ключ може бути або порожнім, або відповідати значенню первинного ключа, на який він посилається. Зовніш. ключ є невід'ємною частиною реляційної моделі, Оскільки реалізує зв'язки між табл. БД.

16. Реляційний підхід до побудованої моделі. Властивості та вимоги до реляційної моделі.Реляційна модель є зручною та найбільш звичною форми подання даних у вигляді таблиці. Однією з основних переваг реляційної моделі є її однорідність. Всі дані розглядаються як збережені в таблицях, у яких кожен рядок має той самий формат. Кожен рядок у табл. представляє певний об'єкт реального світу чи співвідношення між об'єктами.

Основні поняття, за допомогою яких визначається реляційна модель, є наступним: домен, кортеж, кардинальність, атрибути, ступінь, первинний ключ.

Домен– це сукупність значень, із якої беруться значення відповідних атрибутів певного відношення. З т.з. програмування, домен – це тип даних, що визначається системою або користувачем.

Первинний ключ– це стовпець чи деяке підмножина стовпців, які є унікальними, тобто. єдиним чином визначають рядки.

Модель пред'являє табл. такі вимоги:

1. дані в осередках табл. мають бути структурно неподільними.

2. дані в одному стовпці мають бути одного типу.

3. кожен стовпець має бути унікальним (неприпустимо дублювання стовпців).

4. стовпці розміщуються у довільному порядку.

5. рядки розміщуються у табл. так само у довільному порядку.

6. стовпці мають унікальне найменування.

Загалом концепція реляційної моделі визначається наступними 12 правилами Кодда:

1. Правило інформації (вся інформація має бути подана виключно на логічному рівніі лише одним способом - у вигляді значень, що містяться в табл.).

2. Правило гарантованого доступу (вказує на роль первинних ключів при пошуку інформації у БД).

3. Правело підтримки недійсних значень (вимагає, щоб відсутні дані можна було подати за допомогою недійсних значень null).

4. Правило динамічного каталогу, заснованого на реляційній моделі (зазначає, що реляційна БД повинна містити набір системних табл. що описують структуру самої БД).

5. Правило вичерпної підмови даних (вимагає, щоб СУБД використовувала мову реляційної БД, наприклад SQL).

6. Правило оновлення уявлень (стосується уявлень, які є віртуальними таблицями).

7. Правило додавання, оновлення та видалення (БД орієнтовані на множини).

8. Правило незалежності фізичних даних.

9. Правило незалежності логічних даних (правила 8-9 означають окремі користувача та прикладної програми від низькорівневої реалізації БД).

10. Правило незалежності умов цілісності (говорить, що мова БД має підтримувати обмежувальні умови).

11. Правило незалежності поширення (говорить, що мова БД має забезпечувати можливість роботи з розподіленими даними).

12. Правило єдиності (запобігає використанню інших можливостей для роботи з БД).

17.Взаємозв'язок у моделях СУБД та його типи. СУБД- За допомогою якого створюється БД і здійснюється маніпулювання даними в ній (видалення, редагування даних). зв'язок 1 до 1означає, що одному запису з батьківської таблиці відповідає лише 1 запис із дочірньої табл. Зв'язок 1 до багатьохозначає, що одному запису з однієї табл. відповідає кілька записів з дочірньої табл. Багато хто до багатьохозначає, що кільком записам з батьківської таблиці відповідає кілька записів з дочірньої табл. Багато хто 1означає, що кільком записам дочірньої табл. Відповідаєтільки 1 запис з батьківської табл. Функції СУБД: 1) управління даними у БД. 2) управління даними у пам'яті комп'ютера. 3) управління транзакціями-функція СУБД яка здійснює ряд операцій над БД як єдине ціле. Транзакція - послідовність операцій, що походять з 1 суперечливого стану в інше.

18. Нормалізація відносин у реляційній БД. Форми нормалізації.Нормалізація- це розбиття таблиці на дві або більше, що мають кращі властивості при включенні, зміні та видаленні даних. Мета нормалізації зводиться отримання такого проекту бази даних, у якому кожен факт утворюється лише одному місці, тобто. виключено надмірність інформації.

Кожна таблиця в реляційній БД задовольняє умові, відповідно до якої в позиції на перетині кожного рядка та стовпця таблиці завжди знаходиться єдине атомарне значення (тобто в одному осередку знаходиться одне значення: у текстовому - текст, у числовому лише одне число, а не група чисел перерахованих через кому), і ніколи не може бути безлічі таких значень. Будь-яка таблиця, яка задовольняє цю умову, називається нормалізованою. Власне, ненормалізовані таблиці, тобто. таблиці, містять групи, що повторюються, навіть не допускаються в реляційній БД. Будь-яка нормалізована таблиця автоматично вважається таблицею у першій нормальній формі, скорочено 1НФ.

1. Таблиця знаходиться в 1НФ, якщо всі дані, що містяться в таблиці атомарні (неподільні).

2. Таблиця знаходиться у 2НФ, якщо вона знаходиться у 1НФ і кожен неключовий стовпець повністю залежить від первинного ключа.

3. Таблиця перебуває у 3НФ, якщо вона відповідає 2НФ і всі неключові стовпці взаємонезалежні, тобто. не можна змінити одне із них не змінюючи інший.

Існують також інші нормальні форми, проте нормалізацію зазвичай закінчують на 3НФ.

19. Етапи проектування БД - 2 підходи. БД - Проектування БД - це упорядкований формалізований процес створення системи взаємозалежних описів, тобто. таких моделей прикметної обл., які пов'язують збережені у БД з об'єктами предметної області, що описуються цими даними.

Проектування починаєтьсяз аналізу прикметної обл. та виявлення функціональних та інших до проектованої системи. Проектування зазвичай виконується людиною (групою людей) – системним аналітиком .

Основна мета БД- Пошук необхідної інформації в потрібний моментчасу серед усього інформаційного просторуБД. Два підходи: «Сутність-зв'язок» та ER діаграма.

20. Цілісність даних та методи доступу.Працюючи БД повинна забезпечуватися цілісність даних. Під цілісністю даних розуміють забезпечення цілісності зв'язків між записами таблицях при видаленні записів з первинних таблиць. Тобто при видаленні записів з первинних таблиць автоматично повинні видалятися пов'язані з ними записи з вторинних таблиць.

У разі недотримання цілісності даних з часом у БД накопичиться велика кількістьзаписів у вторинних таблицях пов'язані з неіснуючими записами у первинних таблицях, що призведе до збоїв у роботі БД та її засмічення неиспользуемыми даними.

Існує два загальні правила цілісності БД:

Цілісність об'єктів – вимагає, щоб первинні ключі не містили невизначених (порожніх значень)

Цілість посилань – вимагає, щоб зовнішні ключі не містили неузгоджених з батьківськими ключами значень.

21. Поняття системи БД та її структура. Переваги системи БД. Система- Сукупність взаємопов'язаних елементів складових єдине ціле. Основні об'єкти структури БД

Як операнди у виразі можуть бути константи змінні, величини, імена полів, ф-ції, підзапити.

Найвищий пріоритет - унарний знак числа (полож або заперечень)

Як оператори:

1 Унарні оператори – опред знака числа

2 Оператори присвоєння

3 Аріф опер

4 Строкові опер

5 Оператори порівняння

6 Логічні оператори

7 Побутові оператори

БД -це іменована сукупність даних відбиває стан об'єктів та його відносин у аналізованої предметної області. Tables Таблиця У ній зберігаються дані.

Views Перегляди Це вірт табл, для відображення даних із реал табл.

Stored Procedures Збережені процедури Це наслідки команд SQL

Triggers ТригериОсобливий вид процедури, що зберігається.

Index Індекс Допов струк дозволяє сортувати дані.

User Defined Function Створювані користі ф-ції

Keys Ключ Один із видів обмеження цілісності даних

User Defined Data Types Типи даних опред польз

Constrains Обмеження цілісності Об'єкти для забезпечення логічної цілісності

Users Користувачіяким визначено права доступу до бд

Roles Ролі дозволяють об'єднувати користь у групи

Rules Правила, які дозволяють контролювати логічну цілісність даних

Defaults Стандартні установки бд

22. Архітектура розрахованих на багато користувачів СУБД та їх види. Характеристика кожної архітектури (Суть, тобто принцип роботи, переваги та недоліки). СУБД – засіб з допомогою якого створюється БД здійснюється маніпулювання даними у ній (видалення, редагування даних). Програми БД зазвичай прийнято відносити до однієї з програмних архітектур, які мають свої плюси та мінуси. Розрізняють кілька видів архітектур: локальна архітектура(за такої архітектури і програма (субд) і БД розташовані одному комп'ютері. Так працює більшість настільних додатків. Д: мінімальні витрати, швидкий доступдо БД, найвищий рівень безпеки. Н: обмежена кількість користувачів, високі вимогидо характеристик ПК.);

файл-серверна архітектура(У ній засоби організації та управління БД повністю розташовуються на машині клієнта, а БД на машині сервері. Д: можливість обслуговування запитів кількох клієнтів. Н: висока завантаження мережі та машини клієнтів, низький рівеньзахисту даних, низький рівень управління цілісністю та несуперечливістю інформації); архітектура клієнт-сервер(взаємодія між клієнтом і сервером відбувається на рівні команд мови маніпулювання даними, які обробляються на сервері. Сервер БД здійснює пошук записів та аналізує їх. Д: можливість обслуговування запитів кількох клієнтів, зниження навантаження на мережу, захист даних, сервер реалізує управління транзакціями Н: бізнес логіка функціональної обробки та подання даних можуть бути однаковими у декількох клієнтів І це збільшує потреби в ресурсах, низький рівень управління несуперечністю інформації ); архітектура активний сервер БД; архітектура сервер додатків БД; архітектура сервера БД; архітектура 1 до 1; багатопотокова односерверна архітектура; мультисерверна; серверна архітектура з паралельною обробкою запитів; Інтернет архітектура(Доступ до БД і СУБД здійснюється через буфер за стандартним протоколом TCP/IP. При цьому БД і СУБД можуть розташовуватися як на одному ПК так і на мережі. Завдяки стандартизації всіх протоколів та інтерфейсів взаємодії в Інтернет такі системи легко створювати та впроваджувати. У цьому у разі не потрібно розробляти спеціальні клієнтські програми або вигадувати власні специфікації обміну даними між сервером та клієнтськими місцями)

23. Організація БД. Структура документальної БД (фізичний рівень) та коротка характеристика. БД - це іменована сукупність даних відбиває стан об'єктів та його відносин у аналізованої предметної області. фізичний рівень-дані розташовані у файлах або сторінкових структурах розташованих на зовнішніх носіях. Файл БД Ця архітектура дозволяє забезпечити логічну та фізичну незалежність при роботі з даними. Логічна незалежність-передбачає можливість зміни одного додатка, без коригування інших додатків, що працюють з цією БД.

Фізична незалежність-передбачає можливість перенесення збереженої інформації з одних носіїв на інші за збереження працездатності всіх додатків

працюючих з БД.

24. Стандарт реалізації мови SQLта його переваги.З використанням будь-яких стандартів пов'язано не тільки численні, але й більш очевидні переваги. Стандарти обмежують гнучкість та функціональні можливостіконкретної реалізації. Під реалізацією мови SQL розуміється програмний продукт SQL відповідного виробництва. Кожна реалізація мови SQL містить удосконалення, що відповідають вимогам того чи іншого сервера БД. Ці вдосконалення мови SQL є додатковими командами, які є додаванням до стандартного пакета і доступні тільки в конкретній реалізації.

Переваги мови SQL.

До переваг стандарту SQL може віднести:

1. Поява сумісності стандарту у різних реалізаціях;

2. Існує підвищена переносимість програмного забезпеченняі БД загалом за дотримання універсальності роботи адміністраторів БД.

Мова SQL є основою багатьох СУБД і до основних переваг мови можна віднести:

1. Стандартність;

2. Незалежність від конкретних СУБД;

3. Можливість перенесення з однієї обчислювальної системи на іншу;

4. Реляційна основа мови;

5. Можливість створення інтерактивних запитів;

6. Можливість програмного доступу до БД;

7. Забезпечення різного представлення даних;

8. Можливість динамічної зміни та розширення БД;

9. Підтримка архітектури клієнт-сервер.

25. Правила запису SQL-операторів та його структура (зарезервовані слова, ідентифікатори, алфавіт, обмеження). Оператори мови SQL складаються із зарезервованих слів та слів користувача. Зарезервовані слова є постійною частиною SQL і мають фіксоване значення. Їх не можна розбивати для перенесення з одного рядка на інший і слід записувати відповідно до встановленого синтаксису.

Слова, певні користувачем задаються самим користувачем відповідно до синтаксичним правилом і є ідентифікатори, тобто. імена різних об'єктівБД. Слова оператора мови розставляються так само відповідно до встановлених синтаксичними правилами. Ідентифікатори мови призначені для позначення об'єктів БД та є іменами таблиць уявлень полів та ін. уявлень у БД.

Слова в операторі розміщуються також відповідно до встановлених синтаксичними правилами. На формат ідентифікатора накладаються такі обмеження:

1. Ідентифікатор не може мати довжину понад 128 слів. 2. Ідентифікатор повинен починатися з літери. 3. Ідентифікатор не може містити пробіли. Великі літери та використовуються для запису резервних слів. Рядкові, використовуються для запису слів певних користувачами. ::= одно за визначенням

? можливість вибору з декількох (або).<…>опис за допомогою метамови структури мови.

(…) обов'язковий набір деякого списку для конструкції.

[…] необов'язковий набір деякого списку для конструкції

[,n…] необов'язкова можливість повторення конструкції до кількох разів.

26. Основні об'єкти структури БД SQL-сервера (таблиці, уявлення, процедури, що зберігаються, тригери).Логічна структура визначає структуру таблиць, взаємовідносин між ними, список користувачів, процедури, що зберігаються, правила, замовчування, та ін об'єкти БД.

Таблиці(В них поранитися власне дані, значення).

Являє собою сукупність, будь-які відомості про об'єкти, явища і процеси реального світу. Жодні інші дані не можуть зберігатися в таблицях. Звернення до даних у табл. можуть здійснювати об'єкти.

Структура таблиці. в SQL: рядки , де кожен рядок (запис) є сукупністю властивостей (атрибутів) конкретного екземпляра об'єкта; стовпці - являють собою сукупність атрибутів або атрибут, і має ім'я, тип та розмір.

Уявлення(Промотор).

Уявленнями- Називаються вирт-ые табл-ци вміст, яких визначається запитом. Детальний переглядявляє собою подібно до реальних таблиць набір іменованих стовпців і рядків з даними. Для кінцевого користувача подання виглядає як табл., але насправді воно не містить даних, а лише представляє дані, розташовані в одній або кількох табл-ах. Ця інформація у вигляді подання не зберігається у БД як окремий об'єкт.

Збережені процедури.- є групою команд SQL об'єднаних в один модуль. Така група команд компілюється та виконується як єдине ціле.

Тригерами називають– спеціальний клас процедур, що зберігаються, автоматично запускаються при додаванні, видаленні або зміні даних з табл.

27. Основні об'єкти структури БД SQL-сервера (функції, індекси, типи даних користувача, обмеження цілісності, правила, замовчування). Логічні дані в SQL сервер організовані як об'єктів: таблиці БД, у яких розташовуються дані; перегляди служать відображення даних з таблиці; процедури, що зберігаються; тригери -спеціальні процедури, що зберігаються при зміні даних в таблиці; створювані користувачемфункції додаткових структур покликані підвищити продуктивність роботи з даними (індекси); типи даних, що визначаються користувачем; ключі; обмеження цілісності; користувачі, які мають доступ до БД; ролі що дозволяють об'єднувати користувачів групи; правила БД контролюють логічну цілісність даних; замовчування або стандартні установкиБД. Функціїв ЯП це конструкції, що містять часто використовуваний код. Функція виконує будь-які дії над даними та повертає деякі значення в результаті. Індексце структура, пов'язана з таблицею або поданням і призначена для прискорення пошуку інформації, містить відсортовані значення вихідної таблиці або подання. Типи користувача данихце типи даних, які створює користувач на основі системних типів даних, коли у кількох таблицях необхідно зберігати однотипні значення, причому потрібно характеризувати однаковий розмір стовпців у відповідних таблицях тип даних та чутливість до значення NULL. Обмеження цілісностіце механізм, який забезпечує автоматичний контроль відповідності даних встановленим умовам чи обмеженням. До нього відносять: обмеження значення NULL; зовнішнього ключа тощо . Правилакористуються для обмеження значень збережених у стовпці таблиці або в типі даних. Вони існують як самостійні об'єкти БД, які пов'язуються з полями таблиць користувальницькими типамиданих. Умовчанняце самостійний об'єкт БД, що представляє значення, яке буде присвоєно елементу таблиці при вставці рядка, якщо в команді вставки явно не вказано значення для цього стовпця.

28. Основні об'єкти структури БД SQL-сервера. Вирази та їх склад. Застосування та правила їх оголошення. БД - це іменована сукупність даних відбиває стан об'єктів та його відносин у аналізованої предметної області. Вираз - Це послідовність констант, імен поле (змін. величин), імен функцій, пов'язаних між собою значеннями арифметичних дій. Вир-ие являє собою комбінацію ідентифікаторів функцій знаків логічних та арифметичних визначень, констант та ін. Вир-ие може бути використано як аргумент у командах процедур, що зберігаються, або запитах. Вир-ия складаються з : операторів та операндів . Як операнди можуть бути: константи, змінні, імена полів, функції підзапиту. Оператори - Це знаки операцій над одним або декількома виразами для створення нового виразу. Серед операторів можна виділити: - унарні оператори-оператори присвоєння-арифметичні оператори-строкові оператори-оператори порівняння -логічні оператори-бітові оператори.

Перш ніж використовувати якусь змінну її необхідно оголосити . Оголошення змінних здійснюється через команду виду:

DECLARE (ім'я_змінний тип) [, ... n]. Значення змінної може бути присвоєно за допомогою команд SET & SELECT. За допомогою команди SELECT змінної можна присвоїти як конкретне значення а й результат обчислення вир-я. Команда SET має формат: SET@ім'я змінної::==<значение>.

Команда SELECT має формат:

SELECT @ ім'я_змінної::=<выр-е>from<имя_объекта.>

приклад : DECLARE col integer; SET@ a::= sum(кількість) from товар.

29. Керуючі конструкції SQL. Синтаксис умовного оператората операторів циклів.Мова SQL є непроцедурною, але в середовищі SQL Serverпередбачено низку різних керуючих конструкцій, без яких неможливе написання ефективних алгоритмів.

Угруповання двох і більше команд у єдиний блокздійснюється з використанням ключових слів BEGIN та END:

<блок_операторов>::=

BEGIN (sql_оператор | блок_операторів) END

Згруповані команди сприймаються інтерпретатором SQL як одна команда. Блоки BEGIN...END можуть бути вкладені. Деякі команди SQL не повинні виконуватися разом з іншими командами (зміни структури таблиць, збережених процедур та подібних до них), тому їх спільне включення в конструкцію BEGIN...END не допускається. Нерідко певна частина програми має виконуватися лише за реалізації деякого логічного умови. Синтаксис умовного оператора показаний нижче:

<условный_оператор>::= IF лог_вираз ( sql_оператор | блок_операторів ) [ ELSE (sql_оператор | блок_операторів ) ]

Цикли організуються за допомогою наступної конструкції:

<оператор_цикла>::= WHILE лог_вираз (sql_оператор | блок_операторів) [BREAK] (sql_оператор | блок_операторів) [CONTINUE]

Цикл можна примусово зупинити, якщо в його тілі виконати команду BREAK. Якщо потрібно розпочати цикл заново, не чекаючи виконання всіх команд у тілі, необхідно виконати команду CONTINUE

42.Логічні операції при формуванні операторів пошуку потрібних записіву БД. БД - це іменована сукупність даних відбиває стан об'єктів та його відносин у аналізованої предметної області. При створенні або зміні умов пошуку допускається використання стандартних логічних операторів: NOT - Логічне заперечення умови, AND - Повинні виконуватись обидві умови, OR - Повинне виконуватись хоча б одна з умов. Можна встановити кілька умов відбору, з'єднаних логічним оператором або (or ), для деякого поля одним із двох способів: можна ввести всі умови в один осередок рядка Умова відбору,з'єднавши їх логічним оператором або (or ) або ввести другу умову в окремий осередок рядка або.Щоб об'єднати кілька умов відбору оператором та (and) слід навести їх в одному рядку. Оператори і і або застосовуються як окремо, і у комбінації. Пріоритет логічних операторів:
1. Оператор заперечення логічного виразу- NOT (найвищий пріоритет).
2. Оператор AND.
3. Оператор OR (нижчий пріоритет).

Також при формуванні пошуку можна використовувати оператор Between дозволяє встановити діапазон значень. Оператор I n дозволяє задавати список значень, що використовується для порівняння. Оператор Like корисний для пошуку зразків у текстових полях, причому можна використовувати шаблони: * - Позначає будь-яку кількість символів; ? - будь-який одиночний символ; # - вказує що у цій позиції має бути цифра

30. Типи даних мови SQL. Визначені стандартам та правила їх оголошення (символьні, бітові, точні дані). Дані - це сукупна інформація, що зберігається в БД у вигляді одного або декількох різних типів. За допомогою типів даних встановлюються основні правила для даних, що містяться в конкретному стовпці таблиці. У мові SQL стандартом наведено 6 скалярних типу даних: символьні - char, бітові - bit, Точні числа - integer, заокруглені - real, інтервальні - interval, дата час - date, time.

Символьні дані.

Символьні дані складаються з послідовності символів, що входять до певного творцями СУБД набір символів. Найчастіше використовують набори символів ascii та ebcdic. Для визначення даних символьного типу використовують конструкцію:<символьный тип>::=(character[довжина] ׀ ׀ [довжина]).

При визначенні стовпця з символьним типом даних параметр довжина застосовується для вказівки max кількох символів які можуть бути поміщені в даний стовпець(поле) за промовчанням застосовується 1. Символьний рядокможе бути визначена як має фіксовану, і змінну довжину (varying). Якщо рядок визначено з фіксованою довжиною значень, то при введенні в неї меншого значення кількох символів значення доповнитися до зазначеної довжини пробілами, що додаються праворуч. Якщо рядок з змінною довжиноюзначень то при введенні в неї меншої кількості символів в БД буде збережено тільки введені символи, що дозволить досягти економії зовнішньої пам'яті.

Бітові дані.

Бітові типи даних застосовуються визначення бітових рядків, тобто. послідовність двійкових чисел кожне з яких має значення 0 або 1.

Для визначення даних бітового типу використовують конструкцію:

<битовый тип>::= Bit [дані].

Точні дані.

Тип точних числових даних застосовується визначення чисел, які мають точне представлення. Дані точного числового типу визначаються точністю та довжиною дробів частини. Точність задає загальну кількість знаків як для цілої і дробової частини Масштаб вказує кількість дробових десяткових розрядів числа після коми.

31. Типи даних мови SQL. Визначені стандартам та правила їх оголошення (округлені числа, дата та час). Дані – це сукупна інформація, що зберігається у БД як одного чи кількох різних типів. За допомогою типів даних встановлюються основні правила для даних, що містяться в конкретному стовпці таблиці. У мові SQL стандартом наведено 6 скалярних типу даних: символьні - char, бітові - bit, Точні числа - integer, заокруглені - real, інтервальні - interval, дата час - date, time.

Округлені дані.

Округлені числа чи числа з плаваючою комою представляються т.ч. що записуються за допомогою мантиси помноженої на порядок 10ти. Речовий тип:

<вещественный тип>::= (float [точність] real ׀ double precision). Параметр точність задає кількість значущих чисел мантиси.

Тип дата/час даних.

Тип д/в використовується визначення моменту часу з деякою встановленої точністю. Стандарт SQL підтримує формат:

<тип_дата/время>::= (DATA ׀ TIME [точність] ׀ timestamp [точність] ).

Тип DATA - використовує для зберігання календарних дат, що включають поля (year - рік, month - місяць, day - день).

Тип даних TIME– використовує поля: hour – годинник, minute – хвилини, second – секунди; та використовується для зберігання відміток часу.

Тип timestamp – використовується для спільного зберігання та дати та часу. Параметр точність задається у дробових десяткових знаків. Наявність ключового слова with time zone визначає годинник та мін. зсувом зонального часу по відношенню до універсального координатного часу.

32. Поняття домену та правила оголошення. Отримання інформації про типи даних та перетворення типів. Домен– це набір допустимих значеньдля одного або кількох атрибутів. Якщо в таблиці бази даних або в декількох таблицях присутні стовпці, що володіють одними й тими самими характеристиками, можна описати тип такого стовпця та його поведінку через домен, а потім поставити у відповідність кожному з однакових стовпців ім'я домену. Домен визначає всі потенційні значення, які можуть бути надані атрибуту. Стандарт SQL дозволяє визначити доменза допомогою наступного оператора:

<определение_домена>::= CREATE DOMAIN ім'я_домену тип_даних [ DEFAULT значення] [ CHECK (допустимі_значення)]

Кожному домену, що створюється, надається ім'я, тип даних, значення за замовчуванням і набір допустимих значень. Видалення доменівз бази даних виконується за допомогою оператора:

DROP DOMAIN ім'я_домену

У разі вказівки ключового слова CASCADE будь-які стовпці таблиць, створені з використанням домену, що буде видалено, будуть автоматично змінені і описані як містять дані того типу, який був зазначений у визначенні домену, що видаляється.

Отримати список усіх типівданих можна із системної таблиці systypes: SELECT * FROM systypes

Нерідко потрібно конвертуватизначення одного типу значення іншого. Найчастіше виконується конвертування чисел символьні дані і навпаки, цього використовується спеціалізована функція STR. Для виконання інших перетворень SQL Server пропонує універсальні функції CONVERT та CAST, за допомогою яких значення одного типу перетворюються на значення іншого типу, якщо такі зміни взагалі можливі. CONVERT та CAST приблизно однакові і можуть бути взаємозамінними.

33. Вбудовані функції мови SQL, їх класифікація.Мова SQL має безліч вбудованих функцій, що забезпечують додаткові можливості. Вбудовані функції SQL можна розділити на такі групи:

1.Математичні функції (sin, cos, exp, pi, power (зведення в ступінь), radians, round, sqrt тощо);

2. Рядкові функції(Left - повертає вказану кількість символів з початку рядка, len - повертає довжину рядка, lower - переводить всі символи рядка в нижній регістр, right - повертає вказану кількість символів з кінця рядка, str - виконує конвертування значення числового типу в символьний формат, substring - повертає для рядка підрядок зазначеної довжини із заданого символу, upper - переводить усі символи рядка у верхній регістр);

3.Функції для роботи з датою та часом (datediff - повертає різницю між зазначеними частинами двох дат, day(month,year) - повертає число (місяць, рік) із зазначеної дати, getday - повертає поточний системний час);

4.Функції конфігурування;

5.Функції системи безпеки;

6.Функції управління метаданими;

7.Статистичні функції (використовуються для отримання результуючих підсумків, як аргумент використовують стовпець, а результатом є одне значення, що залежить від типу функції: AVG - середнє значення, SUM, Min, Max, count - кількість)

36. Вбудовані функції над величинами типу дата мови SQL. Мова SQL має безліч вбудованих функцій, що забезпечують додаткові можливості. До функцій типу дата відносяться:

GETDATE() - повертає поточну системну дату;

ISDATE (рядок) - перевіряє рядок на відповідність одному з форматів дати та часу;

DAY (дата) – повертає число зазначеної дати;

MONTH (дата) – Повертає місяць зазначеної дати;

YEAR (дата) – повертає рік зазначеної дати;

DATEADD (тип, число, дата) - додає до дати вказану кількість одиниць заданого типу (рік, місяць, день, годину тощо).

37Спосіб створення БД та оператори мови SQL, за допомогою яких можна створити БД. БД - це іменована сукупність даних відбиває стан об'єктів та його відносин у аналізованої предметної області. Користувачі БД працюють із вже готовими БД, структура яких брало розроб. адміністратором бд. Створити бд можна використовуючи оператори DDL які дозволяють користувачам не вникати в деталі зберігання БД, пользов.при цьому оперує поняттями таблиця і поле, одночасно маючи можливість: маніпулювання фіз.пам'яттю; за допомогою цих операторів можна створити БД; визначити структуру нової таблиці; видалити сущ.таблицю; змінити визначення сущ.таблиці; визначити подання даних; забезпечити умови безпеки БД; створити індекси для доступу до таблиць. Власне DDL базується на 3 командах SQL: CREATE-створити, що дозволяє визначити та створити об'єкт БД; DROP-видалити, застосовуваний видалення сущ.объекта БД; Змінити ALTER, за допомогою можна змінювати визначення об'єкта БД. Використання цих команд під час роботи дозволяє створити динамічну структуру РБД. У СУБД можна одночасно створювати, видаляти чи змінювати таблиці. Тому протягом часу бд можуть зростати. Ці оператори можна використовувати як в інтерактивному, так і в програмному режимі SQL. Створення бази даних у системі SQL-сервер здійснюється командою CREATE DATABASE: СREATE DATABASE<имя_базы_данных>ON ...Після завдання імені таблиці через кому будуть перераховані імена файлів, що входять до вказану базу. Такий підхід у SQL дозволяє розподіляти вміст БД з окремих дискових томів. Слід.кроком за створенням порожньої БД, явл.заповнення її таблицями.

38Команда мови SQL створення таблиці (синтаксис, призначення параметрів). приклад.Оператор CREATE TABLE використовується для створення нової таблиці.

CREATE TABLE имя_таблицы(

имя_столбца тип_данных ,…

PRIMARY KEY(ім'я_стовпця,…),

FOREIGN KEY ім'я_обмеження (ім'я_стовпця,…)

REFERENCE ім'я_таблиці

UNIQUE (ім'я_стовпця, ...),

Пропозиція NOT NULL запобігає занесенню в стовпець порожніх значень. PRIMARY KEY та FOREIGN KEY – стовпець або стовпці первинного та зовнішнього ключів(у визначеннях стовпців первинного ключа має бути зазначено, що вони можуть містити значення NULL) . UNIQUE – умова унікальності даних.

39 Команда мови SQL зміна структури таблиці (синтаксис, призначення параметрів). приклад.У процесі роботи з таблицею іноді виникає потреба додати до таблиці деяку інформацію. Для зміни структури таблиці використовується оператор ALTER TABLE:

Наприклад, необхідно змінити таблицю студенти, видаливши значення 333 стовпця група, що приймається за замовчуванням, і змінити значення стовпця підлогу, що приймається за умовчанням, на м. змінити таблицю додавши нове поле спеціальність:

Alter tableстуденти

Alter група drop default;

Alter table студенти

Alter підлога set default 'м';

Alter table студенти

Додати спеціальність varchar(14);

40. Поняття запиту, види запитів та команда мови SQL, що формує запити (синтаксис, призначення параметрів). приклад. Оператор SELECT – використовується для побудови запитів у SQL.

SELECT

(* | [ім'я_стовпця ]) [,...n] FROM ім'я_таблиці [ псевдонім] [,...n]

Оператор SELECT визначає поля (стовпці), які входитимуть до результату виконання запиту.

У списку вони поділяються комами і наводяться в такій черговості, якою мають бути представлені в результаті запиту. Якщо використовується ім'я поля, що містить пробіли або роздільники, його слід укласти у квадратні дужки.

FROM- Визначаються імена використовуваних таблиць; WHERE– виконується фільтрація рядків об'єкта відповідно до заданих умов; GROUP BY– утворюються групи рядків, що мають одне й те саме значення у вказаному стовпці; HAVING– фільтруються групи рядків об'єкта відповідно до зазначеної умови; SELECT– встановлюється, які стовпці мають бути присутніми у вихідних даних; ORDER BY- Визначається впорядкованість результатів виконання операторів. Предикат ALLзадає включення у вихідний набір всіх дублікатів, а Предикат DISTINCTслід застосовувати у тих випадках, коли потрібно відкинути блоки даних, що містять дублюючі записи у вибраних полях.

Оператор BETWEENвикористовується для пошуку значення всередині деякого інтервалу, що визначається своїми мінімальним та максимальним значеннями. Оператор INвикористовується для порівняння деякого значення зі списком заданих значень, при цьому перевіряється, чи відповідає результат обчислення виразу одному із значень у наданому списку. За допомогою оператора LIKEможна виконувати порівняння виразу із заданим шаблоном, в якому допускається використання символів-замінників. За умовчанням реалізується сортування за зростанням – ASC. Для виконання сортування у зворотній послідовності - DESC.

41.Спосіб заповнення бази даними в додатку Аccess.Для заповнення БД необхідно клацнути двічі лівою кнопкою миші за назвою необхідної таблиці. Під час заповнення таблиці в режимі безпосереднього введення на екран відображається таблиця. Необхідно заповнити відповідні поля їхніми значеннями. Поле лічильника заповнюється автоматично. Після заповнення таблиці даними зберігати їх не треба – Access усі введені дані зберігає автоматично. Найчастіше зручнішим є режим заповнення таблиці з допомогою форм. Форма є електронним бланком, у якому є поля для введення даних. Користувач вводить дані у ці поля, і дані автоматично заносяться до таблиць бази.

43.Сортування даних у базі та фільтрація.Індексування БД. БД - це іменована сукупність даних відбиває стан об'єктів та його відносин у аналізованої предметної області. Дані, що зберігаються в таблицях БД, повинні мати прості та доступні засоби пошуку потрібної ін-ції. Для цього Access пропонує такі засоби, як сортування та фільтрація. Сортуваннявикористовується для зручності знаходження даних. За умовчанням, коли таблиця відкривається у режимі Таблиці, вона впорядкована за значенням ключового поля. Сортування записів можна проводити як по одному, так і по кількох полях. Для цього потрібно встановити курсор на будь-який рядок відповідного стовпця або виділити кілька стовпців і виконати команду СОРТУВАННЯ ПО ВІР (УБУТ) меню ЗАПИСУ або скористатися відповідними кнопками інструментальної панелі. Щоб повернутися до початкового порядку сортування, потрібно виконати команду ВИДАЛИТИ ФІЛЬТР меню ЗАПИСУ. Фільтрування- це спосіб швидкого відбору записів у режимі таблиці відповідно до заданого критерію. Здійснити відбір записів можна різними способами. Фільтр по виділеному фрагментуісп для того, щоб знайти в таблиці значення, яке повинно містити записи, що відбираються. Для цього слід виділити в полі запис, який містить умову відбору, та виконати команду Записи → Фільтр → Фільтр за виділеним. Звичайний фільтрвикористовується для відбору записів за кількома значеннями полів. Для виконання цього фільтра використовується команда Записи → Фільтр → Редагувати фільтр. Розширений фільтрвикористовується для створення складних фільтрів, тому що дозволяє сформувати критерій відбору, пов'язуючи операціями. логічних функційта та або, команда Записи → Фільтр → Розширений фільтр. Індекс- Основний засіб сортування даних. Основне призначення індексу – оптимізація БД. Індексування у будь-якому випадку потребує дод. ресурсів, т.к. цей процес виявляється у створенні спеціальних індексних файлів, в яких дані розташовуються в упорядкованому вигляді за віком або спадом. Працюючи з БД для стаціонарних баз (один раз створюються і багаторазово исп) застосовують кластеризовані індекси, які дозволяють упорядковувати дані у базі, присвоюючи кожному запису новий номер яким у згодом здійснюватиметься пошук. У БД, які передбачають постійне оновлення вмісту ісп некластеризовані індекси, які передбачають упорядкування та запам'ятовування посилань на реєстраційний номерзапис.

44. Управління курсором у БД. БД - це іменована сукупність даних відбиває стан об'єктів та його відносин у аналізованої предметної області. Під курсором, як правило, розуміють результуючий набір і пов'язаний з ним покажчик поточного запису, що отримується при виконанні запиту. Курсор- це об'єкт, пов'язаний із певною областю пам'яті. Існують явні та неявні курсори. Явний курсор оголошується розробником, а неявний курсор не вимагає оголошення. Курсор може повертати один рядок, кілька рядків або жодного рядка. Для запитів, що повертають більше одного рядка, можна використовувати лише явний курсор. Курсор може бути оголошений у секціях об'яв будь-якого блоку PL/SQL, підпрограми або пакета. Для керування явним курсором використовуються оператори CURSOR, OPEN, FETCH та CLOSE. Оператор CURSOR виконує оголошення явного курсору. Оператор OPEN відкриває курсор, створюючи новий результуючий набір з урахуванням зазначеного запиту. Оператор FETCH виконує послідовне вилучення рядків із результуючого набору від початку до кінця. Оператор CLOSE закриває курсор і звільняє ресурси, які він займає. Для оголошення явного курсору використовується оператор CURSOR. Для роботи з курсором можна використовувати наступні атрибути, що вказуються після імені курсору: %ISOPEN - повертає значення TRUE, якщо відкрито курсор; %FOUND - визначає, чи знайдено рядок, що задовольняє умові; %NOTFOUND - повертає TRUE, якщо рядок не знайдено; %ROWCOUNT – повертає номер поточного рядка. При застосуванні неявного курсору не можна використовувати оператори керування курсором OPEN, FETCH та CLOSE.

45. Формування звітів у БД Access. БД - це іменована сукупність даних відбиває стан об'єктів та його відносин у аналізованої предметної області. Звіт- Засіб, який дозволяє витягти з бази потрібну інформаціюі подати її у вигляді, зручному для сприйняття, а також підготувати для друку звіт, який оформлений відповідним чином. У Microsoft Access можна створювати звіти за допомогою конструктора та за допомогою майстра. Вікно звіту у режимі Конструктора ідентично вікну форми у цьому режимі. Порожній макет звіту містить розділи Верхній колонтитул , нижній колонтитулміж якими знаходиться Область даних.Як і при роботі з формами, можна змінити розмір будь-якого розділу, перетягнувши його межу. При створенні звіту за допомогою майстрина екрані з'явиться перше діалогове вікно, в якому потрібно вибрати таблицю або запит, на основі якого буде збудовано звіт. Після цього зі списку доступних полів можна вибрати поля, які будуть у звіті. Після натискання Даліна екрані з'явиться друге вікно майстра, в якому можна задати угруповання. Після натискання Далі виходитьтретє діалогове вікно, у якому можна встановити порядок сортування для записів. Далі- перехід до четвертого вікна майстра – можна вибрати макет для майбутнього звіту: стовпець, звичайний, вирівняний, також можна вибрати орієнтацію – книжкова чи альбомна, а також підібрати ширину стовпців таким чином, щоб розмістити їх на одній сторінці (по ширині) – поставити прапорець в нижній частині вікна. Далі - п'яте вікно майстра - можна вибрати стиль оформлення звіту - Діловий, Звичайний, Напівжирний, Стиснутий, Спокійний, Суворий. Далі – в останньому вікні майстра можна задати назву звіту, а також підказати майстру, що йому потрібно робити після завершення створення звіту – відкрити звіт у режимі переглядуабо в режимі конструктора.

46. ​​Створення інтерфейсу бази даних, використовуючи можливості Access. БД - це іменована сукупність даних відбиває стан об'єктів та його відносин у аналізованої предметної області. Microsoft Access – настільна програма реляційного типу, що входить до складу офісного пакету Microsoft Office. Її великою гідністює простий графічний інтерфейс користувача, що дозволяє не тільки створювати і редагувати свою базу даних, але і розробляти різні додатки за допомогою вбудованих засобів. Access відрізняється від інших СУБД тим, що зберігає всю інформацію в єдиному файлі. вибрати з меню « Файл» команду « Створити » Після цього Access відкриє вікно "Створення", яке містить безліч попередньо заданих шаблонів. У цьому вікні Access об'єднує у представленому вікні важливі функції керування новою базою даних. У правому вікні перегляду виглядає перше уявлення про структуру нової бази даних. Виділивши потрібний шаблонданих, використовуючи мишу, натисніть кнопку ОК. Далі потрібно вказати ім'я бази даних, після чого натискаємо "Створити". Натиснувши мишею на кнопку “Створити”, натисніть мишею на кнопку “Далі”. Програма запропонує різні імена полів даних, які впізнаються за галочкою. Важливим моментом є те, що деякі поля Access задає автоматично – їх не можна ігнорувати. Майстер баз даних запропонує вибрати різні опції стилю та оформлення. Після введення всіх даних майстер потрібно натиснути кнопку «Готово». Заповнення створеної бази даних. Через кілька секунд Access відкриє вікно, де можна ввести дані відповідно до вибраних пунктів. Далі, клацнувши мишею по кнопці «Введення/Перегляд форми», відкривається шаблон введення даних. Крім усього іншого, програм Microsoft Access автоматично вважає кожну 47Налаштування безпеки бази даних запис за допомогою лічильника. Це необхідно для постійного інформування про поточну кількість записів. У поля з іменами необхідно вносити відповідні дані.

47. Налаштування безпеки бази даних за допомогою програми Access. БД - це іменована сукупність даних відбиває стан об'єктів та його відносин у аналізованої предметної області. Захист на рівні користувача – найбільш гнучкий та поширений метод реалізації засобів захисту бази даних Microsoft Access. Налаштування захисту бази даних дозволяють вказати, використовуватиметься спеціальна процедура входу користувачів чи ні. Майстер захисту дозволяє встановити захист на рівні користувача з загальною схемоюзахисту та закодувати базу даних Microsoft Access: Відкрийте базу даних, яку потрібно захистити; У меню Сервіс виберіть команду Захист та команду Майстер; Виконуйте інструкції, що виводяться у діалогових вікнах майстра. При захисті окремих елементів бази даних, наприклад макета певних об'єктів, коли небажано створення кількох рівнів доступу для різних групКористувачам слід розглянути можливість захисту програми без спеціальної процедури входу, що не усуває захист на рівні користувача, але суттєво знижує його для всіх об'єктів за винятком зазначених. Захистіть базу даних за допомогою майстра захисту на рівні користувача. Майстер захисту дозволяє встановити захист на рівні користувача із загальною схемою захисту та закодувати базу даних Microsoft Access: Відкрийте базу даних, яку потрібно захистити; У меню Сервіс виберіть команду Захист та команду Майстер; виконуйте інструкції, що виводяться у діалогових вікнах майстра. Надайте обліковий запис користувача Admin дозволу на доступ до всіх таблиць, запитів, форм, звітів і макросів, які слід зробити доступними для всіх користувачів Відкрийте базу даних. Використовуваний під час входу до бази даних файл робочої групиповинен містити облікові записикористувачів та облікові записи груп, яким потрібно привласнити дозволи. Проте можна надавати дозволи групам, а потім додавати до них користувачів. У меню Сервіс виберіть команду Захист, а потім команду Дозволи. На вкладці Роздільна здатність виберіть параметр користувачі або групи, а потім у списку Користувачі та групи виберіть користувача або групу, яким потрібно призначити дозволи. Виберіть потрібний тип об'єкта в списку Тип об'єкта, а потім виберіть потрібний об'єкт у списку Ім'я об'єкта. Виділіть кілька об'єктів у списку Ім'я об'єкта, провівши вказівник за іменами об'єктів при натиснутій кнопці миші або вибравши імена об'єктів при натиснутій клавіші CTRL. У групі Роздільна здатність встановіть або зніміть прапорці, які визначають відповідні дозволи, і натисніть кнопку Застосувати. Щоб визначити дозволи на доступ до інших об'єктів для вибраного користувача або групи, повторіть кроки 4 і 5. Повторіть кроки 3-5 для інших користувачів та груп. Вимкніть діалогове вікно Вхід.

  • АДМІНІСТРАТИВНО-ПРАВОВІ НОРМИ: ПОНЯТТЯ, ВИДИ, ОСОБЛИВОСТІ 1 сторінка
  • АДМІНІСТРАТИВНО-ПРАВОВІ НОРМИ: ПОНЯТТЯ, ВИДИ, ОСОБЛИВОСТІ 2 сторінка
  • АДМІНІСТРАТИВНО-ПРАВОВІ НОРМИ: ПОНЯТТЯ, ВИДИ, ОСОБЛИВОСТІ 3 сторінка
  • АДМІНІСТРАТИВНО-ПРАВОВІ НОРМИ: ПОНЯТТЯ, ВИДИ, ОСОБЛИВОСТІ 4 сторінка
  • АДМІНІСТРАТИВНО-ПРАВОВІ НОРМИ: ПОНЯТТЯ, ВИДИ, ОСОБЛИВОСТІ 5 сторінка

  • Архітектура клієнт-сервер(client-server architecture) - це концепція інформаційної мережі, у якій переважна більшість її ресурсів зосереджена серверах, обслуговуючих своїх клієнтів. Розглянута архітектура визначає два типи компонентів: сервери та клієнти.

    Сервер -це об'єкт, що надає сервісіншим об'єктам мережі за їхніми запитами. Сервіс- Це процес обслуговування клієнтів.

    Малюнок Архітектура клієнт-сервер

    Сервер працює за завданнями клієнтів та керує виконанням їх завдань. Після виконання кожного завдання сервер надсилає отримані результати клієнту, який надіслав це завдання.

    Сервісна функція в архітектурі клієнт-сервер описується комплексом прикладних програм, відповідно до яких виконуються різноманітні прикладні процеси.

    Процес, що викликає сервісну функцію за допомогою певних операцій, називається клієнтом. Їм може бути програма чи користувач. Клієнти- це робочі станції, які використовують ресурси сервера та надають зручні інтерфейси користувача. Інтерфейси користувачаце процедури взаємодії користувача із системою чи мережею.

    Малюнок Модель клієнт-сервер

    Клієнт є ініціатором та використовує електронну пошту або інші сервіси сервера. У цьому вся процесі клієнт запитує вид обслуговування, встановлює сеанс, отримує потрібні йому результати і повідомляє закінчення роботи.

    У мережах із виділеним файловим серверомна виділеному автономному ПКвстановлюється серверна мережна операційна система. Цей ПКстає сервером.Програмне забезпечення ( ПЗ), встановлений на робочої станціїдозволяє їй обмінюватися даними з сервером. Найбільш поширені мережеві операційні системи:

    Крім мережної операційної системи необхідні мережеві прикладні програми, що реалізують переваги, що надаються мережею.

    Мережі на базі серверів мають кращі характеристики і підвищену надійність. Сервер володіє головними ресурсами мережі,яким звертаються інші робочі станції.

    У сучасній клієнт - серверній архітектурі виділяється чотири групи об'єктів: клієнти, сервери, дані та мережеві служби. Клієнти розміщуються у системах на робочих місцях користувачів. Дані переважно зберігаються в серверах. Мережеві службиє спільно використовуваними серверами та даними. Крім того, служби керують процедурами обробки даних.

    Мережі клієнт - серверної архітектури мають такі переваги:

    Дозволяють організовувати мережі з великою кількістю робочих станцій;

    Забезпечують централізоване управління обліковими записами користувачів, безпекою та доступом, що спрощує мережеве адміністрування;


    Ефективний доступ до мережевих ресурсів;

    Користувачеві потрібен один пароль для входу в мережу та для отримання доступу до всіх ресурсів, на які поширюються права користувача.

    Поряд із перевагами мережі клієнт - серверної архітектури мають і ряд недоліків:

    Несправність сервера може зробити мережу непрацездатною, як мінімум, втрату мережевих ресурсів;

    Вимагають кваліфікованого персоналу для адміністрування;

    Мають вищу вартість мереж та мережевого обладнання.

    Client-server) - мережева архітектура, в якій пристрої є або клієнтами, або серверами. Клієнтом (front end) є машина, що запитує (зазвичай ПК), сервером (back end) - машина, яка відповідає на запит. Обидва терміни (клієнт та сервер) можуть застосовуватися як до фізичних пристроїв, так і до програмного забезпечення.

    Мережа з виділеним сервером(англ. Сліент/Server network) - це локальна обчислювальна мережа (LAN), в якій мережеві пристрої централізовані та керуються одним або декількома серверами. Індивідуальні робочі станції або клієнти (такі як ПК) повинні звертатися до ресурсів мережі через сервер(и).


    Wikimedia Foundation. 2010 .

    Дивитись що таке "Клієнт-серверний додаток" в інших словниках:

      Може означати: Прикладна комп'ютерна програмадив. Прикладне програмне забезпечення. Веб додаток клієнт серверний додаток, в якому клієнтом виступає браузер, а сервером веб сервер. Додаток (лінгвістика) … … Вікіпедія

      Веб додаток клієнт серверний додаток, в якому клієнтом виступає браузер, а сервером веб сервер. Логіка веб-додатка розподілена між сервером та клієнтом, зберігання даних здійснюється, переважно, на сервері, обмін… … Вікіпедія

      Тип Товариство з обмеженою відповідальністю Рік заснування … Вікіпедія

      Веб додаток клієнт серверний додаток, в якому клієнтом виступає браузер, а сервером веб сервер. Браузер може бути реалізацією про тонких клієнтів. Браузер здатний відображати веб сторінки і, як правило, входить до складу.

      Веб додаток клієнт серверний додаток, в якому клієнтом виступає браузер, а сервером веб сервер. Браузер може бути реалізацією про тонких клієнтів. Браузер здатний відображати веб сторінки і, як правило, входить до складу.

    Системи "клієнт-сервер". Частина 2

    Архітектура клієнт-сервер: визначення, передумови для застосування, плюси та мінуси

    Що таке архітектура клієнт-сервер? Варіанти побудови додатків

    Отже, поговоримо, нарешті, про те,

    що ж таке клієнт-сервер . Строго кажучи, слід відрізняти технологію клієнт-сервер у широкому сенсі, яка може бути використана в будь-яких комп'ютерних системах від власне архітектури клієнт-сервер стосовно інформаційних додатків взагалі та автоматизованих систем управління підприємством особливо.

    Згідно з онлайновим словником комп'ютерних термінів, клієнт-сервер - це вид розподіленої системи, у якій є сервер, який виконує запити клієнта, причому сервер і клієнт спілкуються між собою з використанням того чи іншого протоколу.

    Під клієнтом розуміється програма, що використовує ресурси, а під сервером (англійською - слуга) програма, яка обслуговує запити клієнтів отримання ресурсів певного виду. Таке широке визначення включає практично будь-яку програмну технологію, в якій беруть участь більше однієї програми, функції між якими розподілені асиметрично. Відповідно, говорять про технологію КС стосовно операційним системам, локальним та глобальним мережам і т.д.

    Таке широке визначення породжує певну плутанину. Так, файл-серверна система теж використовує технологію клієнт-сервер, проте з погляду архітектури прикладних програм важливим є те, які ресурси сервер надає клієнтам.

    Поняття архітектури клієнт-сервер у системах управління підприємством пов'язане з розподілом будь-якої прикладної програми на три основні компоненти або шари. Цими трьома компонентами є

    :
  • компонент подання (візуалізації) даних;
  • компонент прикладної логіки;
  • компонент керування базою даних.
  • Дійсно, будь-яка програма, що комп'ютеризує виконання того чи іншого прикладного завдання, повинна обмінюватися інформацією з користувачем, здійснювати власне обробку цієї інформації в рамках автоматизації того чи іншого бізнес-процесу, і, нарешті, зберігати дані, що використовуються в програмі, на тому чи іншому постійному носії .

    Для локальних додатків, що повністю працюють на ПЕОМ (наприклад, Word або Excel), всі ці компоненти зібрані разом і не можуть бути розподілені між різними комп'ютерами. Така програма є монолітною і використовує для виконання ресурси тільки комп'ютера, на якому виконується.

    У файл-серверних додатках частина компоненти зберігання переноситься на файловий сервероднак, всі маніпуляції зі структурами даних виконуються на клієнтській машині, і код програми користувача теж працює тільки на ній.

    Критерієм, що дозволяє віднести прикладну програму до архітектурі клієнт-серверє те, що хоча б один із трьох її компонентів повністю виконується на іншому комп'ютері, і взаємодія між компонентами на різних комп'ютерах здійснюється через те чи інше мережеве середовище за допомогою передачі запитів на отримання того чи іншого ресурсу.

    Оскільки архітектура клієнт-сервер є окремим випадком технології клієнт-сервер, в ній обов'язково є клієнт і сервер. Відповідно, виділяють клієнтську та серверну сторони програми. Клієнтська сторонаДодатки функціонує на робочому місці користувача, у ролі якого в переважній кількості випадків виступає персональний комп'ютер. Серверна сторона функціонує на спеціалізованому комплексі, що включає потужні апаратні засоби, необхідний набір стандартного програмного забезпечення, систему управління базами даних і власне структури даних.

    Взаємодія клієнтської та серверної частин програми здійснюється через мережу - локальну або глобальну. При цьому з точки зору клієнта та сервера взаємодія здійснюється прозоро, відповідно мережевий компоненттут включає в себе сукупність необхідного мережного обладнання, набір програмних технологій, що забезпечують передачу даних між вузлами мережі, а також протокол або протоколи для обміну запитами і результатами їх виконання.

    Компонент візуалізації прикладної задачі здійснює введення інформації користувачем за допомогою тих чи інших засобів, а також виведення інформації на екран та друк. Компонент візуалізації для архітектури клієнт-сервер завжди виконується на робочому місці користувача (оскільки повинен він спостерігати будь-які результати роботи програми).

    Компонент прикладної логіки вирішує власне те чи інше завдання, пов'язане з обробкою даних у тій чи іншій предметній галузі. Цей компонент може бути розподілений між клієнтською та серверною частиною по-різному залежно від застосовуваної моделі.

    Компонент зберігання бази даних здійснює фізичні операції, пов'язані зі зберіганням даних, читанням інформації з БД та записом до неї. В архітектурі клієнт-сервер цей компонент завжди виконується на сервері.

    З погляду кількості складових частинклієнт-серверні системи діляться на дворівневі та трирівневі

    . Дворівневісистеми складаються лише з клієнта та сервера. У трирівневихж між клієнтським клієнтом і сервером, що здійснює зберігання та обробку бази даних з'являється третій, проміжний шар, що є для користувача сервером, а для системи управління базами даних - клієнтом. Така архітектура дозволяє гнучкіше розподіляти функції системи та навантаження між компонентами програмно-апаратного комплексу, а також може знизити вимоги до ресурсів робочих місць користувачів. Необхідною платоюза це є те, що подібні системи набагато складніші у розробці, впровадженні та експлуатації та вимагають значних витрат та висококваліфікованого персоналу.

    У третій частині розглянуто приклад триланкової структури Baikonur Server.

    В архітектурі клієнт-сервер виділяються кілька різних моделей програми, в залежності від розподілу компонентів програми між клієнтською та серверною частинами. Історично найпершою була розроблена модель сервера віддаленого доступу до даних. У цій моделі серверна частина здійснює лише зберігання даних, а всю прикладну логіку реалізує клієнтська частина. При цьому клієнт передаватиме серверу запити на отримання даних, а сервер повертатиме клієнту ті чи інші вибірки. Найпоширенішим засобом спілкування між клієнтом та сервером у цьому випадку є SQL (структурована мова запитів) – стандартна непроцедурна мова, орієнтована на обробку даних.

    У моделі сервера віддаленого доступу до даних на стороні сервера не виконується жодної прикладної частини системи, що може спричинити недовантаження сервера та перевантаження клієнта. Тому згодом було запропоновано, а потім реалізовано архітектура сервера бази даних. У ній частина прикладної логіки реалізується на сервері за допомогою спеціальної мови програмування, а частина - на клієнті. Це стало можливим завдяки зростанню продуктивності серверів сучасних СУБД. Порівняно з варіантом сервера віддаленого доступу до даних, у цьому випадку дещо зменшується навантаження

    на клієнтську частину, інтенсивність мережного обміну даними, соціальній та деяких випадках спрощується структура докладання. В даний час цей варіант побудови систем є найпоширенішим.

    Ще одним варіантом архітектури клієнт-сервер є сервер додатків. В даному випадку клієнт виконує лише операції візуалізації та введення даних, а всю прикладну логіку реалізує сервер. Обмін між клієнтом і сервером у таких системах здійснюється на рівні команд виведення даних на екран та результатів введення користувача. Найбільш яскравим прикладомданої архітектури є добре відомий веб-браузер. Найчастіше, у моделі сервера додатків компоненти прикладної логіки та управління даними реалізуються окремо.

    Архітектуру сервера програм часто називають так званим "тонким" клієнтом, на відміну від традиційного "товстого" клієнта, що реалізується в архітектурі сервера баз даних."Тонкий" клієнт є варіантом, який може бути використаний, коли ресурсів, доступних на робочих місцях користувачів, недостатньо для виконання логіки програми. Крім того, ця технологія дозволяє скоротити витрати на експлуатацію клієнтських компонентів системи за рахунок їх сильного спрощення.

    Передумови появи архітектури клієнт-сервер для підприємства

    Комп'ютеризація промислового підприємства може досить довго проходити в рамках описаних локальних робочих місць або архітектури. файл-сервер. Проте рано чи пізно може настати момент, коли єдиним варіантом для подальшого розвитку автоматизованих систем управління підприємством стане архітектура клієнт-сервер. Давайте спробуємо перерахувати основні причини, якими це стає необхідним.

    По-перше, архітектура клієнт-сервер стає життєво необхідною, коли кількість користувачів одночасно активно користуються одними і тими самими даними перевищує 10-15 людина. Через принципові обмеження, властиві файл-серверним додаткам, 15 паралельно працюючих користувачів такі системи переносять важко, але в 20 користувачах часто розвалюються. Таким чином, якщо перед підприємством постає завдання побудови системи, в яких кількість місць, що одночасно активно працюють з даними, перевищує 20, практично єдиним варіантом для нього є клієнт-сервер.

    Заради справедливості слід зазначити, що великі ЕОМ теж здатні впоратися з десятками чи навіть сотнями користувачів. Однак, через високої вартостіапаратних засобів, дорожнечі розробки, і, що важливо, чималими витратами на експлуатацію подібної техніки та програм для неї, варіант використання централізованої архітектури при впровадженні нових систем у нашій країні майже ніколи не розглядається.

    Іншим критичним моментом для переходу до архітектури клієнт-сервер є перехід до вирішення завдань масштабу підприємства та управління підприємством загалом. Автоматизація окремих робочих місць може бути успішно виконана навіть без використання мережевих технологій, із завданнями масштабу відділу може впоратися і файл-сервер, але побудова інтегрованої автоматованої системи, що охоплює все підприємство або, принаймні, якусь із підсистем управління можлива лише з використанням технологій клієнт-сервер.

    Ще однією ситуацією, коли клієнт-сервер – єдиний спосіб побудови системи, є наявність в автоматизованій системі віддалених користувачів, з якими необхідно обмінюватися інформацією реальному масштабі часу. Під реальним масштабом часу ми тут розуміємо секунди-хвилини. Обмін даними на дискетах у разі не придатний важливо, а архітектура файл-сервер вимагатиме дуже високих швидкостей обміну, але це може бути або неможливо, або дуже дорого. Окремі приклади багатих організацій, які будували файл-серверні системи у масштабах міста (наприклад, російський "Інкомбанк") є винятками, що підтверджують правило.

    І, нарешті, архітектура клієнт-сервер необхідна тоді, коли завдання забезпечення цілісності інформації стає критичним. Під критичною ми тут розуміємо ситуацію, в якій ціна помилки даних може бути порівнянна з вартістю створення системи клієнт-сервер. Насамперед, це актуально для фінансових служб підприємств.

    Спроба вирішити в рамках комп'ютеризації промислового підприємства будь-яку з перерахованих вище проблем обов'язково спричинить появу системи клієнт-сервер. Крім цього, ця архітектура може з'явитися в ході природного розвитку автоматизованих систем управління виробництвом, навіть якщо обмеження попередніх архітектур даним підприємствомще не стали критичними. Цей варіант є найкращим, оскільки при цьому, з одного боку, впровадження отримує підтримку зсередини, а, з іншого боку, є час для підготовки плавної зміни архітектури інформаційних додатків.

    Архітектура клієнт-сервер: Так, але...

    Ми вже поговорили про переваги архітектури клієнт-серверу. Може виникнути природне питання, якщо вона така вже хороша, то чому ж досі на неї не перейшли Усевеликі користувачі інформаційних систем Насправді, не все так просто.

    Насамперед, для вітчизняних промислових підприємств критичним є фактор вартості. На відміну від західних підприємств, де мова, як правило йдепро заміну досить дорогих централізованих систем на клієнт-серверні, прямі витрати на яких менше, вітчизняні підприємства майже ніколи не мали достатньо коштів для впровадження у себе великих централізованих систем. Інформаційні системи, що дуже часто є на підприємстві, побудовані на застарілих апаратних засобах, які вимагають повної замінипід час переходу до архітектури клієнт-сервер.

    Наступним великим "але" є великий обсяг власне технологічних змін, що виникають при спробі впровадження архітектури клієнт-сервер. Клієнт-серверна система вимагає іншого рівня технічної грамотності з боку співробітників інформаційних служб, і кінцевих користувачів. Витрати на перепідготовку користувачів та експлуатаційного персоналу, перебудову структури автоматизації підприємства становлять більшу частину айсберга, ніж очевидні прямі витрати на модернізацію апаратури, закупівлю та/або розробку необхідного забезпечення.

    І, нарешті, найбільшим підводним каменем на шляху створення КС системи на підприємстві є потреба змінювати структуру управління та пов'язані з цим організаційні витрати

    .

    Спроба впровадити нові технологічні рішення, нічого не змінюючи в суті бізнес-процесів, що автоматизуються, може закінчитися безрезультатно. При цьому підприємство зазнає прямих матеріальних збитків через великий обсяг дорогого апаратного та програмного забезпечення, що лежить мертвим вантажем, а також через відволікання співробітників від виконання основних службових обов'язків. У кращому випадку буде впроваджено окремі ділянки клієнт-серверна системаПри цьому, фактично, нове програмне забезпечення буде використовуватися на старому ідейному рівні.

    Якщо, зваживши все за і проти, підприємство все-таки зважилося на створення клієнт-серверної системи, то перед ним постає завдання вибору компонентівдля побудови цієї системи. У будь-якому випадку необхідним компонентом є той чи інший сервер баз данихкорпоративного рівня. Інші компоненти залежить від шляху, обраного підприємством подальшого розвитку автоматизованої системи управління.

    Якщо підприємство зважилося розробляти систему саме, перед ним стоїть, передусім, завдання вибору засобів розробки. Якщо підприємство розміщує замовлення створення системиу конкретної фірми-розробника, то аналогічне завдання стоїть перед нею.

    У тому випадку, якщо прийнято рішення не розробляти систему самим, а використовувати одне з рішень, що є на ринку, то головною складовою вибору є готова (у тому чи іншою мірою) система автоматизації підприємства. Насправді слово "готова" повинно вживатися дуже обережно, оскільки важко провести чітку межу між налаштуванням під потреби конкретного користування та адаптацією системи, яка часто включає модифікацію модулів системи або навіть розробку додаткового забезпечення під потреби замовника.

    Під клієнт-серверним додатком ми розумітимемо інформаційну систему, засновану на використанні серверів баз даних (див. довге зауваження в кінці розділу 2.1). Загальне уявлення інформаційної системи у архітектурі " клієнт-сервер " показано малюнку 2.3.

    • На стороні клієнта виконується код програми, в який обов'язково входять компоненти, що підтримують інтерфейс з кінцевим користувачем, звіти, що виконують, виконують інші специфічні для програми функції (поки нас не буде займати, як будується код програми).
    • Клієнтська частина програми взаємодіє з клієнтською частиноюпрограмного забезпечення управління базами даних, яка фактично є індивідуальним представником СУБД для додатка.

    (Тут знову проявляються недоліки в термінології. Зазвичай, коли компанія оголошує про випуск чергового сервера баз даних, то неявно розуміється, що є і клієнтська складова цього продукту. Поєднання "клієнтська частина сервера баз даних" здається дещо дивним, але нам доведеться користуватися саме цим терміном.)

    Мал. 2.3. Загальне уявлення інформаційної системи в архітектурі "клієнт-сервер"

    Зауважимо, що інтерфейс між клієнтською частиною програми та клієнтською частиною сервера баз даних, як правило, базується на використанні мови SQL. Тому такі функції, як, наприклад, попередня обробка форм, призначених для запитів до бази даних, або формування результуючих звітів виконуються в програмному коді.

    Зрештою, клієнтська частина сервера баз даних, використовуючи засоби мережного доступу, звертається до сервера баз даних, передаючи йому текст оператора мови SQL.

    Тут потрібно зробити ще два зауваження.

    1. Зазвичай компанії, що виробляють розвинені сервери баз даних, прагнуть забезпечити можливість використання своїх продуктів не тільки в стандартних на сьогоднішній день TCP/IP-орієнтованих мережах, але в мережах, заснованих на інших протоколах (наприклад, SNA або IPX/SPX) . Тому при організації мережевих взаємодійміж клієнтською та серверною частинами СУБД часто використовуються не стандартні засоби високого рівня(наприклад, механізми програмних гнізд або викликів віддалених процедур), а власні функціонально подібні засоби, що менш залежать від особливостей мережевих транспортних протоколів.
    2. Коли ми говоримо про інтерфейс на основі мови SQL, потрібно усвідомлювати те, що незважаючи на титанічні зусилля зі стандартизації цієї мови, немає такої реалізації, в якій стандартні засоби мови не були б розширені. Необдумане використання розширень мови призводить до повної залежностіпрограми від конкретного виробника сервера бази даних.

    Ми зупинимося на цих питаннях більш детально у четвертій частині курсу.

    Подивимося тепер, що відбувається на боці сервера баз даних. У продуктах багатьох компаній сервер отримує від клієнта текст оператора мовою SQL.

    • Сервер здійснює компіляцію отриманого оператора. Не будемо тут зупинятись на тому, яка цільова мова використовується конкретним компілятором; у різних реалізаціях застосовуються різні підходи (приклади див. у частині 4). Головне, що в будь-якому випадку на основі інформації, що міститься в таблицях-каталогах бази даних, здійснюється перетворення непроцедурного подання оператора в деяку процедуру його виконання.
    • Далі (якщо компіляція завершилася успішно) відбувається виконання оператора. Ми знову не обговорюватимемо технічні деталі, оскільки вони різняться в реалізаціях. Розглянемо можливі діїоператорів SQL.
      • Оператор може відноситися до класу операторів визначення (або створення) об'єктів бази даних (точніше і правильніше було б говорити про елементи схеми бази даних або об'єкти метабази даних). Зокрема, можуть визначатися домени, таблиці, обмеження цілісності, тригери, привілеї користувачів, процедури, що зберігаються. У будь-якому випадку, при виконанні оператора створення елемента схеми бази даних відповідна інформація міститься в таблиці-каталоги бази даних (в таблиці метабази даних). Обмеження цілісності зазвичай зберігаються у метабазі даних у текстовому поданні. Для дій, визначених у тригерах, і процедур, що зберігаються, виробляється і зберігається в таблицях-каталогах процедурний виконуваний код. Зауважимо, що обмеження цілісності, тригери і процедури, що зберігаються, є, у певному сенсі, представниками додатка в підтримуваній сервером базі даних; вони становлять основу серверної частини програми (див. нижче).
      • При виконанні операторів вибірки даних на основі вмісту таблиць, що зачіпаються запитом і, можливо, з використанням підтримуваних у базі даних індексів формується результуючий набір даних (ми навмисно не використовуємо тут термін "результуюча таблиця", оскільки в залежності від конкретного виду оператора результат може бути впорядкованим, а таблиці, тобто відносини неупорядковані за визначенням). Серверна частина СУБД пересилає результат клієнтської частини, і остаточна обробка проводиться у клієнтської частини докладання.
      • При виконанні операторів модифікації вмісту бази даних (INSERT, UPDATE, DELETE) перевіряється, що не будуть порушені певні до цього моменту обмеження цілісності (ті, що відносяться до класу негайно перевіряються), після чого виконується відповідна дія (супроводжується модифікацією всіх відповідних індексів змін). Далі сервер перевіряє, чи ця зміна не зачіпає умову спрацьовування будь-якого тригера, і якщо такий тригер виявляється, виконує процедуру його дії. Ця процедура може містити додаткові оператори модифікації бази даних, які можуть спричинити спрацювання інших тригерів і т.д. Можна вважати, що ті дії, які виконуються на сервері баз даних при перевірці задоволеності обмежень цілісності та при спрацьовуванні тригерів, є діями серверної частини програми.

    При виконанні операторів модифікації схеми бази даних (додавання або видалення стовпців існуючих таблиць, зміни типу даних існуючого стовпця існуючої таблиці і т.д.) можуть спрацьовувати тригери, тобто, іншими словами, може виконуватися серверна частина програми.

    Загалом у файл-серверній архітектурі ми маємо "товстого" клієнта і дуже "тонкий" сервер у тому сенсі, що майже вся робота виконується на стороні клієнта, а від сервера потрібна лише достатня ємність дискової пам'яті(Рисунок 2.2).

    Мал. 2.2. "Товстий" клієнт та "тонкий" сервер у файл-серверній архітектурі

    Короткі висновки.Просте, що працює з невеликими обсягамиінформації та розрахований на застосування в однокористувальному режимі, файл-серверний додаток можна спроектувати, розробити та налагодити дуже швидко. Дуже часто для невеликої компаніїдля ведення, наприклад, кадрового обліку достатньо мати ізольовану систему, що працює на окремому PC. Звичайно, і в цьому випадку потрібна велика акуратність кінцевих користувачів (або адміністраторів, наявність яких у цьому випадку є сумнівною) для надійного зберігання та підтримки цілісного стану даних. Однак, у вже набагато складніших випадках (наприклад, при організації інформаційної системи підтримки проекту, що виконується групою) файл-серверні архітектури стають недостатніми.