Что такое DDL в контексте баз данных?

«Что такое DDL в контексте баз данных?» — вопрос из категории Базы данных, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

DDL (Data Definition Language) — это подмножество языка SQL, предназначенное для определения и управления структурой объектов базы данных (схемой). Операции DDL работают с метаданными.

Основные команды DDL:

Команда Назначение Пример
CREATE Создание нового объекта (таблицы, индекса, представления). CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(100));
ALTER Изменение структуры существующего объекта (добавление/удаление столбца, изменение типа). ALTER TABLE users ADD COLUMN email VARCHAR(255);
DROP Полное удаление объекта из базы данных. DROP TABLE users;
TRUNCATE Быстрое удаление всех строк из таблицы. Сбрасывает идентификаторы, обычно не логируется построчно. TRUNCATE TABLE logs;
RENAME Переименование объекта. RENAME TABLE old_name TO new_name;

Важные особенности DDL:

  • В большинстве СУБД операции DDL выполняются в неявной транзакции и сразу фиксируются (COMMIT). Их нельзя откатить в стандартном режиме.
  • DDL-операции часто требуют эксклюзивных блокировок на метаданные, что может влиять на доступность объекта для других операций.
  • DDL определяет каркас данных, в то время как DML (Data Manipulation Language — INSERT, UPDATE, DELETE) работает с самими данными внутри этой структуры.