-- Tabla usuario
CREATE TABLE usuario (
id_usuario INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL,
apellido VARCHAR(100) NOT NULL,
correo VARCHAR(100) NOT NULL,
telefono VARCHAR(100) NOT NULL
);
-- Tabla categoria
CREATE TABLE categoria (
id_categoria INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL,
descripcion VARCHAR(100)
);
-- Tabla producto
CREATE TABLE producto (
id_producto INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL,
descripcion VARCHAR(200),
precio DECIMAL(10,2) NOT NULL,
stock INT NOT NULL DEFAULT 0,
id_categoria INT NOT NULL,
id_usuario INT NOT NULL,
FOREIGN KEY (id_categoria)
REFERENCES categoria(id_categoria),
FOREIGN KEY (id_usuario)
REFERENCES usuario(id_usuario)
);
-- Tabla direccion
CREATE TABLE direccion (
id_direccion INT AUTO_INCREMENT PRIMARY KEY,
id_usuario INT NOT NULL,
direccion VARCHAR(100) NOT NULL,
ciudad VARCHAR(20) UNIQUE,
departamento VARCHAR(20),
FOREIGN KEY (id_usuario)
REFERENCES usuario(id_usuario)
);
-- Tabla pedido
CREATE TABLE pedido (
id_pedido INT AUTO_INCREMENT PRIMARY KEY,
id_usuario INT NOT NULL,
id_direccion INT NOT NULL,
fecha DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
total DECIMAL(10,2) NOT NULL DEFAULT 0,
estado VARCHAR(30) NOT NULL,
FOREIGN KEY (id_usuario)
REFERENCES usuario(id_usuario),
FOREIGN KEY (id_direccion)
REFERENCES direccion(id_direccion)
);
-- Tabla detalle_pedido
CREATE TABLE detalle_pedido (
id_detalle INT AUTO_INCREMENT PRIMARY KEY,
id_pedido INT NOT NULL,
id_producto INT NOT NULL,
cantidad INT NOT NULL,
precio_unitario DECIMAL(10,2) NOT NULL,
FOREIGN KEY (id_pedido)
REFERENCES pedido(id_pedido),
FOREIGN KEY (id_producto)
REFERENCES producto(id_producto)
);
-- Tabla pago
CREATE TABLE pago (
id_pago INT AUTO_INCREMENT PRIMARY KEY,
id_pedido INT NOT NULL,
metodo_pago INT NOT NULL,
monto DECIMAL(10,2) NOT NULL,
fecha_pago DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
estado VARCHAR(100) NOT NULL,
FOREIGN KEY (id_pedido)
REFERENCES pedido(id_pedido)
);
-- Mostrar las tablas
SHOW TABLES;
-- Consultar estructuras de las tablas
DESCRIBE usuario;
DESCRIBE categoria;
DESCRIBE producto;
DESCRIBE direccion;
DESCRIBE pedido;
DESCRIBE detalle_pedido;
DESCRIBE pago;
To embed this project on your website, copy the following code and paste it into your website's HTML: