Mind map
Lenguaje de Definición de Datos (DDL)

Map content
Lenguaje de Definición de Datos (DDL)
que permite a los usuarios 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.
Lenguaje que permite a los usuarios 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.
La definición de la estructura de la base de datos incluye tanto la creación inicial de los diferentes objetos que formarán la base de datos, como el mantenimiento de esa estructura.
Las sentencias del DDL utilizan unos verbos que se repiten para los distintos objetos.
Para crear un objeto nuevo el verbo será CREATE y a continuación el tipo de objeto a crear. CREATE DATABASE es la sentencia para crear una base de datos.
- CREATE TABLE nos permite crear una nueva tabla.
- CREATE INDEX crear un nuevo índice
- Para eliminar un objeto utilizaremos el verbo DROP (DROP TABLE, DROP INDEX…).
- para modificar algo de la definición de un objeto ya creado utilizamos el verbo ALTER (ALTER TABLE, ALTER INDEX…).
- Para eliminar un objeto utilizaremos el verbo DROP (DROP TABLE, DROP INDEX…).
- CREATE INDEX crear un nuevo índice
- CREATE TABLE nos permite crear una nueva tabla.
Las principales funcionalidades de SQL como lenguaje de definición (DDL) son:
- La creación
- Modificación
- Borrado de las tablas que componen la base de datos, así como de los índices, vistas, sinónimos, permisos, etc. que pudieran definirse sobre las mismas.
- Modificación
- La creación
·
- instrucción mínima es: CREATE DATABASE nbBasedeDatos nbBasedeDatos: Es el nombre de la nueva base de datos. Los nombres de base de datos deben ser únicos en una instancia de SQL Server y cumplir las reglas de los identificadores.
- CREATE DATABASE crea una base de datos con el nombre dado. Para usar CREATE DATABASE, necesita el permiso CREATE en la base de datos.
DROP DATABASE
- DROP DATABASE borrar todas las tablas en la base de datos y borrar la base de datos.
- El comando DROP DATABASE borrar del directorio de base de datos los ficheros y directorios que MySQL puede crear durante operaciones normales:
- Todos los ficheros con estas extensiones: .BAK .DAT .HSH .MRG .MYD .ISD .MYI .db .frm
- Todos los subdirectorios con nombres que tienen dos dígitos hexadecimales 00-ff. Son subdirectorios usados por tablas RAID .
- El fichero db.opt , si existe.
- Todos los subdirectorios con nombres que tienen dos dígitos hexadecimales 00-ff. Son subdirectorios usados por tablas RAID .
- Todos los ficheros con estas extensiones: .BAK .DAT .HSH .MRG .MYD .ISD .MYI .db .frm
CREATE TABLE y DROP TABLE
- Un comando CREATE muy común es el CREATE TABLE. El uso típico es: CREATE [TEMPORARY] TABLE [nombre de la tabla] ( [definiciones de columna] ) [parámetros de la tabla].
- CREATE TABLE crea una tabla con el nombre dado. Debe tener el permiso CREATE para la tabla.
- Por defecto, la tabla se crea en la base de datos actual. Ocurre un error si la tabla existe, si no hay base de datos actual o si la base de datos no existe.
- Entonces, si debemos crear una tabla para el cliente tal como se especifica anteriormente, ingresaríamos
- CREATE TABLE Customer (First_Name char(50), Last_Name char(50), Address char(50), City char(50), Country char(25), Birth_Date datetime);
- Entonces, si debemos crear una tabla para el cliente tal como se especifica anteriormente, ingresaríamos
- Por defecto, la tabla se crea en la base de datos actual. Ocurre un error si la tabla existe, si no hay base de datos actual o si la base de datos no existe.
- CREATE TABLE crea una tabla con el nombre dado. Debe tener el permiso CREATE para la tabla.
- Sentencia DROP SENTENCIA PARA BORRAR LA TABLA. DROP TABLE NOMBRE_DE_TABLA;
- DROP TABLE borra una o más tablas. Debe tener el permiso DROP para cada tabla. Todos los datos de la definición de tabla son borrados, así que tenga cuidado con este comando.
- Un comando CREATE muy común es el CREATE TABLE. El uso típico es: CREATE [TEMPORARY] TABLE [nombre de la tabla] ( [definiciones de columna] ) [parámetros de la tabla].
ALTER TABLE
- El comando SQL ALTER TABLE se utiliza para modificar la definición (estructura) de una tabla mediante la modificación de la definición de sus columnas. El comando ALTER se utiliza para realizar las siguientes funciones.
- Añadiendo, gota, modificar columnas de la tabla
- Agregar y quitar restricciones
- Habilitar y deshabilitar las restricciones
- Agregar y quitar restricciones
- Añadiendo, gota, modificar columnas de la tabla
- Sintaxis para agregar una columna
- ALTER TABLE table_name ADD column_name datatype;
- Para agregar una columna de "experiencia" de la tabla de empleados, la consulta será como
- ALTER TABLE employee ADD experience number(3);
- Sintaxis para eliminar una columna
- ALTER TABLE table_name DROP column_name;
- Sintaxis para modificar una columna
- ALTER TABLE table_name MODIFY column_name datatype;
- Para modificar el sueldo de columna en la tabla de empleados, la consulta sería como
- ALTER TABLE employee MODIFY salary number(15,2);
- Sintaxis para eliminar una columna
- ALTER TABLE employee ADD experience number(3);
- Para agregar una columna de "experiencia" de la tabla de empleados, la consulta será como
- ALTER TABLE table_name ADD column_name datatype;
- El comando SQL ALTER TABLE se utiliza para modificar la definición (estructura) de una tabla mediante la modificación de la definición de sus columnas. El comando ALTER se utiliza para realizar las siguientes funciones.
TRUNCATE TABLE para vaciar toda una tabla
- Si lo que se quiere es vaciar por completo una tabla se puede utilizar un comando DELETE (como el previamente mostrado) para todos los registros de la tabla, o se puede ocupar el comando TRUNCATE TABLE que hace precisamente eso.
- La sintaxis es
- TRUNCATE TABLE tabla;
- En este caso, el comando TRUNCATE TABLE elimina físicamente todos los registros de la tabla, reestableciendo la tabla como si recién se hubiera hecho un CREATE TABLE.
- TRUNCATE TABLE tabla;
- La sintaxis es
- Registro en el log de transacciones de la instrucción DELETE
- A diferencia del comando DELETE, donde se guardan los ID’s eliminados en el log de transacciones, un TRUNCATE TABLE solo marca las páginas que contenían los datos, para que se puedan reocupar.
- Diferencias entre DELETE all y TRUNCATE
- El comando DELETE borra registros, uno a uno, y esto hace más lento el proceso, a diferencia del TRUNCATE TABLE.
- Si el registro a borrar no incumple ningún CONSTRAINT entonces el comando DELETE lo puede borrar, pero un TRUNCATE TABLE tiene las mismas restricciones de un DROP TABLE, por lo que si existe al menos una tabla que tenga una llave foránea vinculada a la tabla por vaciar no se podrá realizar, aunque todas las tablas estén vacías.
- Si existe un campo autonumérico, serial o autoincremental (dependiendo del motor de base de datos estos campos, que se autoincrementan registro a registro) el TRUNCATE TABLE provocará que la numeración se reinicie; en contraste a esto, el DELETE -aunque vacíe la tabla- continuará con la numeración, no la reiniciará.
- Si el registro a borrar no incumple ningún CONSTRAINT entonces el comando DELETE lo puede borrar, pero un TRUNCATE TABLE tiene las mismas restricciones de un DROP TABLE, por lo que si existe al menos una tabla que tenga una llave foránea vinculada a la tabla por vaciar no se podrá realizar, aunque todas las tablas estén vacías.
- El comando DELETE borra registros, uno a uno, y esto hace más lento el proceso, a diferencia del TRUNCATE TABLE.
- Si lo que se quiere es vaciar por completo una tabla se puede utilizar un comando DELETE (como el previamente mostrado) para todos los registros de la tabla, o se puede ocupar el comando TRUNCATE TABLE que hace precisamente eso.
Images and files in the map
Information
- Description
- Mind Map on Lenguaje de Definición de Datos (DDL), created by Luis Jared García García on 25/11/2021.
- Created by
- Luis Jared García García
- Views
- 0
- Rating
More on Sublenguajes SQL: DDL, DML y DCL
