Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чичкань.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.15 Mб
Скачать
      1. 13.4. Інтерфейси програмування додатків (api). Db‑Library, odbc, oci, jdbc

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

Разом з описаним вище механізмом існує і активно застосовується ще один підхід, пов'язаний з наявністю спеціальних інтерфейсів, – API (application programming interface – інтерфейс програмування додатків). Ці API є бібліотеками функцій, розроблені для забезпечення зв'язку прикладної програми з СУБД за допомогою виконання SQL-запитів. Прикладна програма викликає спеціальні функції бібліотеки для передачі в СУБД SQL-запитів у текстовому вигляді і для отримання результатів виконання запитів, а також різноманітної службової інформації.

Застосування подібного підходу призводить до того, що програмістам більш не потрібно вивчати спеціальні набори інструкцій SQL, а необхідно лише вивчити спеціальну бібліотеку функцій. З урахуванням того, що механізм використання API є широко використовуваним і стандартним підходом (чого тільки вартий використання потужного апарату Windows API), для фахівців немає нічого нового у вивченні ще однієї бібліотеки, в даному випадку – для спілкування з СУБД.

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

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

Поглянемо, як працюють прикладні програми, що використовують різні API. Принципи роботи різних бібліотек аналогічні. Схема роботи додатку спільно з SQL API виглядає таким чином [5]:

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

  • для пересилки інструкцій SQL в СУБД програма формує інструкцію у вигляді текстового рядка і потім передає цей рядок як параметр при виклиці API-функції;

  • програма викликає виконання API-функції для перевірки стану переданої в СУБД інструкції і обробки помилок;

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

  • своє звернення до бази даних програма закінчує викликом API-функції, що відключає її від СУБД.

З інтерфейсів API, що є для реалізації SQL-запитів, на цей час виділилося декілька бібліотек, "стандартних" в тому сенсі, що вони активно застосовуються множиною розробників по всьому світу. Ця лекція не є детальним керівництвом по всім цим бібліотекам. Більше того, для їх професійного освоєння необхідне серйозне вивчення відповідної літератури. В межах цього курсу ми лише зробимо огляд цих бібліотек, розглянемо основні закладені в них ідеї. Детально ці SQL API описані, наприклад в [5].