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 más comunes de instrucciones DDL incluyen CREATE
, ALTER
y DROP
.
Historia
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.
Lenguaje de consulta estructurado (SQL)
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.
Declaración CREATE
El comando de creación se utiliza para establecer una nueva base de datos, tabla, índice o procedimiento almacenado .
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]
Sentencia CREATE TABLE
Un comando CREATE de uso común es el comando CREATE TABLE . El uso típico es:
CREAR TABLA [nombre de la tabla] ( [definiciones de columna] ) [parámetros de la tabla]
Las definiciones de columna son:
- Una lista separada por comas que consta de cualquiera de los siguientes
- Definición de columna: [nombre de columna] [tipo de datos] {NULL | NOT NULL} {opciones de columna}
- Definición de clave principal : PRIMARY KEY ( [lista de columnas separadas por comas] )
- Restricciones: {CONSTRAINT} [definición de restricción]
- Funcionalidad específica de RDBMS
Una declaración de ejemplo para crear una tabla llamada empleados con algunas columnas es:
CREATE TABLE empleados ( id INTEGER PRIMARY KEY , first_name VARCHAR ( 50 ) no nulo , last_name VARCHAR ( 75 ) no nulo , fname VARCHAR ( 50 ) no nulo , dateofbirth DATE no nulo );
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]
Declaración DROP
La instrucción DROP destruye una base de datos, una tabla, un índice o una vista existentes.
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:
DROP tipoobjeto objectname .
Por ejemplo, el comando para eliminar una tabla llamada empleados es:
Empleados de DROP TABLE;
La instrucción DROP es distinta de las instrucciones DELETE y TRUNCATE , en que DELETE y TRUNCATE no eliminan la tabla en sí. Por ejemplo, una instrucción DELETE puede eliminar algunos (o todos) datos de una tabla mientras deja la tabla en la base de datos, mientras que una instrucción DROP elimina toda la tabla de la base de datos.
Declaración ALTER
La instrucción ALTER modifica un objeto de base de datos existente.
Una instrucción ALTER en SQL cambia las propiedades de un objeto dentro de un sistema de administración de base de datos relacional (RDBMS). Los tipos de objetos que se pueden modificar dependen de qué RDBMS se esté utilizando. El uso típico es:
ALTER OBJECTTYPE ObjectName parámetros .
Por ejemplo, el comando para agregar (luego eliminar) una columna denominada burbujas para una tabla existente denominada sumidero es:
ALTER TABLE fregadero AGREGAR burbujas INTEGER ; ALTER TABLE fregadero DROP COLUMN burbujas ;
Declaración TRUNCATE
La sentencia TRUNCATE se utiliza para eliminar todos los datos de una tabla. Es mucho más rápido que ELIMINAR .
TRUNCATE TABLE nombre_tabla ;
Declaraciones de integridad referencial
Otro tipo de oración DDL en SQL se usa para definir relaciones de integridad referencial , generalmente implementadas como etiquetas de clave primaria y clave externa en algunas columnas de las tablas. Estas dos sentencias se pueden incluir en una sentencia CREATE TABLE o ALTER TABLE ;
Otros idiomas
- XML Schema es un ejemplo de DDL para XML .
- JSON Schema es un ejemplo de DDL para JSON .
Ver también
- Lenguaje de control de datos
- Lenguaje de manipulación de datos
- Lenguaje de consulta de datos
- Seleccionar (SQL)
- Insertar (SQL)
- Actualización (SQL)
- Eliminar (SQL)
- Truncar (SQL)
Referencias
- ^ Olle, T. William (1978). El enfoque de Codasyl para la gestión de bases de datos . Wiley. ISBN 0-471-99579-7.
- ^ a b "Tecnología de la información - Lenguaje de base de datos SQL" . SQL92 . Carnegie Mellon . Consultado el 12 de noviembre de 2018 .
- ^ Laudenschlager, Douglas; Milener, Gene; Guyer, Craig; Byham, Rick. "Transacciones (Transact-SQL)" . Microsoft Docs . Microsoft . Consultado el 12 de noviembre de 2018 .
- ^ "Transacciones PostgreSQL" . Documentación de PostgreSQL 8.3 . PostgreSQL . Consultado el 12 de noviembre de 2018 .
- ^ Allen, Grant (2010). La guía definitiva de SQLite . Apresspod. Mike Owens (2 ed.). Presione. págs. 90–91. ISBN 9781430232254. Consultado el 2 de octubre de 2012 .
La declaración de creación de tabla tiene una sintaxis especial para crear tablas a partir de declaraciones de selección . [...]: [...] crear alimentos de mesa2 como selectos * de los alimentos; [...] Muchas otras bases de datos se refieren a este enfoque como CTaS , que significa Create Table as Select, y esa frase no es infrecuente entre los usuarios de SQLite.
enlaces externos
- Columna Oracle ALTER TABLE MODIFY
- Comandos DDL en Oracle