В контексте SQL, определение данных или язык описания данных (DDL ) - это синтаксис для создания и изменения объектов базы данных, таких как таблицы, индексы и пользователи. Операторы DDL подобны компьютерному языку программирования для определения структур данных, особенно схем базы данных. Общие примеры операторов DDL включают в себя CREATE
, ALTER
и DROP
.
Концепция языка определения данных и его названия впервые были введены в связи с моделью базы данных Codasyl, где схема база данных была написана с использованием синтаксиса языка , описывающего записи, поля и наборы пользователя модель данных. Позже он использовался для обозначения подмножества языка структурированных запросов (SQL) для объявления таблиц, столбцов, типов данных и ограничений. SQL-92 представил язык управления схемой и таблицы информации схемы для запросов схем. Эти информационные таблицы были указаны как SQL / Schemata в SQL: 2003. Термин DDL также используется в общем смысле для обозначения любого формального языка для описания данных или информационных структур.
Многие языки описания данных используют декларативный синтаксис для определения столбцов и типов данных. Однако в языке структурированных запросов (SQL) используется набор императивных команд, действие которых заключается в изменении схемы базы данных путем добавления, изменения или удаления определений таблиц или других элементов. Эти операторы можно свободно смешивать с другими операторами SQL, что делает DDL не отдельным языком.
Команда create используется для создания новой базы данных, таблицы, индекса или хранимой процедуры.
Оператор CREATE в SQL создает компонент в системе управления реляционными базами данных (RDBMS). В спецификации SQL 1992, типы компонентов, которые могут быть созданы, включают схемы, таблицы, представления, домены, наборы символов, сопоставления <48.>, переводы и утверждения. Многие реализации расширяют синтаксис, позволяя создавать дополнительные элементы, такие как индексы и профили пользователей. Некоторые системы, такие как PostgreSQL и SQL Server, разрешают CREATE и другие команды DDL внутри транзакции базы данных, и поэтому они могут быть отменены.
Обычно используемой командой CREATE является команда CREATE TABLE. Типичное использование:
CREATE TABLE [имя таблицы] ([определения столбцов]) [параметры таблицы]
Определения столбцов:
Пример оператора для создания таблицы с именем employee с несколькими столбцами:
CREATE TABLE employee (id INTEGER PRIMARY KEY, first_name VARCHAR (50) not null, last_name VARCHAR (75) not null, fname VARCHAR ( 50) не null, dateofbirth DATE не null);
Некоторые формы CREATE TABLE DDL могут включать в себя конструкции, подобные DML (язык манипулирования данными ), такие как синтаксис CREATE TABLE AS SELECT (CTaS) SQL.
Оператор DROP уничтожает существующую базу данных, таблицу, индекс или представление.
Оператор DROP в SQL удаляет компонент из системы управления реляционными базами данных (RDBMS). Типы удаляемых объектов зависят от того, какая СУБД используется, но большинство из них поддерживает удаление таблиц и баз данных. Некоторые системы (такие как PostgreSQL ) позволяют выполнять DROP и другие команды DDL внутри транзакции и, таким образом, откатываются. Типичное использование:
DROP тип объекта имя объекта.
Например, команда для удаления таблицы с именем employee :
DROP TABLE employee;
Оператор DROP отличается от операторов DELETE и TRUNCATE тем, что DELETE и TRUNCATE не удаляют саму таблицу. Например, оператор DELETE может удалить некоторые (или все) данные из таблицы, оставив при этом саму таблицу в базе данных, тогда как оператор DROP удаляет всю таблицу из базы данных.
Оператор ALTER изменяет существующий объект базы данных.
Оператор ALTER в SQL изменяет свойства объекта внутри системы управления реляционными базами данных (RDBMS). Типы объектов, которые можно изменить, зависят от того, какая СУБД используется. Типичное использование:
ALTER objecttype, параметры имени объекта.
Например, команда для добавления (затем удаления) столбца с именем пузырьки для существующей таблицы с именем сток :
ALTER TABLE приемник ДОБАВИТЬ пузырьки INTEGER ; ALTER TABLE раковина DROP COLUMN пузыри;
Оператор TRUNCATE используется для удаления всех данных из таблицы. Это намного быстрее, чем DELETE.
TRUNCATE TABLE имя_таблицы;
Другой тип предложения DDL в SQL используется для определения отношений ссылочной целостности, обычно реализуемых как первичный ключ и внешний ключ теги в некоторых столбцах таблиц. Эти два оператора могут быть включены в предложение CREATE TABLE или ALTER TABLE;