датків. Це потенційне джерело помилок, що порушують фізичну і логічну цілісність БД, оскільки різні додатки можуть робити контроль цілісності БД по-різному, взаємовиключними способами, або не проводити такого контролю зовсім. Набагато ефективніше управляти БД з єдиного місця і за єдиними законами, ніж з різних додатків і по потенційно різними законами (все залежить від того, як написано додаток). Тому безпека при роботі в архітектурі "файл-сервер" невисока і завжди присутній елемент невизначеності. Секретність і конфіденційність при роботі з БД в архітектурі "файл-сервер" забезпечити також важко - будь-який, хто має доступ до каталогу мережевого сервера, де зберігається БД, може змінювати таблиці БД будь-яким чином, копіювати їх, замінювати і т.д. [4].
Архітектура "клієнт-сервер" розділяє функції програми користувача (званого клієнтом) і сервера.
Додаток-клієнт формує запит до сервера, на якому розташована БД, на структурному мовою запитів SQL. Віддалений сервер приймає запит і переадресує його SQL-серверу БД. SQL-сервер - це спеціальна програма, що керує віддаленою базою даних. SQL-сервер забезпечує інтерпретацію запиту, його виконання в базі даних, формування результату виконання запиту і видачу його додатку-клієнта. При цьому ресурси клієнтського комп'ютера не беруть участь у фізичному виконанні запиту; клієнтський комп'ютер лише відсилає запит до серверної БД і отримує результат, після чого інтерпретує його необхідним чином і являє користувачу. Так як клієнтського додатку надсилається результат виконання запиту, по мережі "подорожують" тільки ті дані, які необхідні клієнту. У результаті знижується навантаження на мережу. Оскільки виконання запиту відбувається там же, де зберігаються дані (на сервері), немає необхідності у пересиланні великих пакетів даних. Крім того, SQL-сервер, якщо це можливо, оптимізує отриманий запит таким чином, щоб він був виконаний у мінімальний час з найменшими накладними витратами. p align="justify"> Все це підвищує швидкодію системи і знижує час очікування результату запиту.
При виконанні запитів сервером суттєво підвищується ступінь безпеки даних, оскільки правила цілісності даних визначаються в базі даних на сервері і є єдиними для всіх додатків, що використовують цю БД. Таким чином, виключається можливість визначення суперечливих правил підтримки цілісності. Потужний апарат транзакцій, підтримуваний SQL-серверами, дозволяє виключити одночасна зміна одних і тих же даних різними користувачами і надає можливість відкатів до первинних значень при внесенні до БД змін, що закінчилися аварійно. Таким чином, функціями програми-клієнта є:
1. посилка до сервера запитів;
2. інтерпретація результатів запитів, отриманих від сервера, і представлення їх користувачеві у необхідній формі;