Lenguaje de definición de datos

Sintaxis para definir estructuras de datos
Cómo guardar un archivo ddl en Oracle SQL Developer
Cómo guardar un archivo ddl en Oracle SQL Developer

En el contexto de SQL , el lenguaje de definición de datos o de 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 . Algunos ejemplos comunes de sentencias DDL son CREATE, ALTER, y DROP. Si ve un archivo .ddl, significa que el archivo contiene una sentencia para crear una tabla. Oracle SQL Developer contiene la capacidad de exportar desde un ERD generado con Data Modeler a un archivo .sql o a un archivo .ddl.

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] Más tarde 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 un sentido genérico para referirse a cualquier lenguaje formal para describir estructuras de datos o 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. 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 instrucciones se pueden combinar libremente con otras instrucciones SQL, lo que hace que el DDL no sea un lenguaje independiente.

Declaración CREATE

El comando de creación se utiliza para establecer una nueva base de datos, tabla, índice o procedimiento almacenado .

La sentencia 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, conjuntos de caracteres , intercalaciones , traducciones y aserciones. [2] Muchas implementaciones extienden 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, se pueden revertir . [3] [4]

Sentencia CREATE TABLE

Un comando CREATE que se utiliza con frecuencia es el comando CREATE TABLE . El uso típico es:

CREAR TABLA [nombre de la tabla] ( [definiciones de columnas] ) [parámetros de la tabla]

Las definiciones de las columnas 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 : CLAVE PRINCIPAL ( [lista de columnas separadas por comas] )
  • Restricciones: {CONSTRAINT} [definición de restricción]
  • Funcionalidad específica de RDBMS

Un ejemplo de declaración para crear una tabla llamada empleados con algunas columnas es:

CREAR TABLA empleados ( id INTEGER CLAVE PRIMARIA , nombre VARCHAR ( 50 ) no nulo , apellido VARCHAR ( 75 ) no nulo , segundo nombre VARCHAR ( 50 ) no nulo , fechadenacimiento FECHA no nulo );                       

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]

Declaración DROP

La instrucción DROP destruye una base de datos, tabla, índice o vista existente.

Una sentencia 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 se ejecuten dentro de una transacción y, por lo tanto, se reviertan . El uso típico es simple:

DROP tipo de objeto  nombre del objeto .

Por ejemplo, el comando para eliminar una tabla llamada empleados es:

Empleados de DROP TABLE ;  

La instrucción DROP se diferencia 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) los datos de una tabla y dejar la tabla en la base de datos, mientras que una instrucción DROP elimina la tabla completa de la base de datos.

Declaración ALTER

La instrucción ALTER modifica un objeto de base de datos existente.

Una sentencia ALTER en SQL cambia las propiedades de un objeto dentro de un sistema de administración de bases de datos relacionales (RDBMS). Los tipos de objetos que se pueden modificar dependen del RDBMS que se esté utilizando. El uso típico es:

ALTER objecttype  objectname  parámetros .

Por ejemplo, el comando para agregar (luego eliminar) una columna llamada bubbles para una tabla existente llamada sink es:

ALTER TABLE sumidero ADD burbujas INTEGER ; ALTER TABLE sumidero DROP COLUMN burbujas ;          

Sentencia TRUNCATE

La instrucción TRUNCATE se utiliza para eliminar todos los datos de una tabla. Es mucho más rápida que DELETE .

TRUNCAR TABLA nombre_tabla ;  

Declaraciones de integridad referencial

Otro tipo de sentencia DDL en SQL se utiliza para definir relaciones de integridad referencial , generalmente implementadas como etiquetas de clave principal 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

Véase también

Referencias

  1. ^ Olle, T. William (1978). El enfoque Codasyl para la gestión de bases de datos . Wiley. ISBN 0-471-99579-7.
  2. ^ ab "Tecnología de la información - Lenguaje de bases de datos SQL". SQL92 . Carnegie Mellon . Consultado el 12 de noviembre de 2018 .
  3. ^ Laudenschlager, Douglas; Milener, Gene; Guyer, Craig; Byham, Rick. "Transacciones (Transact-SQL)". Microsoft Docs . Microsoft . Consultado el 12 de noviembre de 2018 .
  4. ^ "Transacciones PostgreSQL". Documentación de PostgreSQL 8.3 . PostgreSQL. 7 de febrero de 2013 . Consultado el 12 de noviembre de 2018 .
  5. ^ Allen, Grant (2010). La guía definitiva de SQLite. Apresspod. Mike Owens (2.ª edición). Apress. págs. 90-91. ISBN 9781430232254. Recuperado 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 . [...]: [...] create table foods2 as select * from foods; [...] Muchas otras bases de datos se refieren a este enfoque como CTaS , que significa Create Table as Select (Crear tabla como selección), y esa frase no es poco común entre los usuarios de SQLite.
  • Columna ALTER TABLE MODIFY de Oracle Archivado el 21 de abril de 2021 en Wayback Machine
  • Comandos DDL en Oracle Archivado el 21 de abril de 2021 en Wayback Machine
Obtenido de "https://es.wikipedia.org/w/index.php?title=Lenguaje_de_definición_de_datos&oldid=1223657397"