- определить структуру новой таблицы и создать её;
- удалить таблицу, которая больше не нужна;
- изменить определение существующей таблицы;
- определить виртуальную таблицу (или представление) данных;
- обеспечить безопасность базы данных;
- создать индекс для ускорения доступа к таблице;
- управлять физическим размещением данных и т.д.
В большинстве случаев инструкции DDL обеспечивают высокий уровень доступа к данным и позволяют пользователю не вникать в детали хранения информации в базе данных на физическом уровне. Они оперируют абстрактными объектами базы данных, такими как таблицы и столбцы. Однако DDL не может совершенно не затрагивать вопросов, связанных с физической памятью. Инструкции и предложения DDL, управляющие физической памятью, могут быть разными в различных СУБД.
Ядро языка определения данных образуют три команды:
- CREATE (создать), позволяющая определить и создать объект базы данных;
- DROP (удалить), служащая для удаления существующего объекта базы данных;
- ALTER (изменить), с помощью, которой можно изменить определение объекта базы данных.
Все основные реляционные СУБД позволяют использовать три указанные команды DDL. Таким образом, структура реляционной базы данных является динамической. Например, СУБД может создавать, удалять или изменять таблицы, одновременно с этим обеспечивая доступ пользователям к базе данных. Это – одно из главных преимуществ реляционных баз данных по сравнению с более ранними системами, в которых изменять структуру базы данных можно было только после прекращения работы СУБД. Это означает, что с течением времени база данных может расти и изменяться. Ее промышленная эксплуатация может продолжаться в то время, когда в базу данных добавляются все новые таблицы и модули.
Хотя DDL и DML являются двумя отдельными частями SQL, в большинстве реляционных СУБД такое разделение существует лишь на абстрактном уровне. Обычно инструкции DDL и DML в СУБД абсолютно равноправны, и их можно произвольно чередовать как в интерактивном, так и в программном SQL. Если программе или пользователю требуется таблица для временного хранения результатов, они могут ее создать, заполнить, проделать с данными необходимую работу и затем удалить.
Список основных DDL операторов, применяемых в Oracle,приведен в таблице:
Таблица
Инструкция
Назначение
ALTER RESOURCE COST
изменяет формулу, по которой вычисляется общая стоимость ресурсов сеанса
ALTER SYSTEM
производит динамическое изменение экземпляра БД
ASSOCIATE STATISTICS
определяет, как будет вычисляться статистика для указанных объектов БД
CALL
исполнение хранимого процесса или функции PL/SQL
COMMENT ON
добавляет комментарий для таблицы, представления, моментальной копии или столбца словаря данных
CREATE | ALTER | DROP
CLUSTER
FUNCTION
INDEX
JAVA
MATERIALIZED VIEW
OPERATOR
PACKAGE
PROCEDURE
PROFILE
ROLE
SNAPSHOT
SEQUENCE
TABLE
TABLE SPACE
TRIGGER
TYPE
USER
VIEW
Создает, изменяет или удаляет:
кластер – объект схемы, который содержит одну или несколько таблиц, имеющих несколько общих столбцов
функцию
индекс
объект, содержащий исходный текст, класс или ресурс Java
материализованное представление
оператор
пакет
процедуру
профиль
роль
моментальную копию
последовательность
таблицу
табличное пространство
триггер
тип
пользователя
представление
CREATE | DROP
CONTEXT
DATABASE LINK
DIMENSION
DIRECTORY
LIBRARY
INDEXTYPE
SYNONYM
Создает или удаляет
пространство имен для контекста
ссылку на удаленную БД
измерение
объект каталога
объект схемы, сопоставленный разделяемой библиотеке ОС)
индексный тип
общий или частный синоним
CREATE
CONTROLFILE
TEMPORARY TABLESPACE
SCHEMA
Создает:
управляющий файл
временное табличное пространство
несколько таблиц и (или) представлений и выдает права на них в одной инструкции
CREATE | ALTER DATABASE
Создает и изменяет БД
RENAME
Изменяет имя существующей таблицы, представления, последовательности или частного синонима