Ответ
DDL (Data Definition Language, язык определения данных) — это набор SQL-команд для создания, изменения и удаления структурных объектов базы данных (схемы), но не самих данных.
| Основные DDL-команды: | Команда | Назначение | Пример |
|---|---|---|---|
CREATE |
Создание нового объекта (таблицы, индекса, схемы). | CREATE TABLE users (id SERIAL PRIMARY KEY, name TEXT); |
|
ALTER |
Изменение структуры существующего объекта. | ALTER TABLE users ADD COLUMN email VARCHAR(255); |
|
DROP |
Полное удаление объекта из базы данных. | DROP TABLE users; |
|
TRUNCATE |
Быстрое удаление всех строк из таблицы (сбрасывает счетчики автоинкремента). | TRUNCATE TABLE log_entries; |
|
RENAME |
Переименование объекта. | ALTER TABLE users RENAME TO customers; |
Ключевые особенности для понимания:
- Работа с метаданными: DDL изменяет схему БД (какие таблицы есть, их столбцы, типы), в отличие от DML (Data Manipulation Language:
INSERT,UPDATE,DELETE,SELECT), который работает с данными внутри этих структур. - Неявный коммит: В большинстве СУБД выполнение DDL-операции автоматически завершает текущую транзакцию (происходит коммит). Ее нельзя откатить командой
ROLLBACK(зависит от СУБД). - Привилегии: Обычно выполнение DDL требует высоких прав доступа (например, роли
DBA).
Практическое значение для тестировщика: Понимание DDL необходимо для чтения скриптов миграции базы данных, проверки корректности развертывания новых версий приложения и анализа структуры БД при составлении сложных запросов.