Типи та принципи побудови запитів до баз даних 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Типи та принципи побудови запитів до баз даних



Типи запитів до бази даних - запитий на вибірку, підсумковий, перекреслений запити й т.п., їх призначення й принципи побудови.

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

Трохи більше складний випадок - запит, у якому зафіксований набір ознак. Значення деяких ознак вказуються користувачем (за ними треба шукати), значення інших ознак повинна вказати система. Тут природна форма запиту - бланк (на папері або на екрані дисплею), графи якого - стандартні, але число варіантів заповнення може бути великим.

Користувачів можна розділити на три більші групи.

• Перша — прикладні програмісти, які відповідають за написання прикладних програм, що використовують базу даних. Для цих цілей застосовні мови COBOL, PL/1 або більше сучасні, такі як Pascal. Прикладні програми виконують над даними всі стандартні операції: вибірку існуючої інформації, вставку нової інформації, видалення або відновлення існуючої інформації. Всі ці функції виконуються через відповідний запит до СУБД. Ці програми можуть бути простими програмами пакетної обробки або оперативних додатків, функція яких — підтримка роботи кінцевого користувача, що має безпосередній оперативний доступ до бази даних через робочу станцію або термінал. Більшість сучасних додатків ставиться до оперативного.

• Друга — кінцеві користувачі, які працюють із системами баз даних безпосередньо через робочу станцію або термінал. Кінцевий користувач може одержати доступ до бази даних, використовуючи один з оперативних додатків, або ж скористатися інтегрованим інтерфейсом програмного забезпечення самої системи баз даних. Такий інтерфейс також підтримується оперативним додатком, але цей додаток не створюється користувачем, воно є вбудованим у систему баз даних. У більшості систем є, принаймні, один такий вбудований додаток, а саме: процесор мови запитів, що дозволяє користувачеві вказувати команди або вираження високого рівня (такі як select або insert) для даної СУБД. Мова SQL, - типовий приклад мови запитів для бази даних.

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

Крім мови запитів, у більшості систем також надаються додаткові вбудовані інтерфейси, у яких користувач у явному виді не використовує команд, таких як select. Для роботи з базою даною користувач, наприклад, вибирає необхідні команди меню або заповнює поля у формах. Такі інтерфейси, засновані на меню й формах, полегшують роботу з базами даних тим, хто не має досвіду роботи з інформаційними технологіями (ІТ) Командний інтерфейс, тобто мова запитів, навпроти, вимагає деякого досвіду роботи з ІТ (можливо, не дуже великого). Однак командний інтерфейс звичайно більше гнучкий, чим заснований на меню й формах; крім того, у мовах запитів звичайно є певні функції, які не підтримуються інтерфейсами, заснованими на меню й формах.

• Третя група — адміністратори бази даних, або АБД [31].

 

Можливості запитів і інструментальні засоби

Розробки прикладних програм

 

СУБД, орієнтовані на розроблювачів, мають розвинені засоби для створення додатків. До елементів інструментарію розробки додатків можна віднести:

• потужні мови програмування;

• засоби реалізації меню, екранних форм уведення-виводу даних і генерації звітів;

• засоби генерації додатків (прикладних програм);

• генерацію здійсненних файлів.

Функціональні можливості моделей даних доступні користувачеві СУБД завдяки її язиковим засобам.

Реалізація мовних засобів інтерфейсів може бути здійснена різними способами. Для висококваліфікованих користувачів (розроблювачів складних прикладних систем) язикові засоби найчастіше представляються в їх явній синтаксичній формі, В інших випадках функції мов можуть бути доступні непрямим образом, коли вони реалізуються у формі різного роду меню, діалогових сценаріїв або заповнюваних користувачем таблиць. За такими вхідними даними інтерфейсні засоби формують адекватні синтаксичні конструкції мови інтерфейсу й передають їх на виконання або включають у генеруємий програмний код додатка. Інтерфейси з неявним використанням мови широко використовуються в СУБД для персональних ЕОМ. Прикладом такої мови є мова QBE (Query-By-Example).

