Язык определения данных
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
В контексте SQL . язык определения или описания данных ( DDL ) — это синтаксис для создания и изменения объектов базы данных, таких как таблицы, индексы и пользователи Операторы DDL подобны языку программирования для определения структур данных , особенно схем баз данных . Общие примеры операторов DDL включают в себя CREATE
, ALTER
, и DROP
. Если вы видите файл .ddl, это означает, что файл содержит инструкцию для создания таблицы. Oracle SQL Developer содержит возможность экспорта из ERD, созданного с помощью Data Modeler, в файл .sql или файл .ddl.
История
[ редактировать ]Понятие языка определения данных и его название было впервые введено в отношении модели базы данных Codasyl , где схема базы данных была написана в синтаксисе языка, описывающем записи , поля и наборы пользовательской модели данных . [1] Позже он использовался для обозначения подмножества языка структурированных запросов (SQL) для объявления таблиц , столбцов, типов данных и ограничений . SQL-92 представил язык манипулирования схемами и информационные таблицы схемы для запроса схем. [2] Эти информационные таблицы были указаны как SQL/Schemata в SQL:2003 . Термин DDL также используется в общем смысле для обозначения любого формального языка описания данных или информационных структур.
Язык структурированных запросов (SQL)
[ редактировать ]Многие языки описания данных используют декларативный синтаксис для определения столбцов и типов данных. Однако язык структурированных запросов (SQL) использует набор повелительных глаголов, действие которых заключается в изменении схемы базы данных путем добавления, изменения или удаления определений таблиц или других элементов. Эти операторы можно свободно смешивать с другими операторами SQL, что делает DDL не отдельным языком.
СОЗДАТЬ оператор
[ редактировать ]Команда создания используется для создания новой базы данных, таблицы, индекса или хранимой процедуры .
Инструкция CREATE в SQL создает компонент в системе управления реляционными базами данных (СУБД). В спецификации SQL 1992 типами компонентов, которые могут быть созданы, являются схемы, таблицы , представления , домены, наборы символов , параметры сортировки , переводы и утверждения. [2] Многие реализации расширяют синтаксис, позволяя создавать дополнительные элементы, такие как индексы и профили пользователей. Некоторые системы, такие как PostgreSQL и SQL Server , допускают CREATE и другие команды DDL внутри транзакции базы данных , поэтому их можно откатить . [3] [4]
Оператор CREATE TABLE
[ редактировать ]Наиболее часто используемой командой CREATE является команда CREATE TABLE . Типичное использование:
CREATE TABLE [table name] ( [column definitions] ) [table parameters]
Определения столбцов:
- Список, разделенный запятыми, состоящий из любого из следующих
- Определение столбца: [имя столбца] [тип данных] {NULL | NOT NULL} {параметры столбца}
- первичного ключа Определение : PRIMARY KEY ( [список столбцов, разделенных запятыми] )
- Ограничения: {CONSTRAINT} [определение ограничения]
- РСУБД Специальная функциональность
Пример инструкции для создания таблицы с именем «служащие» и несколькими столбцами:
CREATE TABLE employees (
id INTEGER PRIMARY KEY,
first_name VARCHAR(50) not null,
last_name VARCHAR(75) not null,
mid_name VARCHAR(50) not null,
dateofbirth DATE not null
);
Некоторые формы CREATE TABLE DDL могут включать в себя конструкции, подобные DML ( языку манипулирования данными ), например синтаксис CREATE TABLE AS SELECT (CTaS) SQL. [5]
заявление DROP
[ редактировать ]Инструкция DROP уничтожает существующую базу данных, таблицу, индекс или представление.
Инструкция DROP в SQL удаляет компонент из системы управления реляционными базами данных (СУБД). Типы объектов, которые можно удалить, зависят от того, какая СУБД используется, но большинство из них поддерживают удаление таблиц , пользователей и баз данных . Некоторые системы (например, PostgreSQL ) допускают выполнение DROP и других команд DDL внутри транзакции и , таким образом, их откат . Типичное использование просто:
DROP objecttype objectname.
Например, команда для удаления таблицы с именем «Сотрудники» :
DROP TABLE employees;
Оператор DROP отличается от операторов DELETE и TRUNCATE тем, что DELETE и TRUNCATE не удаляют саму таблицу. Например, оператор DELETE может удалить некоторые (или все) данные из таблицы, оставив при этом саму таблицу в базе данных, тогда как оператор DROP удаляет всю таблицу из базы данных.
Оператор ALTER
[ редактировать ]Инструкция ALTER изменяет существующий объект базы данных.
Оператор ALTER в SQL изменяет свойства объекта внутри системы управления реляционными базами данных (СУБД). Типы объектов, которые можно изменить, зависят от того, какая СУБД используется. Типичное использование:
ALTER objecttype objectname parameters.
Например, команда для добавления (а затем удаления) столбца с именем bubbles в существующую таблицу с именем Sink :
ALTER TABLE sink ADD bubbles INTEGER;
ALTER TABLE sink DROP COLUMN bubbles;
Оператор TRUNCATE
[ редактировать ]Оператор TRUNCATE используется для удаления всех данных из таблицы. Это намного быстрее, чем DELETE .
TRUNCATE TABLE table_name;
Заявления о ссылочной целостности
[ редактировать ]Другой тип предложения DDL в SQL используется для определения отношений ссылочной целостности , обычно реализуемых в виде тегов первичного ключа и внешнего ключа в некоторых столбцах таблиц. Эти два оператора могут быть включены в предложение CREATE TABLE или ALTER TABLE ;
Другие языки
[ редактировать ]- XML-схема — это пример DDL для XML .
- Схема JSON — это пример DDL для JSON .
- Схема DFDL — это пример DDL, который может описывать множество текстовых и двоичных форматов.
См. также
[ редактировать ]- Язык управления данными
- Язык манипулирования данными
- Язык запроса данных
- Выбрать (SQL)
- Вставка (SQL)
- Обновление (SQL)
- Удалить (SQL)
- Усечь (SQL)
Ссылки
[ редактировать ]- ^ Олле, Т. Уильям (1978). Подход Codasyl к управлению базами данных . Уайли. ISBN 0-471-99579-7 .
- ^ Jump up to: а б «Информационные технологии — язык баз данных SQL» . SQL92 . Карнеги-Меллон . Проверено 12 ноября 2018 г.
- ^ Лауденшлагер, Дуглас; Миленер, Джин; Гайер, Крейг; Байэм, Рик. «Транзакции (Transact-SQL)» . Документы Майкрософт . Майкрософт . Проверено 12 ноября 2018 г.
- ^ «Транзакции PostgreSQL» . Документация PostgreSQL 8.3 . ПостгреSQL. 7 февраля 2013 года . Проверено 12 ноября 2018 г.
- ^
Аллен, Грант (2010). Полное руководство по SQLite . Апресспод. Майк Оуэнс (2-е изд.). Апресс. стр. 90–91. ISBN 9781430232254 . Проверено 2 октября 2012 г.
Оператор создания таблицы имеет специальный синтаксис для создания таблиц из операторов выбора . [...]: [...] создать столовые продукты2 как выбранные * из продуктов; [...] Многие другие базы данных называют этот подход CTaS , что означает «Создать таблицу как выбор», и эта фраза нередка среди пользователей SQLite.
Внешние ссылки
[ редактировать ]- Столбец Oracle ALTER TABLE MODIFY. Архивировано 21 апреля 2021 г. на Wayback Machine.
- Команды DDL в Oracle. Архивировано 21 апреля 2021 г. на Wayback Machine.