Introducción al Lenguaje de Definición de Datos (DDL)
DDL son las siglas de Data Definition Language (Lenguaje de Definición de Datos), que es un conjunto de comandos para describir el diseño completo de la base de datos en SQL (Structure Query Language). Los comandos principales en DDL incluyen:
- CREATE: Se utiliza para crear nuevos objetos.
- ALTER: Se utiliza para modificar la estructura de objetos existentes.
- DROP: Se utiliza para eliminar objetos.
Uso de los Comandos CREATE, ALTER y DROP en MySQL
a. CREATE
El comando CREATE se utiliza para crear una nueva base de datos, una nueva tabla o una nueva vista.
- Ejemplo:
CREATE DATABASE toko_buku; - Explicación: Este comando sirve para crear una nueva base de datos llamada
toko_buku.
b. ALTER
El comando ALTER se utiliza para cambiar la estructura de una tabla que se ha creado previamente. Esta operación se puede realizar para agregar, eliminar, modificar columnas, modificar la tabla e incluso agregar nuevos atributos a las columnas.
- Ejemplo:
ALTER TABLE buku ADD judul_buku varchar(20); - Explicación: Este comando sirve para agregar un nuevo campo (columna) llamado
judul_bukude tipo de datosvarcharcon una longitud máxima de 20 caracteres en la tablabuku.
c. DROP
El comando DROP se utiliza para eliminar objetos de la base de datos de forma permanente. Dichos objetos pueden ser la propia base de datos, tablas, funciones, índices, procedimientos, disparadores o vistas.
- Ejemplo:
DROP DATABASE toko_buku; - Explicación: Este comando sirve para eliminar la base de datos llamada
toko_buku.
Tipos de Datos en MySQL
La elección del tipo de datos adecuado es muy importante para la eficiencia del almacenamiento en la base de datos. A continuación se presentan las categorías de tipos de datos en MySQL:
A. Tipos de Datos Numéricos
Se utilizan para almacenar datos de tipo numérico.
- TINYINT: Almacena números enteros (positivos/negativos). Rango: -128 a 127. Tamaño: 1 byte (8 bits).
- SMALLINT: Almacena números enteros. Rango: -32768 a 32767. Tamaño: 2 bytes (16 bits).
- MEDIUMINT: Almacena números enteros. Rango: -8388608 a 8388607. Tamaño: 3 bytes (24 bits).
- INT: Almacena números enteros. Rango: -2147483648 a 2147483647. Tamaño: 4 bytes (32 bits).
- BIGINT: Almacena números enteros de gran escala. Rango: -9223372036854775808 a 9223372036854775807. Tamaño: 8 bytes (64 bits).
- FLOAT: Almacena números de coma flotante de precisión simple. Tamaño: 4 bytes (32 bits).
- DOUBLE / REAL: Almacena números de coma flotante de precisión doble. Tamaño: 8 bytes (64 bits).
- DECIMAL / NUMERIC: Almacena números de coma flotante con alta precisión. Tamaño: 8 bytes (64 bits).
B. Tipos de Datos de Cadena (Texto)
Se utilizan para almacenar datos en forma de caracteres o texto.
- CHAR: Almacena cadenas de caracteres de tamaño fijo (ejemplo: ID de producto, Número de identificación). Rango: 0 a 255 caracteres.
- VARCHAR: Almacena cadenas de caracteres de tamaño dinámico/variable. Rango: 0 a 65.535 caracteres (en la versión más reciente).
- TINYTEXT: Almacena texto corto. Rango: 0 a 255 caracteres.
- TEXT: Almacena texto estándar. Rango: 0 a 65.535 caracteres.
- MEDIUMTEXT: Almacena texto mediano. Rango: 0 a 16.777.215 caracteres.
- LONGTEXT: Almacena texto muy largo. Rango: 0 a 4.294.967.295 caracteres.
C. Tipos de Datos de Fecha y Hora
Se utilizan para almacenar datos de tiempo y fecha.
- DATE: Almacena fecha (Formato:
YYYY-MM-DD). Rango: 1000-01-01 a 9999-12-31. Tamaño: 3 bytes. - TIME: Almacena hora (Formato:
HH:MM:SS). Rango: -838:59:59 a +838:59:59. Tamaño: 3 bytes. - DATETIME: Combinación de fecha y hora (Formato:
YYYY-MM-DD HH:MM:SS). Rango: 1000-01-01 00:00:00 a 9999-12-31 23:59:59. Tamaño: 8 bytes. - YEAR: Almacena año (Formato:
YYYY). Rango: 1900 a 2155. Tamaño: 1 byte.
D. Tipos de Datos BLOB (Binarios)
BLOB es el acrónimo de Binary Large Object. Se utiliza para almacenar datos binarios puros, es sensible a mayúsculas y minúsculas (case-sensitive), y es ideal para archivos multimedia como imágenes, documentos o sonido.
- BIT: Almacena datos binarios. Rango: 64 dígitos binarios.
- TINYBLOB: Tamaño máximo de 255 bytes.
- BLOB: Tamaño máximo de 65.535 bytes.
- MEDIUMBLOB: Tamaño máximo de 16.777.215 bytes.
- LONGBLOB: Tamaño máximo de 4.294.967.295 bytes.
Tipos de Claves en SQL
Una clave en SQL es una combinación de varios atributos (columnas) que sirve para diferenciar filas de datos de manera única en una tabla o para relacionar una tabla con otra.
- Super Clave: Conjunto de atributos que se pueden utilizar para identificar de manera única cada fila de datos en una tabla.
- Clave Candidata: Super clave mínima que no tiene atributos repetidos. La clave candidata se selecciona a partir de la combinación de campos más pequeña para identificar valores únicos.
- Clave Primaria: Clave candidata seleccionada como identificación principal de un registro. Los datos en la clave primaria no pueden estar vacíos (Not Null) ni duplicados. Cada tabla solo puede tener una Clave Primaria.
- Clave Alternativa: Clave candidata que no fue seleccionada como Clave Primaria.
- Clave Foránea: Clave utilizada para relacionar una tabla con otra, formando una relación padre e hijo. La Clave Primaria en la tabla principal (padre) es referenciada por la Clave Foránea en la tabla relacionada (hijo).
- Clave Compuesta: Clave que consta de dos o más atributos para identificar una entidad de manera única. Generalmente se utiliza cuando ninguna columna individual cumple los requisitos para ser Clave Primaria.
Tipos de Restricciones en MySQL
Una restricción es una regla de limitación aplicada a una columna o tabla para mantener la integridad y validez de los datos.
- NOT NULL: Asegura que una columna no pueda quedar vacía al momento de insertar un registro. Dicha columna debe ser llenada con datos.
- UNIQUE: Asegura que cada valor en una columna sea diferente de los demás (no hay duplicación de registros).
- PRIMARY KEY: Combinación de las restricciones
NOT NULLyUNIQUE. Identifica de manera única cada fila en una tabla. Solo se permite unaPRIMARY KEYpor tabla. - FOREIGN KEY: Mantiene la integridad referencial de los datos entre tablas. Asegura que el valor en la columna hijo tenga una referencia válida en la columna padre (otra tabla).
- CHECK: Realiza una validación o verificación antes de que los datos se almacenen en la base de datos. Los datos se evalúan con un valor booleano; si cumplen la condición, son true y se almacenan, pero si son false, SQL los rechaza y muestra un mensaje de error.
Escrito por
Wilan
Colaborador permanente de Bali Island Tekno que activamente comparte conocimientos sobre tecnología, programación y el mundo de la ingeniería de software.