Мова SQL та QBE

DROP INDEX

 

 

Для підготовки запитів за допомогою різних СУБД найчастіше використовуються два основні мови опису запитів: мова QBE (Query By Example) - мова запитів за зразком; мова SQL (Structured Query Language)-структурований мова запитів.

 

У мові QBE (Query-by-Example - мова запитів за зразком) використовується візуальний (графічний) підхід для організації доступу до інформації в БД, заснований на застосуванні шаблонів запитів(бланків таблиць). Застосування QBE здійснюється шляхом завдання зразків значень в шаблоні запиту, що передбачає такий тип доступу до бази даних, який потрібно в даний момент, наприклад отримання відповіді на деякий питання.

Мова QBE був розроблений компанією IBM в 1970-х роках і призначався для користувачів, зацікавлених у виборі інформації з баз даних. Ця мова отримала у користувачів настільки широке визнання, що в даний час в тій або іншій мірі він реалізований практично у всіх популярних СУБД, включаючи і Microsoft Access.

Засоби підтримки мови QBE в СУБД Microsoft Access досить прості в експлуатації і в той же час представляють користувачам досить широкий спектр можливостей роботи з даними. Засоби мови QBE можуть використовуватися для введення запитів до інформації, що зберігається в одній або кількох таблицях, а так само для визначення набору полів, які повинні бути присутніми в результуючій таблиці.

Крім того, засоби мови QBE можна використовувати для виконання різних операцій над таблицями, наприклад, для вставки і видалення записів, модифікації значень полів або створення нових полів і таблиць.

СУБД Microsoft Access при створенні запиту з використанням засобів QBE неявно формує еквівалентний оператор мови SQL, призначений для виконання зазначених дій.

10. Внутрішня мова СУБД.

11. Зберігаємі процедури та тригери. Призначення та переваги.

 

12. Технології доступу BDE, ADO, ADO.Net, JDBC

Для організації запитів до серверної БД на мові SQL або за допомогою клієнтських програм реалізовані різні технології доступу до даних. До їх числа належать:

- Інтерфейс BDE (процесор баз даних фірми Borland);

Один з найперших інтерфейсів для роботи з базами даних є Database Engine (BDE) — процесор баз даних фірми Borland.

BDE слугує посередником між додатком і базами даних. Він надає користувачу єдиний інтерфейс для роботи, що робить додаток незалежним від конкретної реалізації БД. Завдяки цьому не треба міняти додатки при зміні реалізації бази даних.

Додаток, коли йому потрібно зв'язатися з базою даних, звертається до BDE і повідомляє за звичай псевдонім бази даних(аліас) і необхідну таблицю у ній. BDE реалізований у вигляді динамічно приєднуваних бібліотек DLL.

Вони, як і будь-які бібліотеки, забезпечені API (Application Program Interface — інтерфейсом прикладних програм), названим IDAPI (Integrated Database Application Program Interface). Це список процедур і функцій для роботи з базами даних, яким і користуються додатки.

BDE по псевдоніму знаходить відповідний для вказаної бази даних драйвер - це допоміжна програма, яка розуміє, як спілкуватися з базами даних певного типу. Якщо в BDE є власний драйвер відповідної СУБД, то BDE зв'язується через нього з базою даних і з потрібною таблицею в ній, обробляє запит користувача і повертає в додаток результати обробки. Якщо власного драйвера потрібної СУБД в BDE немає, то використовується драйвер ODBC. ODBC (Open Database Connectivity).

BDE підтримує SQL — стандартизовану мову запитів, що дозволяє обмінюватися даними з SQL-серверами, такими, як Sybase, Microsoft SQL, Oracle, Interbase. Ця можливість використовується особливо широко при роботі на платформі клієнт/сервер і в розподілених базах даних.

 

- Технології ODBC (сумісності відкритих баз даних);

Її особливість полягає в абстрагуванні програми від особливостей ядра серверної бази даних, з якою вона здійснює взаємодію, тому серверна база даних стає як би прозорою для будь-якого клієнтського додатку.

Отриманий драйвером ODBC запит від клієнтської програми перекладається мову ядра і відправляється на виконання до SQL-сервера чи ядра монопольної БД.

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

Основний недолік технології ODBC пов'язаний з необхідністю трансляції запитів, що знижує швидкість доступу до даних.

