Volver al curso

SQL y Bases de Datos: Gestion de Datos para el Mundo Real

leccion
9 / 12
beginner
12 horas
Diseno de Bases de Datos

Diseno de Esquemas y Tablas

Lectura
45 min~1 min lectura

Creando la Estructura de tu Base de Datos

Un buen diseno de base de datos es fundamental para el rendimiento, la escalabilidad y el mantenimiento a largo plazo. En esta leccion aprenderas a crear esquemas y tablas bien estructurados.

CREATE DATABASE

-- Crear una nueva base de datos
CREATE DATABASE tienda_online;

-- Especificar juego de caracteres
CREATE DATABASE tienda_online
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

CREATE TABLE

CREATE TABLE clientes (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(100) NOT NULL,
    email VARCHAR(150) UNIQUE NOT NULL,
    telefono VARCHAR(20),
    ciudad VARCHAR(100),
    fecha_registro DATETIME DEFAULT CURRENT_TIMESTAMP,
    estado ENUM(activo, inactivo) DEFAULT activo
);

Tipos de Datos en MySQL

  • INT: Numeros enteros (hasta 2 mil millones)
  • DECIMAL: Numeros exactos (para dinero)
  • VARCHAR: Texto variable (recomendado)
  • TEXT: Texto largo
  • DATE/DATETIME: Fechas
  • BOOLEAN: Verdadero/Falso
  • ENUM: Lista de valores predefinidos

Constraints (Restricciones)

  • PRIMARY KEY: Identificador unico
  • UNIQUE: Valores no repetidos
  • NOT NULL: Campo obligatorio
  • DEFAULT: Valor por defecto
  • FOREIGN KEY: Referencia a otra tabla
  • CHECK: Validacion personalizada

Ejemplo Completo con Relaciones

CREATE TABLE pedidos (
    id INT AUTO_INCREMENT PRIMARY KEY,
    cliente_id INT NOT NULL,
    fecha_pedido DATETIME DEFAULT CURRENT_TIMESTAMP,
    total DECIMAL(10,2) NOT NULL,
    estado ENUM(pendiente, procesando, enviado, entregado) DEFAULT pendiente,
    FOREIGN KEY (cliente_id) REFERENCES clientes(id)
    ON DELETE CASCADE
);