Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основи роботи з SQL - посібник - нова редакція.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
3 Мб
Скачать
☆

2 Чого sql не вміє

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

По-друге, в SQL не реалізована прикладна частина. Ця мова не має власних засобів запису даних. Вона являє собою всього лише стандартний засіб обміну даними між програмами, здатними зберігати ці дані (такі програми, як ми побачимо пізніше, називаються СКБД). Самі дані зберігаються в СКБД – наприклад, в Oracle або Microsoft SQL Server. До цього залишається додати зовнішній інтерфейс VB або Delphi, і одержуємо SQL як мову для відправлення із зовнішнього інтерфейсу команд СКБД.

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

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

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

По-четверте, SQL не має власного середовище розробки. Приміром, Access надає багатий набір засобів для:

  • установки власного інтерфейсу користувача;

  • усунення помилок;

  • швидкого введення програм;

  • багаторазового їхнього використання.

«Чистий» SQL не містить жодного із цих засобів. Правда, деякі постачальники включають у розповсюджувані пакети певні інструментальні засоби, але ці засоби не є складовими частинами SQL. Якщо знову звернутися до аналогії з розмовною мовою, можна сказати, що SQL – це мова, але не словник, не підручник граматики, не друкувальний верстат, не гучномовець, не поштова служба, не картотека й не будь-який інший засіб, що використовується для розмовної мови. Мова SQL не містить у собі жоден із перерахованих засобів, як, втім, і українська.

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