Язикові засоби використовуються для виконання двох основних функцій:

· опису подання бази даних;

· виконання операцій маніпулювання даними.

Перша із цих функцій забезпечується мовою опису (визначення) даних (МОД). Опис бази даних засобами МОД називається схемою бази даних. Воно включає опис структури бази даних і обмежень цілісності, що накладаються на неї, у рамках тих правил, які регламентовані моделлю даних використовуваної СУБД. МОД деяких СУБД забезпечують також можливості завдання обмежень доступу до даних або повноважень користувачів [32].

Мова маніпулювання даними

Мова маніпулювання даними (ММД) дозволяє запитувати передбачені в системі операції над даними з бази даних.

Є численні приклади мов СУБД, що поєднують можливості опису даних і маніпулювання даними в єдиних синтаксичних рамках. Популярною мовою такого роду є реляційна мова SQL.

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

СУБД dBASE IV і FoxPro підтримують мова програмування xBASE, що дотепер є важливим стандартом для баз даних.

FoxPro 2.6 надає xBASE-програмам віконні, подійно-керовані якості. При складанні прикладної програми FoxPro використовує диспетчер проекту, керуючий різними файлами вихідного тексту й даних. Ця складова відслідковує індивідуальні елементи: програми, набори екранних форм, звіти й файли баз даних і дозволяє компілювати прикладну програму в здійсненний файл.

Мова програмування Access Basic містить функції забезпечення зв'язку по протоколі OLE 2.0, що дозволяють управляти об'єктами з інших прикладних програм, сумісних з OLE 2.0. Крім того, ця мова дозволяє створювати об'єкти баз даних (запити, таблиці), змінювати структуру бази даних і створювати індекси безпосередньо із прикладної програми.

Всі розглянуті програмні засоби мають автоматизовані засоби створення екранних форм, запитів, звітів, меню, наклейок, стандартних листів. Для створення зазначених візуальних і структурних об'єктів ряд СУБД використовує спеціальні інструментальні засоби, що мають назву "майстри" або " чарівники"[9, 10, 23].

 

Мова структурованих запитів

Мова структурованих запитів SQL (Structured Query Language) була розроблена корпорацією IBM у сімдесятих роках, але загальне поширення одержала істотно пізніше, коли після появи комп'ютерних мереж, що зв'язують комп'ютери різних типів, потрібні були стандартні мови для обміну інформацією. Завдяки своїй незалежності від специфіки комп'ютера, а також підтримці лідерами в області технології реляційних баз даних, SQL стала і в найближчому доступному для огляду майбутньому, залишиться такою стандартною мовою. Синтаксис SQL схожий на синтаксис англійської мови й дозволяє конструювати досить складні запити. SQL є непроцедурною мовою, у ній відсутні багатостандартні для процедурних мов конструкції – функції, цикли, умовні оператори. SQL складається з інструкцій, які передаються СУБД, забезпечуючи виконання певних дій. Ці інструкції в загальному виді називаються пропозиціями, але частіше використовується термін «команда SQL». Інтерпретатори команд SQL вбудовуються в багато процедурних мов програмування, такі як Visual BASIC, C/C++. У цьому випадку команда звичайно формується у вигляді строкової змінної.

У багатьох пакетах команди SQL формуються автоматично зі спеціальних меню або форм. У цих випадках команди SQL використовуються в схованому від користувача виді. Прикладом такого використання є мова запитів за зразком QBE, що, наприклад, досить широко застосовувалася в СУБД Paradox. Іншим прикладом можуть служити електронні таблиці Excel. У цих таблицях за допомогою додатка MS-Query можна формувати різні запити за зразком до баз даних форматів Access, dBASE, Parodox, FoxPro і інших, доступ до яких здійснюється через інтерфейс ODBS (Open Data Base Connectivity).

Мова запитів SQL (Structured Query Language) реалізована у цілому ряді популярних СУБД для різних типів ЕОМ або як базова, або як альтернативна. У силу свого широкого використання є міжнародним стандартом мови запитів. Мова SQL надає розвинені можливості як кінцевим користувачам, так і фахівцям в області обробки даних [5].

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

