Говорячи про DML, було встановлено, що ці оператори можуть маніпулювати з даними, збереженими в БД, однак не можуть змінити її структуру. Для зміни структури БД в SQL передбачений язик визначення даних, або DDL.
Звичайному користувачеві вкрай рідко доводиться створювати БД або таблиці усередині її. Традиційно він працює із уже готовою структурою, що вже розроблена й реалізована адміністратором БД. Проте, для повного розуміння особливостей роботи SQL на операторах DDL варто зупинитися досить докладно. За допомогою цих операторів можна:
n створити нову БД;
n визначити структуру нової таблиці й створити цю таблицю;
n видалити існуючу таблицю;
n змінити визначення існуючої таблиці;
n визначити подання даних;
n забезпечити умови безпеки БД;
n створити індекси для доступу до таблиць;
n управляти розміщенням даних на пристроях зберігання.
Оператори DDL дозволяють користувачеві не вникати в деталі зберігання інформації в БД на фізичному рівні, тому що оперують, наприклад, такими поняттями, як таблиці або поля. У той же час, оператори DDL мають можливість маніпуляції з фізичною пам'яттю.
Властиво DDL базується на трьох командах SQL:
■ CREATE - створити, що дозволяє визначити й створити об'єкт БД;
■ DROP - видалити, застосовуваний для видалення існуючого об'єкта даних;
■ ALTER - змінити, за допомогою якого можна змінити визначення об'єкта БД.
Використання команд DDL під час роботи дозволяє зробити структуру реляционной БД динамічної. Інакше кажучи, у СКБД можна створювати, видаляти або змінювати таблиці, одночасно із цим забезпечуючи доступ користувачам до даних. У свою чергу, це означає, що із часом БД може рости й змінюватися, а її експлуатація може тривати в той час, коли в БД додаються всі нові таблиці й додатки.
Оператори DDL у СКБД можна використати як в інтерактивному, так й у програмному SQL. Наприклад, якщо програмі або користувачеві потрібна таблиця для тимчасового зберігання результатів, то допускається створити цю таблицю, заповнити її інформацією, виконати необхідні маніпуляції з даними й потім видалити її. У серйозних СКБД за створення нових БД відповідає тільки адміністратор, хоча не виключена можливість того, що й окремим користувачам це може бути дозволено.
Методи створення БД, застосовувані у ведучих реляционных СКБД, мають ряд розходжень. Наприклад, в Microsoft SQL Server існує оператор CREATE DATABASE, що є частиною язика визначення даних і служить для створення БД. Відповідно, оператор DROP DATABASE видаляє існуючі БД. Ці оператори можна використати як в інтерактивному, так й у програмному SQL.
Більшість многопользовательских БД мають досить нескладну організацію фізичної пам'яті, що забезпечує підвищення її продуктивності. Наприклад, в Microsoft SQL Server адміністратор БД може за допомогою оператора CREATE DATABASE задати один або кілька іменованих файлів:
CREATE DATABASE <NAME_DATABASE>
ON <FILE1>, <FILE2>> ...
Підхід, використовуваний в SQL Server, дозволяє розподіляти вміст БД по декількох дискових томах. Наступним кроком, слідом за створенням порожній БД, є заповнення її таблицями.