SQL | DDL, DML, TCL y DCL

En este artículo, analizaremos el lenguaje de definición de datos, el lenguaje de manipulación de datos, el lenguaje de control de transacciones y el lenguaje de control de datos. 
 

DDL (lenguaje de definición de datos):

El lenguaje de definición de datos se utiliza para definir la estructura o el esquema de la base de datos. DDL también se usa para especificar propiedades adicionales de los datos. La estructura de almacenamiento y los métodos de acceso utilizados por el sistema de base de datos mediante un conjunto de sentencias en un tipo especial de DDL denominado lenguaje de definición y almacenamiento de datos. Estas declaraciones definen los detalles de implementación del esquema de la base de datos, que generalmente están ocultos para los usuarios. Los valores de datos almacenados en la base de datos deben satisfacer ciertas restricciones de consistencia. 
Por ejemplo, supongamos que la universidad exige que el saldo de la cuenta de un departamento nunca sea negativo. El DDL proporciona facilidades para especificar tales restricciones. El sistema de base de datos comprueba estas restricciones cada vez que se actualiza la base de datos. En general, una restricción puede ser un predicado arbitrario perteneciente a la base de datos. Sin embargo, los predicados arbitrarios pueden ser costosos para la prueba. Por lo tanto, el sistema de base de datos implementa restricciones de integridad que se pueden probar con una sobrecarga mínima. 

  1. Restricciones de dominio: se debe asociar un dominio de valores posibles con cada atributo (por ejemplo, tipos de números enteros, tipos de caracteres, tipos de fecha/hora). Declarar que un atributo pertenece a un dominio particular actúa como una restricción sobre los valores que puede tomar.
  2. Integridad referencial: hay casos en los que deseamos asegurarnos de que un valor que aparece en una relación para un conjunto dado de atributos también aparece en un determinado conjunto de atributos en otra relación, es decir, Integridad referencial. Por ejemplo, el departamento enumerado para cada curso debe ser uno que realmente exista.
  3. Aserciones: Una aserción es cualquier condición que la base de datos debe satisfacer siempre. Las restricciones de dominio y las restricciones de integridad son formas especiales de aserciones.
  4. Autorización: es posible que deseemos diferenciar entre los usuarios en cuanto al tipo de acceso que tienen permitido en varios valores de datos en la base de datos. Estas diferenciaciones se expresan en términos de Autorización. Las más comunes son: 
    autorización de lectura , que permite leer pero no modificar los datos; 
    autorización de inserción , que permite la inserción de nuevos datos, pero no la modificación de los datos existentes. 
    autorización de actualización , que permite la modificación, pero no la eliminación.

Algunos Comandos: 
 

CREATE : to create objects in database
ALTER : alters the structure of database
DROP : delete objects from database
RENAME : rename an objects

La siguiente instrucción SQL DDL define la tabla de departamentos: 
 

create table department
(dept_name  char(20),
  building   char(15),
  budget     numeric(12,2));

La ejecución de la instrucción DDL anterior crea la tabla de departamentos con tres columnas: nombre_depto, edificio y presupuesto; cada uno de los cuales tiene un tipo de datos específico asociado. 

DML (lenguaje de manipulación de datos):

Las declaraciones DML se utilizan para administrar datos con objetos de esquema. 
Los DML son de dos tipos: 
 

  1. DML de procedimiento : requieren que un usuario especifique qué datos se necesitan y cómo obtener esos datos.
  2. DML declarativos (también denominados DML no procedimentales ): requieren que un usuario especifique qué datos se necesitan sin especificar cómo obtener esos datos. 

    Los DML declarativos suelen ser más fáciles de aprender y usar que los DML de procedimiento. Sin embargo, dado que un usuario no tiene que especificar cómo obtener los datos, el sistema de base de datos debe encontrar un medio eficiente para acceder a los datos.

Algunos Comandos: 
 

SELECT: retrieve data from the database
INSERT: insert data into a table
UPDATE: update existing data within a table
DELETE: deletes all records from a table, space for the records remain

Ejemplo de consulta SQL que encuentra los nombres de todos los instructores en el departamento de Historia: 
 

select instructor.name
 from instructor
 where instructor.dept_name = 'History';

La consulta especifica que se deben recuperar aquellas filas del instructor de la tabla donde el nombre_depto es Historial y se deben mostrar los atributos de nombre de estas filas. 

TCL (lenguaje de control de transacciones):

Los comandos del lenguaje de control de transacciones se utilizan para administrar transacciones en la base de datos. Estos se utilizan para administrar los cambios realizados por las declaraciones DML. También permite que las declaraciones se agrupen en transacciones lógicas. 

Ejemplos de comandos TCL – 
 

COMMIT: Commit command is used to permanently save any transaction
            into the database.
ROLLBACK: This command restores the database to last committed state.
            It is also used with savepoint command to jump to a savepoint
            in a transaction.
SAVEPOINT: Savepoint command is used to temporarily save a transaction so
            that you can rollback to that point whenever necessary.

DCL (lenguaje de control de datos):

Un lenguaje de control de datos es una sintaxis similar a un lenguaje de programación de computadoras que se utiliza para controlar el acceso a los datos almacenados en una base de datos (autorización). En particular, es un componente del lenguaje de consulta estructurado (SQL). 

Ejemplos de comandos DCL: 
 

GRANT: allow specified users to perform specified tasks.
REVOKE: cancel previously granted or denied permissions.

Las operaciones para las cuales se pueden otorgar o revocar privilegios a un usuario o rol se aplican tanto al lenguaje de definición de datos (DDL) como al lenguaje de manipulación de datos (DML), y pueden incluir CONECTAR, SELECCIONAR, INSERTAR, ACTUALIZAR, ELIMINAR, EJECUTAR y USO. 

En la base de datos de Oracle, la ejecución de un comando DCL genera una confirmación implícita. Por lo tanto, no puede revertir el comando. 

Referencias: kakeboksen.td.org.uit.no
 

Publicación traducida automáticamente

Artículo escrito por shubham tyagi 4 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *