logo search
rektorska_pi

9. Мова маніпулювання даними для реляційної моделі.

Будь-яка мова роботи з базами даних повинна надавати користувачеві

наступні можливості:

• створювати бази даних і таблиці з повним описом їх структури;

• виконувати основні операції маніпулювання даними, такі як вставка,

модифікація і видалення даних з таблиць;

• виконувати прості і складні запити.

Крім того, мова роботи з базами даних повинна вирішувати всі зазначені

вище завдання при мінімальних зусиллях з боку користувача, а структура і синтаксис її команд повинні бути досить прості і доступні для вивчення. І, нарешті, вона повинна бути універсальною, тобто відповідати деякому

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

Structured Query Language — це мова структурованих запитів.

SQL є інформаційно-логічною мовою, а не мовою програмування!

SQL є прикладом мови перетворення даних, або ж мови, призначеної для

роботи з таблицями з метою перетворення вхідних даних до необхідного

вихідного виду. Мова SQL, яка визначений стандартом ISO, має два основних компоненти:

• мова DDL (Data Definition Language), призначена для визначення структур бази даних і управління доступом до даних;

• мова DML (Data Manipulation Language), призначена для вибірки та

оновлення даних.

До появи стандарту SQL3 мову SQL включала тільки команди визначення та маніпулювання даними, у ній відсутні будь-які команди управління ходом обчислень. Іншими словами, в цій мові не було команд IF ... THEN ... ELSE, GO TO, DO ... WHILE і будь-яких інших, призначених для управління ходом обчислювального процесу. Подібні завдання повинні були вирішуватися програмним шляхом (за допомогою мов програмування або керування завданнями) або інтерактивно (в результаті дій, які виконуються самим користувачем). Унаслідок такої незавершеності (з точки зору організації обчислювального процесу) мова SQL могла використовуватися двома способами. Перший передбачав інтерактивну роботу, яка полягає у введенні користувачем з терміналу окремих операторів SQL. Другий полягав у впровадженні операторів SQL в програми на процедурних мовах.

Мова SQL відносно простий у вивченні.

• Це непроцедурна мова, тому в ній необхідно вказувати, яка інформація

повинна бути отримана, а не як її можна отримати. Інакше кажучи, мова

SQL не вимагає вказівки методів доступу до даних;

• Як і більшість сучасних мов, SQL підтримує вільнийформат запису

операторів. Це означає, що при введенні окремі елементи операторів не

пов'язані з фіксованими позиціями на екрані;

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

собою звичайні слова англійської мови, такі як CREATE TABLE

(Створити таблицю), INSERT (Вставити), SELECT (Вибрати).

• Мова SQL може використовуватися широким колом користувачів,

включаючи адміністраторів баз даних (АБД), керівний персонал компанії,

прикладних програмістів і безліч інших кінцевих користувачів різних

категорій.

На даний час для мови SQL існують міжнародні стандарти, які формально

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

Інші мови

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

Трансформаційні мови є класом непроцедурних мов, які використовують

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

Графічні мови надають користувачеві схему або інше графічне

відображення структури відношень. Користувач створює якийсь зразок

бажаного результату, і система повертає затребувані дані в зазначеному форматі.

Прикладом подібного мови є мова QBE (Query-By-Example).

Ще однією категорією мов є мови четвертого покоління (Fourth-Generation Language - 4GL), які дозволяють створювати повністю готове і відповідне вимогам замовника програму за допомогою обмеженого набору команд і в той же час надають дружнє по відношенню до користувачасередовище розробки, найчастіше побудовану на використанні команд меню. У деяких системах використовуються так само певні різновиди природної мови, тобто обмеженою версією звичайної англійської мови, яку іноді називають мовою п'ятого

покоління (Fifth-Generation Language - 5GL). Однак розробки проектів подібних ов здебільшого все ще знаходяться на ранній стадії розвитку