Lenguaje de definición de datos


En el contexto de SQL , el lenguaje de definición de datos o descripción de datos ( DDL ) es una sintaxis para crear y modificar objetos de bases de datos como tablas, índices y usuarios. Las sentencias 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 instrucciones DDL incluyen CREATE, ALTERy DROP.

El concepto de lenguaje de definición de datos y su nombre se introdujo 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 de usuario . [1] Más tarde se usó 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 estructuras de información o datos.

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 de SQL, lo que hace que el DDL no sea un lenguaje separado.

La declaració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 , colaciones , 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 CREAR y otros comandos DDL dentro de una transacción de base de datos.y así 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 instrucció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 descartar dependen del RDBMS que se utilice, 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: