Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Розділ 6.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
453.63 Кб
Скачать

6.7. Технології використання sql

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

Стандарти мови SQL, що регламентують синтаксис операторів, оче­видно відносять SQL до парадигми декларативних мов, тобто відсутня

можливість оголошення змінних, немає інструкції ІР, немає циклу РОЯ і т.д. Одним словом, у такому вигляді мова призначається винятково для ін­терактивного режиму роботи з базою даних: користувач вводить запит - отримує результат, вводить інший запит - отримує інший результат і т.д. У стандарті відсутні будь-які вказівки на організацію вводу/виводу. Програмний продукт на подібній мові реалізувати вкрай важко. Тому БОЬ з самого початку потребував підтримки засобами, які не передбачалися можливостями самої мови. За десятиліття його застосування накопичилася різномантні варіанти реалізації SQLНаразі викристалізувались наступні різновиди реалізації мови SQL інтерактивний програмний

-програмно — вбудований (статичний динамічний SQL);

- АРІ - інтерфейси виклику підпрограм.

Розберемо ці різновиди докладніше. На рис. 6.1. зображені схеми використання Дві з них ми розлянемо в цьому розділі. Схему викори­стання з АРІ — інтерфейсом розглянемо у наступному розділі.

Рис. 6.1. Різновиди SQL

  1. Поняття інтерактивного sql

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

програму (клієнтське застосування) або стандартну утиліту, що входить в СУБД, користувач:

встановлює з'єднання з БД (підтверджуючи наявність прав доступу); вводить текст SQL-запиту;

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

вибирає, яким чином здійснювати виконання запиту - план виконання запиту;

виконує запит;

результат виконання посилає користувачеві.

В різних СУБД форми і механізми реалізації інтерактивного SQL дещо відрізняються, проте перелічені принципи не змінюються. Для ілюс­трації принципів інтерактивного SQL надамо наступні приклади, причому один з них на прикладі середовища потужної комерційної клієнт-серверної СУБД Sybase SQL Anywhere, а інший з вільно поширюваної (freeware) СУБД MYSQL. :

  1. Утиліта інтерактивного доступу isql субд Sybase sql Anywhere

Утиліта ISQL є складовою частиною СУБД Sybase SQL Anywhere. Ця СУБД спеціально розроблена для реалізації технології клієнт-сервер. У цій технології СУБД не призначена для реалізації функцій інтерфейсної частини застосувань. В зв'язку з цим дана утиліта не дозволяє створювати екранні форми, звіти, меню і т.д. Проте вона дозволяє виконувати в інтерактивному режимі SQL-оператори, у тому числі і ті, які змінюють схему бази даних. Дана утиліта призначена для оперативного аналізу вмісту бази даних і для відладки програмних об'єктів баз даних. Ця утиліта є файлом Isql.exe, який знаходиться в одному з каталогів , вкладених в каталог SQLANY50.

На початку роботи даної утиліти, видається запит на введення параметрів з'єднання Залежно від того відкрита необхідна база чи ні, запит представляється у вигляді скороченого (або повного вікна параметрів з'єднання (Рис.).

За умовчанням як значення параметра ОаїаЬазеИате використо­вується ім'я файлу, задане в параметрі РаіаЬаяеРйе. Після встановлення з'єднання на екрані монітора з'являється головне вікно (Рис. 6.2.).

Заголовок головного вікна утиліти ISQL є складеним. Він включає найменування утиліти, назву підключеної бази даних, ім'я користувача, що

встановив1 з'єднання (у дужках), і назву сервера, адміністратора підключено) бази даних. Так на рис. видно, що користувач Stepanov в середовищі утиліти ISQL встановив з'єднання з базою, якою управляє сервер Server_stel.

Головне вікно даної утиліти містить три вкладені вікна: вікно Data - вікно даних, що формуються в результаті виконання запиту;

вікно Statistics - вікно характеристик відпрацьованого запиту і плану його виконання);

вікно Command - вікно виконуваних SQL-операторів.

На початку функціонування ISQL всі вони порожні. Інформація в них з'являється в процесі роботи з утилітою. При цьому вікно Command використовується для введення виконуваних SQL-операторів. На Рис. 6.3. це вікно містить оператора вибору всіх полів з таблиці Stepanov.Books. У назві таблиці фраза Stepanov позначає ім'я власника таблиці, тобто користувача того, що створив її. Фраза Bqoks позначає безпосереднє ім'я таблиці. , ні’j ,v < •,

Ще одним прикладом інтерактивного використання SQL-операторів є вікно Query Analyzer у середовищі MS SQL Server.