Язык определения данных - Википедия - Data definition language

В контексте SQL, определение данных или же язык описания данных (DDL) - это синтаксис для создания и изменения объектов базы данных, таких как таблицы, индексы и пользователи. Операторы DDL похожи на компьютерные язык программирования для определения структуры данных, особенно схемы базы данных. Общие примеры операторов DDL включают СОЗДАЙТЕ, ИЗМЕНИТЬ, и УРОНИТЬ.

История

Концепция языка определения данных и его название были впервые введены в связи с Codasyl модель базы данных, где схема база данных был написан в синтаксис языка описывая записи, поля, и наборы пользователя модель данных.[1] Позже он использовался для обозначения подмножества Структурированный язык запросов (SQL) для объявления столы, столбцы, типы данных и ограничения. SQL-92 представил язык манипулирования схемой и информационные таблицы схемы для запросов схем.[2] Эти информационные таблицы были указаны как SQL / схемы в SQL: 2003. Термин DDL также используется в общем смысле для обозначения любых формальный язык для описания данных или информационных структур.

Язык структурированных запросов (SQL)

Многие языки описания данных используют декларативный синтаксис для определения столбцов и типов данных. Однако в языке структурированных запросов (SQL) используется набор императивных команд, действие которых заключается в изменении схемы базы данных путем добавления, изменения или удаления определений таблиц или других элементов. Эти операторы можно свободно смешивать с другими операторами SQL, что делает DDL не отдельным языком.

CREATE заявление

В Создайте команда используется для создания новой базы данных, таблицы, индекса или хранимая процедура.

В СОЗДАЙТЕ заявление в SQL создает компонент в система управления реляционной базой данных (СУБД). В спецификации SQL 1992 типы компонентов, которые могут быть созданы, являются схемами, столы, взгляды, домены, наборы символов, сопоставления, переводы и утверждения.[2] Многие реализации расширяют синтаксис, позволяя создавать дополнительные элементы, такие как индексы и профили пользователей. Некоторые системы, такие как PostgreSQL и SQL Server, позволять СОЗДАЙТЕ, и другие команды DDL внутри транзакция базы данных и поэтому они могут быть откат.[3][4]

Оператор CREATE TABLE

Обычно используемый СОЗДАЙТЕ команда - это СОЗДАТЬ ТАБЛИЦУ команда. Типичное использование:

СОЗДАТЬ ТАБЛИЦУ [название таблицы] ( [определения столбцов] ) [параметры таблицы]

Определения столбцов:

  • Список, разделенный запятыми, состоящий из любого из следующих
  • Определение столбца: [название столбца] [тип данных] {NULL | НЕ НОЛЬ} {параметры столбца}
  • Первичный ключ определение: ПЕРВИЧНЫЙ КЛЮЧ ( [список столбцов, разделенных запятыми] )
  • Ограничения: {ОГРАНИЧЕНИЕ} [определение ограничения]
  • СУБД специфическая функциональность

Пример инструкции для создания таблицы с именем сотрудники с несколькими столбцами:

СОЗДАЙТЕ СТОЛ сотрудники (    я бы            ЦЕЛОЕ       НАЧАЛЬНЫЙ КЛЮЧ,    имя    VARCHAR(50)   нет ноль,    фамилия     VARCHAR(75)   нет ноль,    имя         VARCHAR(50)   нет ноль,    Дата рождения   ДАТА          нет ноль);

Некоторые формы СОЗДАТЬ ТАБЛИЦУ DDL может включать DML (язык обработки данных ) -подобные конструкции, такие как СОЗДАТЬ ТАБЛИЦУ КАК ВЫБРАТЬ (CTaS) синтаксис SQL.[5]

Заявление DROP

В УРОНИТЬ Оператор уничтожает существующую базу данных, таблицу, индекс или представление.

А УРОНИТЬ заявление в SQL удаляет компонент из система управления реляционной базой данных (СУБД). Типы удаляемых объектов зависят от того, какая СУБД используется, но большинство из них поддерживают удаление столы, пользователи, и базы данных. Некоторые системы (например, PostgreSQL ) позволяют DROP и другим командам DDL выполняться внутри сделка и таким образом быть откат. Типичное использование просто:

УРОНИТЬ тип объекта имя объекта.

Например, команда для удаления таблицы с именем сотрудники является:

Сотрудники DROP TABLE;

В УРОНИТЬ заявление отличается от УДАЛИТЬ и TRUNCATE заявления, в которых УДАЛИТЬ и TRUNCATE не снимайте сам стол. Например, УДАЛИТЬ оператор может удалить некоторые (или все) данные из таблицы, оставив саму таблицу в базе данных, тогда как УРОНИТЬ оператор удаляет всю таблицу из базы данных.

Инструкция ALTER

В ИЗМЕНИТЬ Оператор изменяет существующий объект базы данных.

An ИЗМЕНИТЬ заявление в SQL изменяет свойства объекта внутри система управления реляционной базой данных (СУБД). Типы объектов, которые можно изменить, зависят от того, какая СУБД используется. Типичное использование:

ИЗМЕНИТЬ тип объекта имя объекта параметры.

Например, команда для добавления (а затем удаления) столбца с именем пузыри для существующей таблицы с именем раковина является:

ИЗМЕНИТЬ СТОЛ раковина ДОБАВИТЬ пузыри ЦЕЛОЕ;ИЗМЕНИТЬ СТОЛ раковина УРОНИТЬ СТОЛБЕЦ пузыри;

Инструкция TRUNCATE

В TRUNCATE оператор используется для удаления всех данных из таблицы. Это намного быстрее, чем УДАЛИТЬ.

TRUNCATE СТОЛ table_name;

Заявления о ссылочной целостности

Другой тип предложения DDL в SQL используется для определения ссылочная целостность отношения, обычно реализуемые как первичный ключ и иностранный ключ теги в некоторых столбцах таблиц. Эти два утверждения могут быть включены в СОЗДАТЬ ТАБЛИЦУ или ИЗМЕНИТЬ ТАБЛИЦУ приговор;

Другие языки

Смотрите также

Рекомендации

  1. ^ Олле, Т. Уильям (1978). Подход Codasyl к управлению базами данных. Вайли. ISBN  0-471-99579-7.
  2. ^ а б «Информационные технологии - язык баз данных SQL». SQL92. Университет Карнеги-Меллона. Получено 12 ноября 2018.
  3. ^ Лауденшлагер, Дуглас; Миленер, Джин; Гайер, Крейг; Байхэм, Рик. «Транзакции (Transact-SQL)». Документы Microsoft. Microsoft. Получено 12 ноября 2018.
  4. ^ «Транзакции PostgreSQL». Документация PostgreSQL 8.3. PostgreSQL. Получено 12 ноября 2018.
  5. ^ Аллен, Грант (2010). Полное руководство по SQLite. Apresspod. Майк Оуэнс (2-е изд.). Апресс. С. 90–91. ISBN  9781430232254. Получено 2012-10-02. В создать таблицу оператор имеет специальный синтаксис для создания таблиц из Выбрать заявления. [...]: [...] создать table food2 как select * from foods; [...] Многие другие базы данных называют этот подход CTaS, что расшифровывается как Create Table as Select, и эта фраза не редкость среди пользователей SQLite.

внешняя ссылка