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

За класифікацією амер. Комітетом CODASYL:

Мовні засоби:

-ІНШІ мовні засоби

-МОВА спілкування з БД:

--мова маніпулювання даними(DML)

--мова запитів (DQL)

--мова ведення діалогу

-МОВА опису даних

--м оп зовнішніх даних

--м оп бд (DDL)

---м оп схем

---м оп під схем

---м.оп. зберігання даних

АБД обов'язково включає до свого складу мовні засоби

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

Мовні засоби СКБД складаються з двох частин: мови опису (визначення) даних (DDL) і мови маніпулювання даними (DML) та мови запитів даних (DQL).

Мова DDL— це мова описового характеру, яка дозволяє описати сутності, що зберігаються в БД, та зв'язки між ними. Результатом компіляції DDL є набір таблиць, де зберігаються файли; він має назву системного каталогу. У ньому інтегровані метадані, тобто дані, що описують об'єкти БД, а також спрощують спосіб доступу до них і управління ними.

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

Мова DML— це мова, оператори якої виконують основні операції маніпулювання та управління даними БД. До цих операцій належать такі: вставка в БД нових даних, модифікація даних БД, вилучення даних з БД.

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

Мова DQL— це мова запитів до бази даних, яка дозволяє виконувати вибірки необхідних даних.

Мови DML і DQL можуть бути процедурними і непроцедурними. Процедурна мова дозволяє повідомити системі, які дані необхідні, і точно вказати, як їх необхідно отримати. Для ієрархічних і мережевих СКБД властивіша процедурна мова, для використання якої користувачу потрібен посередиик-програміст.

Непроцедурна мова дає змогу вказувати системі лише які дані потрібні, незнаючи, як їх необхідно отримувати. Непроцедурна мова називається ще декларативною мовою. Реляційні СКБД містять непроцедурні мови. Найчастіше це мова структурова-них запитів SQL або мова запитів за зразком QBE.

Мова може бути базовою чи автономною. В деяких СКБД передбачено можливість вмонтування операторів підмови в програми, написані на таких мовах програмування високого рівня, як COBOL, Fortran, Pascal, Ada, С. У такому разі мова високого рівня називається базовою мовою (host language).

Системи, що вживають базову мову, називають відкритими. Автономна — це власна мова СКБД, яка дає змогу виконувати різні операції з даними. Системи з власною мовою називають закритими.

У сучасних СКБД для спрощення процедур пошуку даних у БД передбачено мову запитів. Найпоширенішими мовами запитів є SQL і QBE.

Мова запитів SQL(Structured English Query Language — структурована англійська мова запитів) була створена фірмою IBM у рамках роботи над проектом побудови системи управління реляційними базами даних на початку 70-х років. Американський національний інститут стандартів (ANSI) поклав цю мову в основу стандарту мов реляційних баз даних, прийнятого Міжнародною організацією стандартів (ISO). Ядром існуючого стандарту SQL-86, який часто називають SQL-2 чи SQL-92, є функції, реалізовані практично в усіх відомих комерційних реалізаціях мови, а повний стандарт вміщує такі вдосконалення, які деякі розробники муситимуть ще реалізувати.

Мова запитів QBE (Query By Example) — це графічна мова реалізації запитів за зразком у вигляді таблиць. Для визначення запиту до БД користувач повинен заповнити надану системою таблицю QBE і визначити в ній критерії пошуку та вибору даних.


Покоління СКБД.

На сьогодні відомо три покоління СКБД.

Перше покоління — це системи на основі інвертованих списків, єрархічних та мережевих моделей даних. Ці СКБД використовувались на машинах типу ІВМ 360. СКБД першого покоління не мали стандарту на зовнішній інтерфейс, засобів автоматизації програмування, були досить складними з погляду проектування і дуже дорогими. Але ці системи виявились найбільш довговічними.

Типовими представниками першого покоління СКБД є: система Adabas (1969 р.) на основі інвертованих списків фірми Software AG, єрархічна СКБД IMS (1968 р.) фірми ІВМ, мережева система IDMS (1971 р.) фірми Cullinet Software.

Друге покоління — це персональні та багатокористувацькі реляційні СКБД. Персональні СКБД надають можливість розробки персональних БД і недорогих додатків. Персональні СКБД можуть бути використаними для розробки клієнтської частини у багатокористувацьких системах. Прикладом персональних СКБД є такі системи: Clipper, dBase, Access, Visual FохPrо. Багатокористувацькі СКБД включають сервер БД і клієнтську частину; як правило, можуть працювати в неоднорідному обчислювальному середовищі (з різними типами ЕОМ та операційними системами).

Прикладом багатокористувацьких СКБД є такі системи: Oracle, Microsoft SQL Server.

Реляційні СКБД найпопулярніші на сьогодні. Вони широко представлені на ринку програмних засобів і найчастіше використовуються на практиці.

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

Об'єктно орієнтовані бази даних (ООБД) — це системи третього покоління. Інформаційні об'єкти, що зберігаються в ООБД, належать до певних класів, а зв'язки між класами встановлюються за допомогою властивостей і методів класу. Основні властивості об'єктно орієнтованих БД такі:

1. Абстракція. Кожен об'єкт, що зберігається в БД, є членом якогось класу.

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

3. Успадкування (одиночне чи множинне). Клас визначається як частина ієрархії класів. Кожен клас більш низького рівня успадковує властивості та методи вищого за рівнем ієрархії класу (батька), крім випадків, коли батьківські властивості оголошуються неуспадковуючими чи змінені новим визначенням.

4. Поліморфізм. Декілька класів можуть мати імена методів і властивостей, що збігаються, навіть якщо вони вважаються різними.

5. Повідомлення. Взаємодія з об'єктами виконується шляхом посилання повідомлень з можливістю отримання відповіді.

Модель ООБД перебуває на більш високому рівні абстракції, ніж реляційні чи мережеві БД. Тому в центрі проектування знаходяться не структури даних, а процедури (методи).