У системах клієнт-сервер цей недолік усувається шляхом переміщення запиту з комп'ютера-клієнта на комп'ютер-сервер в зберігаємі процедури та тригери.

 

- Інтерфейсу OLE DB (зв'язування і вбудовування об'єктів баз даних);

OLE DB ( англ. Object Linking and Embedding, Database ) - набір інтерфейсів, заснованих на COM [читається кому](в OLE DB їх називають провайдерами - поставщиками даних), які дозволяють додаткам звертатися до даними, збереженим в різних джерелах інформації або сховищах даних за допомогою уніфікованого доступу.

 

COM ( англ. Component Object Model - Об'єктна модель компонентів; вимовляється як [кому]) - це технологічний стандарт від компанії Microsoft, призначений для створення програмного забезпечення на основі взаємодіючих компонентів, кожен з яких може використовуватися в багатьох програмах одночасно. Стандарт втілює в собі ідеї поліморфізму та інкапсуляції об'єктно-орієнтованого програмування. COM є базовою для технологій ADO та OLE - вони лише надстройки над даною технологією.

 

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

OLE DB відокремлює сховище даних від програми, яка повинна мати доступ до нього через набір абстракцій (DataSource, сесію, командний рядок)

 

- Технології DAO (об'єктів доступу до даних);

При використанні технології DAO робота з базами даних, таблицями ведеться з використанням колекцій об'єктів. При цьому забезпечуються великі зручності у роботі з об'єктами баз даних.

В даний час технологія DAO поступово витісняється технологією ADO, яка дозволяє розробляти додатки Web для роботи з базами даних.

 

- Технології ADO (об'єктів даних).

Розроблена в Microsoft технологія ActiveX Data Objects (ADO), характеризується як найбільш сучасна технологія розробки додатків для роботи з розподіленими базами архітектури клієнт-сервер.

ADO — це призначений для користувача інтерфейс для будь-яких типів даних, включаючи реляційні і не реляційні бази даних, електронну пошту, системні, текстові і графічні файли. Зв'язок з даними здійснюється по засобом так званої технології OLE DB.


Рис.10.3. Об’єкт ADO конвертує об’єкти OLE DB (набори даних)

- Технології ADO.NET (об'єктів даних).

Appilications – додаток, прикладна програма.

АDO.NET (ActiveX Data Objects .NET) — це набір бібліотек, що поставляється з Microsoft .NET Framework і призначений для взаємодії з різними сховищами даних з .NET-застосувань.

 

Бібліотеки ADO.NET включають класи для приєднання до джерела даних, виконання запитів і обробки їхніх результатів. Крім того, ADO.NET можна використовувати в якості надійного, ієрархічно організованого, відокремленого кешу даних для автономної роботи з даними.

Ця технологія достатньо універсальна, оскільки дозволяє розробляти як прості та і досить складні. При цьому дані можуть зберігатись не тільки в реляційних БД, но і в файлі формата XML, а з’єднання з БД не обовязково повино бути постійним (встановлюється лише на короткий час, коли необхідимо проводити операції над БД.)

Її переваги:

-Підтримка XML

-ADO також підтримує XML ,але не буде так само ефективно обробляти XML-дані, як це робить ADO.NET, оскільки ADO.NET створювався з врахуванням XML,а ADO-ні.

-Простота модифікації

-Простота програмування

 
 

-Компоненти даних ADO.NET в Visual Studio інкапсулюють функціональні можливості доступу до даних різними способами, що допомагає розробляти програмні продукти значно швидше і з меншою кількістю помилок.

-Продуктивність

 

Рис.10.4. IB ProviderCOM-компонент

 

Разом з тим необхідно признати, що нова технологія інколи всеж програє традиційній. Для таких випадків рекомендовано (не тільки мною, но і Microsoft) використовувати ADO.

Платформа ADO.NET Entity Framework разработана, чтобы разработчики могли создавать приложения для доступа к данным путем программирования по концептуальной модели приложения, а не по реляционной схеме хранения. Ее целью является уменьшение объема кода и затрат на сопровождение приложений, ориентированных на обработку данных.

 

-Технологія JDBC

JDBC є інтерфейсом прикладного програмування Java для работи з БД. Він

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