Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OРГАНІЗАЦІЯ БАЗ ДАНИХ І ЗНАНЬ-ЛЕКЦІЯ.doc
Скачиваний:
0
Добавлен:
06.01.2020
Размер:
815.1 Кб
Скачать

Мови реляційних баз даних

1. Загальна характеристика

Для роботи з базами даних використовуються спеціальні мови, які загалом називаються мовами баз даних. Перші системи керування базами даних (СКБД) підтримували декілька спеціалізованих за своїми функціями мов. Набули поширення дві мови - мова визначення схеми БД (SDL - Schema Definition Language) та мова маніпулювання даними (DML - Data Manipulation Language ). SDL призначений головним чином для визначення логічної структури БД, тобто тієї структури БД, якою вона представляється користувачам. DML містить набір операторів маніпулювання даними, тобто операторів, що дозволяють вносити дані в БД, видаляти, модифікувати чи вибирати існуючі дані.

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

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

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

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

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

2. Типова організація сучасної скбд

Організація типової СКБД і склад її компонентів відповідає такому набору функцій:

  • управління даними у зовнішній пам'яті

  • управління буферами оперативної пам'яті

  • управління транзакціями

  • журналізація та відновлення БД після збоїв

  • підтримка мов БД

В сучасній реляційній СКБД можна виділити:

  • ядро СКБД

  • компілятор мови БД

  • підсистему підтримки часу виконання

  • набір утиліт

Ядро СКБД відповідає за управління даними у зовнішній пам'яті, управління буферами оперативної пам'яті, управління транзакціями та журналізацію.

Відповідно можна виділити такі компоненти ядра:

  • менеджер даних

  • менеджер буферів

  • менеджер транзакцій

  • менеджер журналу

Функції цих компонентів взаємопов'язані та для забезпечення коректної роботи СКБД всі компоненти повинні взаємодіяти по ретельно продуманим та провіреним протоколам. Ядро СКБД має власний інтерфейс, що не доступні користувачам напряму.

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

Нарешті, в окремі утиліти БД зазвичай виділяють такі процедури, які занадто складно виконувати за використанням мови БД, наприклад, "завантаження", збір статистики, глобальна перевірка цілісності БД і т.д. Утиліти програмуються за використанням інтерфейсу ядра БД, а іноді навіть з проникненням всередину ядра.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]