СУБД мають доступ до даних SQL у наступних випадках:

· бази даних сумісні з ODBC (Open Database Connectivity - відкрите з'єднання баз даних);  

· реалізовано природну підтримку SQL-Баз даних;

· можлива реалізація SQL-Запитів локальних даних.

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

Access 2.0 і Paradox for Windows працюють із джерелами SQL-Даних, сумісних із системою ODBC.

FoxPro (for dos і for Windows) поставляються з додатковими бібліотеками, які забезпечують доступ до SQL-Баз даних, здатними працювати разом із системою ODBC, але ця можливість менш інтегрована, чим засобу первинного уведення інформації в Access і Paradox for Windows.

Можна прямо управляти базами даних Access за допомогою мови SQL і передавати наскрізні SQL-Запити сумісним зі специфікацією ODBC SQL-Базам даних, таким, як MS SQL Server і Oracle, так що Access здатна служити засобом розробки масштабованих систем клієнт-сервер.

Тепер перейдемо до операторів SQL мови обробки даних (data manipulation language— DML). Основні оператори DML— це select, insert, opdate і delete. Спочатку розглядаються операції вибірки (select), а далі — операції відновлення (insert, update, delete).

Як уже згадувалося, мова обробки даних DML включає три операції відновлення: INSERT (вставка), UPDATE (зміна) і DELETE (видалення) [10].

 

7.5 Архітектура " клієнт-сервер"

 

Загальне поширення комп'ютерних мереж породило ще одну, крім необхідності розробки стандартизованої мови запитів, проблему. Ця проблема виникає, коли кілька користувачів з різних комп'ютерів починають змінювати ту саму базу даних. Доти поки база даних відкрита «тільки для читання» особливих труднощів не виникають, але, як тільки декільком користувачам дозволяється модифікувати базу, виникають важко розв'язні конфлікти. Ці проблеми переборюються в рамках моделі бази даних типу «клієнт-сервер». При реалізації цієї моделі система управління базами даних розділяється на дві частини - «клієнт» і «сервер». Програма «клієнт» розміщається на користувальницькій машині й дозволяє формувати запити (як правило, мовою SQL), які по мережі передаються на спеціалізовану машину (часто теж називану «сервером»), де працює програма «сервер». У такий спосіб термін «сервер» іноді ставиться до комп'ютера, а іноді до програмного забезпечення.
Програма «сервер» обробляє запит, формує з бази даних необхідну вибірку записів і відсилає її програмі «клієнтові». Якщо користувач припускає змінювати інформацію в запитаній вибірці, доступ будь-якого іншого користувача для модифікації обраних записів блокується ("монопольне захоплення"). Якщо користувач запитує інформацію «тільки для читання», то доступ до обраних записів не обмежується ("колективне захоплення").

Основний механізм, що дозволяє уникнути конфліктів між користувачами, полягає в розбивці процесу обробки інформації на елементарні події – групи команд SQL, які можуть виконуватися (або не виконуватися) тільки всі разом. Такі групи команд називаються транзакціями. Транзакція починається щораз, коли на вхід «сервера» починають надходити команди SQL, якщо ніяка інша транзакція не є активною. Транзакція закінчується або командою внести зміни в базу даних, або відмовою від внесення змін («відкіт»). Якщо в процесі виконання команд виникає яка-небудь помилка, автоматично виконується «відкіт» і база даних залишається у вихідному стані [27, 32].

 

Питання для самоперевірки

 

1. Типи запитів до бази даних – запит на вибірку, підсумковий, перекреслений запити.

2. Призначення й принципи побудови запитів

3. Використання мови SQL для опису БД і маніпулювання даними в БД.

4. Поняття архітектура “клієнт – сервер”.

5. Поняття архітектура “файл – сервер”.

 

 



Поделиться:


Последнее изменение этой страницы: 2019-05-20; просмотров: 258; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.189.2.122 (0.023 с.)