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