Lenguaje de definición de datos


En el contexto de SQL , la definición de datos o el lenguaje de descripción de datos ( DDL ) es una sintaxis para crear y modificar objetos de base de datos como tablas, índices y usuarios. Las declaraciones DDL son similares a un lenguaje de programación de computadoras para definir estructuras de datos , especialmente esquemas de bases de datos . Los ejemplos comunes de declaraciones DDL incluyen CREATE, ALTERy DROP.

El concepto de lenguaje de definición de datos y su nombre se introdujeron por primera vez en relación con el modelo de base de datos Codasyl , donde el esquema de la base de datos se escribió en una sintaxis de lenguaje que describe los registros , campos y conjuntos del modelo de datos del usuario . [1] Posteriormente se utilizó para referirse a un subconjunto del lenguaje de consulta estructurado (SQL) para declarar tablas , columnas, tipos de datos y restricciones . SQL-92 introdujo un lenguaje de manipulación de esquemas y tablas de información de esquemas para consultar esquemas. [2]Estas tablas de información se especificaron como SQL / Schemata en SQL: 2003 . El término DDL también se usa en un sentido genérico para referirse a cualquier lenguaje formal para describir datos o estructuras de información.

Muchos lenguajes de descripción de datos utilizan una sintaxis declarativa para definir columnas y tipos de datos. El lenguaje de consulta estructurado (SQL), sin embargo, utiliza una colección de verbos imperativos cuyo efecto es modificar el esquema de la base de datos agregando, cambiando o eliminando definiciones de tablas u otros elementos. Estas declaraciones se pueden mezclar libremente con otras declaraciones SQL, lo que hace que el DDL no sea un lenguaje separado.

La instrucción CREATE en SQL crea un componente en un sistema de administración de bases de datos relacionales (RDBMS). En la especificación SQL 1992, los tipos de componentes que se pueden crear son esquemas, tablas , vistas , dominios, juegos de caracteres , intercalaciones , traducciones y aserciones. [2] Muchas implementaciones amplían la sintaxis para permitir la creación de elementos adicionales, como índices y perfiles de usuario. Algunos sistemas, como PostgreSQL y SQL Server , permiten CREATE y otros comandos DDL dentro de una transacción de base de datos.y por lo tanto pueden revertirse . [3] [4]

Algunas formas de CREATE TABLE DDL pueden incorporar construcciones similares a DML ( lenguaje de manipulación de datos ), como la sintaxis de SQL CREATE TABLE AS SELECT (CTaS). [5]

Una declaración DROP en SQL elimina un componente de un sistema de administración de bases de datos relacionales (RDBMS). Los tipos de objetos que se pueden eliminar dependen del RDBMS que se esté utilizando, pero la mayoría admite la eliminación de tablas , usuarios y bases de datos . Algunos sistemas (como PostgreSQL ) permiten que DROP y otros comandos DDL ocurran dentro de una transacción y, por lo tanto, se reviertan . El uso típico es simplemente: