
- •Мова адміністрування бд (мабд)
- •Група Data Control Language (dcl)
- •Група Transaction Control Language (tcl)
- •Група Cursor Control Language (ccl)
- •Пр иклади використання операторів адміністрування
- •Створення і ліквідація ролей
- •Передача привілеїв і ролей
- •Уявлення (View)
- •Поняття збереженої процедури
- •Збережені процедури в конкретних середовищах
- •Типи збережених процедур
- •Створення, зміна і видалення збережених процедур
- •Виконання збереженої процедури .
- •6.5. Визначення тригера в стандарті мови sql
- •Реалізація тригерів в середовищі ms sql Server
- •Типи тригерів
- •Програмування тригера
- •6.7. Технології використання sql
- •Поняття інтерактивного sql
- •Утиліта інтерактивного доступу isql субд Sybase sql Anywhere
- •Приклад використання інтерактивного sql в субд mysql
6.7. Технології використання sql
Розглянута нами вище мова реляційних баз даних являє собою надзвичайно потужний інструмент для створення, підтримки та використання реляційних баз даних. Разом з тим, для того щоб справді бути таким інструментом, мова SQL потребує програмної реалізації, бо сама по собі є лише засобом абстрагування для організації електронної обробки даних.
Стандарти мови SQL, що регламентують синтаксис операторів, очевидно відносять SQL до парадигми декларативних мов, тобто відсутня
можливість оголошення змінних, немає інструкції ІР, немає циклу РОЯ і т.д. Одним словом, у такому вигляді мова призначається винятково для інтерактивного режиму роботи з базою даних: користувач вводить запит - отримує результат, вводить інший запит - отримує інший результат і т.д. У стандарті відсутні будь-які вказівки на організацію вводу/виводу. Програмний продукт на подібній мові реалізувати вкрай важко. Тому БОЬ з самого початку потребував підтримки засобами, які не передбачалися можливостями самої мови. За десятиліття його застосування накопичилася різномантні варіанти реалізації SQLНаразі викристалізувались наступні різновиди реалізації мови SQL інтерактивний програмний
-програмно — вбудований (статичний динамічний SQL);
- АРІ - інтерфейси виклику підпрограм.
Розберемо ці різновиди докладніше. На рис. 6.1. зображені схеми використання Дві з них ми розлянемо в цьому розділі. Схему використання з АРІ — інтерфейсом розглянемо у наступному розділі.
Рис.
6.1. Різновиди
SQL
Поняття інтерактивного sql
Отже, інтерактивний передбачає безпосередню роботу користувача із базою даних за наступним алгоритмом: використовуючи прикладну
програму (клієнтське застосування) або стандартну утиліту, що входить в СУБД, користувач:
встановлює з'єднання з БД (підтверджуючи наявність прав доступу); вводить текст SQL-запиту;
запускає запит на виконання. Текст запиту надходить в СУБД, яка здійснює синтаксичний аналіз запиту (перевіряє, чи є запит коректним); перевіряє, чи має користувач право виконувати подібний запит (наприклад, користувач намагається щось видалити, а права має лише на читання);
вибирає, яким чином здійснювати виконання запиту - план виконання запиту;
виконує запит;
результат виконання посилає користувачеві.
В різних СУБД форми і механізми реалізації інтерактивного SQL дещо відрізняються, проте перелічені принципи не змінюються. Для ілюстрації принципів інтерактивного SQL надамо наступні приклади, причому один з них на прикладі середовища потужної комерційної клієнт-серверної СУБД Sybase SQL Anywhere, а інший з вільно поширюваної (freeware) СУБД MYSQL. :
Утиліта інтерактивного доступу 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.