Мова визначення даних

Інструкції SELECT, INSERT, DELETE, UPDATE, розглянуті раніше, призначені для обробки даних. У сукупності ці інструкції називаються мовою обробки даних, або DML (Data Manipulation Language). Інструкції DML можуть модифікувати інформацію, збережену в базі даних, але не можуть змінювати її структуру. Наприклад, жодна з цих інструкцій не дозволяє створювати і видаляти таблиці або стовпці.

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

• визначити структуру нової таблиці і створити її;

• видалити таблицю, яка більше не потрібна;

• змінити визначення існуючої таблиці;

• визначити віртуальну таблицю (або представлення) даних

(За допомогою інструкції CREATE VIEW, розглянутої раніше);

• забезпечити безпеку бази даних;

• створити індекс для прискорення доступу до таблиці;

• управляти фізичним розміщенням даних.

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

Ядро мови визначення даних утворюють три команди:

• CREATE (створити), що дозволяє визначити і створити об'єкт бази даних;

• DROP (видалити), що служить для видалення існуючого об'єкта бази даних;

• ALTER (змінити), за допомогою, якої можна змінити визначення об'єкта бази даних.

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

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

Схожі статті