Ir al contenido

Lenguaje de definición de datos

De Wikipedia, la enciclopedia libre
Esta es una versión antigua de esta página, editada a las 17:50 4 mar 2020 por 187.190.180.7 (discusión). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.

Un lenguaje de base de datos o lenguaje de definición de datos (Data Definition Language, DDL por sus siglas en inglés) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los programadores de la misma llevar a cabo las tareas de definición de las estructuras que almacenarán los datos así como de los procedimientos o funciones que permitan consultarlos.

Un DDL es un lenguaje de programación para definir una estructura de datos. El término DDL fue introducido por primera vez en relación con el modelo de base de datos CODASYL, donde el esquema de la base de datos ha sido escrito en un lenguaje de descripción de datos que describe los registros, los campos, y "conjuntos" que conforman el usuario modelo de datos. Más tarde fue usado para referirse a un subconjunto de SQL, pero ahora se utiliza en un sentido genérico para referirse a cualquier lenguaje formal para describir datos o estructuras de información, como los esquemas XML.

SQL

A diferencia de muchos lenguajes de descripción de datos, SQL utiliza una acción de versos imperativo cuyo efecto es modificar el esquema de la base de datos, añadiendo, cambiando o eliminando las declaraciones se pueden mezclar libremente con otras sentencias SQL, por lo que el DDL no es realmente una lengua independiente. La declaración más común es CREATE TABLE. El lenguaje de consulta SQL, el más difundido entre los gestores de bases de datos, admite las siguientes sentencias de definición: CREATE, DROP y ALTER, cada una de las cuales se puede aplicar a las tablas, vistas, procedimientos almacenados y triggers de la base de datos

Sentencia CREATE

Create - Sirve para crear una nueva base de datos, tabla, índice, o procedimiento almacenado. Una sentencia CREATE en SQL crea un objeto dentro de un sistema de gestión de bases de datos relacionales (RDBMS). Los tipos de objetos que se pueden crear dependen del RDBMS que esté siendo utilizado, pero la mayoría soportan la creación de tablas, índices, usuarios, sinónimos y bases de datos. Algunos sistemas (como PostgreSQL ) permiten CREATE, y otros comandos DDL, en el interior de una transacción y por lo tanto puede ser revertido. Otras que se incluyen dentro del DDL, pero que su existencia depende de la implementación del estándar SQL que lleve a cabo el gestor de base de datos son GRANT y REVOKE, los cuales sirven para otorgar permisos o quitarlos, ya sea a usuarios específicos o a un rol creado dentro de la base de datos.

Sentencia CREATE TABLE

Un comando CREATE muy común es el CREATE TABLE. Su uso típico es:

   CREATE TABLE[nombre de la tabla] ( [definiciones de columna] ) [parámetros de la tabla]

Sentencia DROP

Sirve para borrar en forma sencilla distintos objetos dentro del [SGBD] como por ejemplo base de datos, tablas, índices. Su sentencia es:

   DROP objeto_a_eliminar;
   DROP TABLE    myTable;
   DROP SEQUENCE mySequence;
   DROP INDEX    myIndex;


Para eliminar una tabla de una base de datos tenemos la sentencia DROP TABLE. Con ella quitamos una o varias definiciones de tabla y todos los datos, índices, desencadenadores, restricciones y especificaciones de permisos que tengan esas tablas. Las vistas o procedimientos almacenados que hagan referencia a la tabla quitada se deben quitar explícitamente con DROP VIEW o DROP PROCEDURE. Su sintaxis es:

   DROP TABLE [nbBaseDatos.[nbEsquema].|nbEsquema.]nbTabla[ ,...n ] [ ; ]

Sentencia ALTER

La sentencia ALTER TABLE es usada para agregar, borrar o modificar columnas en una tabla existente

Sintaxis de SQL ALTER TABLE

Para agregar una columna a una tabla, se debe usar la siguiente sintaxis:

     ALTER TABLE nombre_tabla
         ADD column_name tipo_datos

Para eliminar una columna en una tabla, se debe seguir la siguiente sintaxis (algunas bases de datos no permiten borrar columnas):

      ALTER TABLE nombre_tabla
          DROP COLUMN nombre_columna

Véase también