Lenguaje de definición de datos o DDL en SQL
DDL es un subconjunto o parte del lenguaje SQL que trata con la definición y actualización de las estructuras de una base de datos. No trata con los datos, sino con todas aquellas estructuras de la base de datos donde residirán los datos. DDL es, por tanto, lo primero que se debe de ejecutar al implementar una base de datos ya que crea la misma base de datos, las tablas, índices, restricciones o reglas, vistas y otras estructuras de la base de datos
Creación y modificación de bases de datos
- CREATE DATABASE es un subcomando de DDL para crear una nueva base de datos que permite definir, además del nombre de la base de datos, la ubicación física, el idioma, tamaño y otras características que son responsabilidad de los administradores de bases de datos.
- ALTER DATABASE es un comando para poder modificar algunas características de una base de datos existente.
- DROP DATABASE lo utilizará el DBA para eliminar una base de datos en su totalidad.
Cada motor de base de datos permitirá definir o cambiar diferentes características de la base de datos, dependiendo de las características que soporte cada motor; por ejemplo, un motor podría permitir cambiar la ubicación física de la base de datos y otra no, o alguna permitiría definir si estarán encriptados los datos y otra -que no cuente con esta característica- no lo permitiría.
Creación y modificación de tablas
- CREATE TABLE se utiliza para crear toda la estructura o formato que tendrá una nueva tabla. Permite definir características generales de la nueva tabla (como el nombre y ubicación), la definición de todos y cada uno de los campos (incluyendo algunas restricciones de los mismos), así como otras características adicionales como llaves o relaciones que aplican a toda la tabla.
- ALTER TABLE permite modificar ciertos datos de una tabla (nombres o tipo de datos de los campos, restricciones, ubicaciones, etc.)
- DROP TABLE permite eliminar una tabla de la base de datos, siempre y cuando esta tabla no afecte alguna relación con alguna tabla existente, es decir, la base de datos solo permitirá la eliminación de una tabla si esto no afecta la integridad de la información.
Creación y modificación de vistas
Las vistas son estructuras «virtuales» que existen dentro de una base de datos, no ocupan espacio físico pero es una forma de «ver» a los datos de diferentes formas. Estas estructuras deben ser creadas y mantenidas por al administrador de bases de datos por medio de tres comandos específicos
- CREATE VIEW para crear una nueva vista.
- ALTER VIEW permite modificar la estructura de una vista ya existente en la base de datos.
- DROP VIEW eliminará una vista de la base de datos. Como las vistas son estructuras virtuales, es más fácil eliminar una vista que una tabla, ya que la vista no contiene los datos y no afectaría la integridad de la información.
Creación y modificación de índices
Los índices, como se verá más adelante, son estructuras -anexas a una tabla- que permite la consulta rápida de los datos en una tabla. Por default o defecto, no se crean índices a menos que el administrador de la base de datos los creé y los mantega con tres comandos específicos
- CREATE INDEX para crear un nuevo índice en una tabla. Esto permitirá el acceso más rápido a los datos de la tabla, aunque impactará en el tiempo de procesamiento de cada nuevo registro que se añada a la tabla a la que está asociada.
- ALTER INDEX permite modificar la estructura de un índice.
- DROP INDEX eliminará un índice de la base de datos.
Si bien el crear nuevos índices o eliminarlos no afecta la integridad de la información, si puede alterar mucho el rendimiento de la base de datos, por lo que siempre es recomendable hacerlo con la aprobación o por medio del DBA de la organización.
Creación y mantenimiento de procedimientos almacenados (stored procedures), funciones y triggers
En una base de datos, además de los datos, se pueden guardar porciones de código que sonutilizados para acceder a los datos. Estos códigos, en forma de procedimientos almacenados, funciones o triggers son creados por medio de los comandos CREATE PROCEDURE, CREATE FUNCTION y CREATE TRIGGER respectivamente.
Al igual que con los demás comandos DDL, existe la contraparte para modificar el código (ALTER PROCEDURE, ALTER FUNCTION y ALTER TRIGGER) y su correspondiente comando DDL para eliminar las estructuras (DROP PROCEDURE, DROP FUNCTION y DROP TRIGGER).
Resumen
Existen diversas estructuras en una base de datos (base de datos, tablas, restricciones, índices, código, etc.) que son administrador con comandos de SQL que se pueden sintetizar en tres
- CREATE
- ALTER
- DROP
Estos tres comandos serán utilizados por el DBA para administrar la estructura de las bases de datos y estas funciones no deberían ser delegadas, al menos en ambientes de producción, a las áreas de desarrollo de la organización.