Lenguaje de definición de datos - Data definition language
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 . Posteriormente se utilizó para referirse a un subconjunto de 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. 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. 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 .
Sentencia CREATE TABLE
Un comando CREATE de uso común es el comando CREATE TABLE . El uso típico es:
CREATE TABLE [table name] ( [column definitions] ) [table parameters]
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 employees (
id INTEGER PRIMARY KEY,
first_name VARCHAR(50) not null,
last_name VARCHAR(75) not null,
mid_name VARCHAR(50) not null,
dateofbirth DATE not null
);
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).
Declaración DROP
La instrucción DROP destruye una base de datos, tabla, índice o vista existente.
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 objecttype objectname.
Por ejemplo, el comando para eliminar una tabla llamada empleados es:
DROP TABLE employees;
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 parameters.
Por ejemplo, el comando para agregar (luego eliminar) una columna denominada burbujas para una tabla existente denominada sumidero es:
ALTER TABLE sink ADD bubbles INTEGER;
ALTER TABLE sink DROP COLUMN bubbles;
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 table_name;
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 .
- El esquema DFDL es un ejemplo de DDL que puede describir muchos formatos de texto y binarios.
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)