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 informática para definir estructuras de datos , especialmente esquemas de bases de datos . Ejemplos comunes de declaraciones DDL incluyen , y .CREATEALTERDROP

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 escribía en una sintaxis de lenguaje que describía 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 utiliza en sentido genérico para referirse a cualquier lenguaje formal para describir estructuras de datos o información.

Muchos lenguajes de descripción de datos utilizan una sintaxis declarativa para definir columnas y tipos de datos. Sin embargo, el lenguaje de consulta estructurado (SQL) 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 DDL no sea un lenguaje separado.

La declaración CREATE en SQL crea un componente en un sistema de gestió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 CREATE TABLE AS SELECT (CTaS) de SQL. [5]

Una declaración DROP en SQL elimina un componente de un sistema de gestió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: