logo
Підручник МЕДИЧНА ІНФОРМАТИКА

Мовні засоби систем керування базами даних

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

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

Мова маніпулювання даними (ММД – Shame Manipulation Language) дозволяє запитувати передбачені в системі операції над даними з бази даних, тобто містить набір операторів маніпулювання даними, що дозволяє заносити дані, видаляти, модифікувати або вибирати їх.

В даний час існують численні приклади мов СУБД, що поєднують можливості опису даних і маніпулювання даними в єдиних синтаксичних рамках. Більш того, у сучасних СУБД звичайно підтримується єдина інтегрована мова, що містить усі необхідні засоби для роботи з базою даних (починаючи від її створення) і базовий користувальницький інтерфейс, що забезпечує роботу з базами даних. Найбільш популярним і стандартним для реляційних СУБД є мова SQL (Structured Query Language), розроблена фірмою IBM і реалізована в реляційній СУБД System R, а згодом і в комерційній системі DB2.

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

Прообраз мови виник у 1970 р. у лабораторії Санта-Тереза фірми IBM у рамках науково-дослідного проекту System R. Сьогодні – це фактично стандарт інтерфейсу із сучасними СУБД. Популярність SQL настільки велика, що розроблювачі нереляційних СУБД (наприклад, ADABAS), додають до своєї системи SQL-інтерфейс.

Мова SQL має офіційний стандарт – ANSI/ISO. Більшість розроблювачів дотримуються цього стандарту, однак часто розширюють його для реалізації нових можливостей обробки даних. SQL не є мовою програмування в традиційному розумінні, адже на ній пишуть не програми, а запити до баз даних. Тому ця мова декларативна, тобто з її допомогою можна сформулювати, що необхідно одержати, однак не можна вказати, як це варто зробити. Зокрема, на відміну від процедурних мов програмування (Сі, Паскаль), у мові SQL відсутні такі оператори, як if/then/else. Запит у мові SQL складається з одного або декількох операторів, розділених крапкою з комою. Найбільш важливі визначені в стандарті ANSI/ISO SQL. Кожна послідовність операторів мови SQL реалізує визначену дію над БД.

Повторюємо, що SQL – це мова запитів, тому на ній неможливо написати досить складні прикладні програми, що працюють з базою даних. Для цієї мети в сучасних СУБД використовують мова четвертого покоління (FGL – Forth Generation Language), що володіє основними можливостями процедурних мов третього покоління (Си, Паскаль), можливістю вмонтувати текст програми оператора SQL і володіє засобами керування інтерфейсом користувача (формами, меню, звітами тощо). Сьогодні FGL – це один із стандартів розробки програм-додатків, що працюють із БД.

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

Неповнота стандарту SQL–89 привела до появи в 1992 р. наступної версії мови SQL. SQL–92 вирішує практично всі необхідні проблеми: маніпулювання схемою бази даних, керування транзакціями і сесіями, динамічний SQL. У стандарті існують три рівні: базовий, проміжний і повний. Тільки останнім часом СУБД провідних виробників забезпечує сумісність з повним варіантом мови. Поява нових вимог користувачів до СУБД привели до того, що в даний час ведуться роботи з розробки SQL–3. Ця версія мови, мабуть, буде мати у своєму складі механізм тригерів, визначення довільного типу даних, серйозні об’єкти розширення. Поки ж найбільші розробники СУБД затягують розробку цього стандарту, удосконалюючи і розширюючи власні версії мови SQL.