DROP DATABASE domicilios;
CREATE DATABASE domicilios;
SHOW DATABASES;
USE domicilios;
Create table RolUsuario (
idRolUsuario int auto_increment primary key,
descripRolUsuario varchar (30),
estadoRolUsuario varchar(30)
);
INSERT INTO RolUsuario (descripRolUsuario, estadoRolUsuario) VALUES
('Admin', 'Activo'),
('Usuario', 'Activo'),
('Editor', 'Inactivo'),
('Supervisor', 'Activo'),
('Moderador', 'Inactivo'),
('Invitado', 'Activo'),
('Visitante', 'Inactivo'),
('Analista', 'Activo'),
('Consultor', 'Inactivo'),
('Gestor', 'Activo'),
('Coordinador', 'Inactivo'),
('Líder', 'Activo'),
('Especialista', 'Inactivo'),
('Técnico', 'Activo'),
('Desarrollador', 'Inactivo'),
('Diseñador', 'Activo'),
('Arquitecto', 'Inactivo'),
('Ingeniero', 'Activo'),
('Asistente', 'Inactivo'),
('Entrenador', 'Activo'),
('Cliente', 'Inactivo'),
('Proveedor', 'Activo');
Create table Usuario (
ID_Usuario int auto_increment primary key,
TipoDocUsuario varchar (30),
NumdocUsuario Varchar (20),
NombreUsuario Varchar (50),
ApellidoUsuario Varchar (50),
DireccionUsuario Varchar (80),
TelefonoUsuario Varchar (20),
CorreoUsuario Varchar (70),
PasswordUsuario Varchar (20),
FotoUsuario blob (11),
EstadoUsuario Varchar (30),
idRolUsuarioFK int (10),
FOREIGN KEY (idRolUsuarioFK) REFERENCES RolUsuario (idRolUsuario)
);
INSERT INTO Usuario (TipoDocUsuario, NumdocUsuario, NombreUsuario, ApellidoUsuario,
DireccionUsuario, TelefonoUsuario, CorreoUsuario, PasswordUsuario, EstadoUsuario,
idRolUsuarioFK) VALUES
('DNI', '12345678', 'Juan', 'Pérez', 'Calle 123', '123456789', '
[email protected]', 'password123',
'Activo', 1),
('Pasaporte', 'A1234567', 'María', 'Gómez', 'Av. Principal', '987654321', '[email protected]',
'pass456', 'Activo', 2),
('DNI', '23456789', 'Carlos', 'Martínez', 'Calle 456', '234567890', '[email protected]',
'securepass', 'Inactivo', 3),
('Pasaporte', 'B7654321', 'Laura', 'Hernández', 'Av. Secundaria', '876543210', '[email protected]',
'userpass123', 'Activo', 1),
('Cédula', 'C5432167', 'Pedro', 'Rodríguez', 'Calle 789', '345678901', '[email protected]',
'mypassword', 'Inactivo', 2),
('DNI', '67891234', 'Ana', 'López', 'Av. Norte', '654321098', '[email protected]', 'pass1234',
'Activo', 3),
('Pasaporte', 'D9876543', 'Sara', 'Fernández', 'Calle Sur', '543210987', '[email protected]',
'newpass', 'Inactivo', 1),
('Cédula', 'E5432167', 'Eduardo', 'Gutiérrez', 'Av. Este', '432109876', '[email protected]',
'passwordabc', 'Activo', 2),
('DNI', '34567890', 'Luis', 'Torres', 'Calle Oeste', '321098765', '[email protected]', 'testpass',
'Inactivo', 3),
('Pasaporte', 'F8765432', 'Marta', 'Díaz', 'Av. Central', '210987654', '[email protected]',
'passpass', 'Activo', 1),
('Cédula', 'G4321678', 'Javier', 'Ramírez', 'Calle 135', '109876543', '[email protected]',
'securepass123', 'Inactivo', 2),
('DNI', '98765432', 'Elena', 'Martín', 'Av. 246', '987654321', '[email protected]', 'password321',
'Activo', 3),
('Pasaporte', 'H8765432', 'Gabriel', 'Cabrera', 'Calle 789', '876543210', '[email protected]',
'mypass123', 'Inactivo', 1),
('Cédula', 'I6543217', 'Silvia', 'González', 'Av. 654', '765432109', '[email protected]',
'newpassword', 'Activo', 2),
('DNI', '23456789', 'Roberto', 'Pérez', 'Calle 987', '654321098', '[email protected]',
'passpasspass', 'Inactivo', 3),
('Pasaporte', 'J1234567', 'Natalia', 'Sánchez', 'Av. 321', '543210987', '[email protected]',
'mypassword123', 'Activo', 1),
('Cédula', 'K5432167', 'Diego', 'López', 'Calle 654', '432109876', '[email protected]',
'securepass321', 'Inactivo', 2),
('DNI', 'L3456789', 'Carmen', 'Fernández', 'Av. 987', '321098765', '
[email protected]',
'testpass123', 'Activo', 3),
('Pasaporte', 'M8765432', 'Raúl', 'Gómez', 'Calle 111', '210987654', '[email protected]',
'newpass123', 'Inactivo', 1),
('Cédula', 'N6543217', 'Isabel', 'Hernández', 'Av. 222', '109876543', '[email protected]',
'passpasspass123', 'Activo', 2),
('DNI', 'O2345678', 'Antonio', 'Torres', 'Calle 333', '987654321', '[email protected]',
'securepasspass', 'Inactivo', 3),
('Pasaporte', 'P1234567', 'Beatriz', 'Martínez', 'Av. 444', '543210987', '[email protected]',
'mypasswordpass', 'Activo', 1),
('Cédula', 'Q5432167', 'Alberto', 'García', 'Calle 555', '432109876', '[email protected]',
'newpasspass', 'Inactivo', 2),
('DNI', 'R3456789', 'Adriana', 'Sánchez', 'Av. 666', '321098765', '[email protected]',
'testpasspass', 'Activo', 3);
Create table Producto (
ID_Producto int auto_increment primary key,
descripProducto Varchar (100),
precioProducto Double,
categoriaProducto Varchar(40),
estadoProducto Varchar (30)
);
INSERT INTO Producto (descripProducto, precioProducto, categoriaProducto, estadoProducto)
VALUES
('Mesa de comedor', 500000, 'Muebles de Madera', 'Disponible'),
('Silla de madera', 150000, 'Muebles de Madera', 'Disponible'),
('Sofá de tres plazas', 700000, 'Muebles de Madera', 'Disponible'),
('Mesa de centro', 250000, 'Muebles de Madera', 'Disponible'),
('Cama matrimonial', 800000, 'Muebles de Madera', 'Disponible'),
('Armario de madera', 600000, 'Muebles de Madera', 'Disponible'),
('Escritorio de madera', 350000, 'Muebles de Madera', 'Disponible'),
('Estantería de madera', 200000, 'Muebles de Madera', 'Disponible'),
('Mesa de noche', 120000, 'Muebles de Madera', 'Disponible'),
('Silla de escritorio', 100000, 'Muebles de Madera', 'Disponible'),
('Mesa de TV', 180000, 'Muebles de Madera', 'Disponible'),
('Silla de comedor', 90000, 'Muebles de Madera', 'Disponible'),
('Cómoda de madera', 300000, 'Muebles de Madera', 'Disponible'),
('Estante de pared', 70000, 'Muebles de Madera', 'Disponible'),
('Cuna de madera', 400000, 'Muebles de Madera', 'Disponible'),
('Mesa de estudio', 150000, 'Muebles de Madera', 'Disponible'),
('Silla mecedora', 130000, 'Muebles de Madera', 'Disponible'),
('Mesa de jardín', 220000, 'Muebles de Madera', 'Disponible'),
('Banco de madera', 180000, 'Muebles de Madera', 'Disponible'),
('Mesa auxiliar', 80000, 'Muebles de Madera', 'Disponible'),
('Silla plegable', 70000, 'Muebles de Madera', 'Disponible'),
('Cama individual', 450000, 'Muebles de Madera', 'Disponible');
create table Domicilio (
idDomicilio int auto_increment primary key,
hora_Domicilio time,
estado_Domicilio varchar (30),
idPedidoFK int (10),
idDomiciliarioFK int (10),
FOREIGN KEY (idPedidoFK) REFERENCES Pedido (idPedido),
FOREIGN KEY (idDomiciliarioFK) REFERENCES Usuario(ID_Usuario)
);
INSERT INTO Domicilio (hora_Domicilio, estado_Domicilio, idPedidoFK, idDomiciliarioFK) VALUES
('16:00:00', 'En camino', 1, 2),
('16:30:00', 'Entregado', 2, 1),
('17:15:00', 'En camino', 3, 3),
('18:00:00', 'Entregado', 4, 4),
('18:45:00', 'En camino', 5, 5),
('19:30:00', 'Entregado', 6, 6),
('20:15:00', 'En camino', 7, 7),
('21:00:00', 'Entregado', 8, 8),
('21:45:00', 'En camino', 9, 9),
('22:30:00', 'Entregado', 10, 10),
('23:15:00', 'En camino', 11, 11),
('00:00:00', 'Entregado', 12, 12),
('00:45:00', 'En camino', 13, 13),
('01:30:00', 'Entregado', 14, 14),
('02:15:00', 'En camino', 15, 15),
('03:00:00', 'Entregado', 16, 16),
('03:45:00', 'En camino', 17, 17),
('04:30:00', 'Entregado', 18, 18),
('05:15:00', 'En camino', 19, 19),
('06:00:00', 'Entregado', 20, 20),
('06:45:00', 'En camino', 21, 21),
('07:30:00', 'Entregado', 22, 22);
CREATE TABLE detallePedido (
idDetallePedido INT PRIMARY KEY AUTO_INCREMENT,
cantidadProducto INT,
precioProducto DOUBLE,
subtotalProducto DOUBLE,
idProductoFK INT,
FOREIGN KEY (idProductoFK) REFERENCES Producto (ID_Producto)
);
INSERT INTO detallePedido (cantidadProducto, precioProducto, subtotalProducto, idProductoFK)
VALUES
(2, 10900, 21800, 1),
(1, 5990, 5990, 2),
(3, 12900, 38700, 3),
(2, 7900, 15800, 4),
(1, 3290, 3290, 5),
(4, 18900, 75600, 6),
(2, 9900, 19800, 7),
(1, 4490, 4490, 8),
(5, 15900, 79500, 9),
(3, 10990, 32970, 10),
(2, 6900, 13800, 11),
(1, 2590, 2590, 12),
(4, 13900, 55600, 13),
(3, 9990, 29970, 14),
(2, 4490, 8980, 15),
(1, 1990, 1990, 16),
(5, 9900, 49500, 17),
(3, 5490, 16470, 18),
(2, 2890, 5780, 19),
(1, 1290, 1290, 20),
(4, 6900, 27600, 21);
CREATE TABLE Pedido (
idPedido INT AUTO_INCREMENT PRIMARY KEY,
fechaPedido DATE,
horaPedido TIME,
totalPedido DECIMAL(10,2),
estadoPedido VARCHAR(30),
pedidoaDomicilio CHAR(3),
idDetallePedido int,
ID_Usuario int,
FOREIGN KEY (ID_Usuario) REFERENCES Usuario(ID_Usuario),
FOREIGN KEY (idDetallePedido) REFERENCES detallePedido(idDetallePedido)
);
INSERT INTO Pedido (fechaPedido, horaPedido, totalPedido, estadoPedido, pedidoaDomicilio,
idDetallePedido, ID_Usuario) VALUES
('2023-10-02', '14:30:00', 27970, 'Pendiente', 'Si', 1, 1),
('2023-10-02', '15:00:00', 5990, 'Entregado', 'No', 2, 2),
('2023-10-03', '14:45:00', 79900, 'Pendiente', 'Si', 3, 3),
('2023-10-03', '16:10:00', 15800, 'Entregado', 'No', 4, 4),
('2023-10-04', '13:20:00', 32900, 'Pendiente', 'Si', 5, 5),
('2023-10-04', '14:15:00', 75600, 'Entregado', 'No', 6, 6),
('2023-10-05', '17:30:00', 19800, 'Pendiente', 'Si', 7, 7),
('2023-10-05', '18:20:00', 4490, 'Entregado', 'No', 8, 8),
('2023-10-06', '12:40:00', 79500, 'Pendiente', 'Si', 9, 9),
('2023-10-06', '13:15:00', 32970, 'Entregado', 'No', 10, 10),
('2023-10-07', '16:55:00', 13800, 'Pendiente', 'Si', 11, 11),
('2023-10-07', '17:30:00', 2590, 'Entregado', 'No', 12, 12),
('2023-10-08', '14:10:00', 55600, 'Pendiente', 'Sí', 13, 13),
('2023-10-08', '14:45:00', 29970, 'Entregado', 'No', 14, 14),
('2023-10-09', '18:00:00', 8980, 'Pendiente', 'Si', 15, 15),
('2023-10-09', '18:30:00', 1990, 'Entregado', 'No', 16, 16),
('2023-10-10', '12:15:00', 49500, 'Pendiente', 'Si', 17, 17),
('2023-10-10', '13:00:00', 16470, 'Entregado', 'No', 18, 18),
('2023-10-11', '15:20:00', 5780, 'Pendiente', 'Sí', 19, 19),
('2023-10-11', '15:50:00', 1290, 'Entregado', 'No', 20, 20),
('2023-10-12', '17:10:00', 27600, 'Pendiente', 'si', 21, 21),
('2023-10-12', '17:45:00', 6900, 'Entregado', 'No', 22, 22);
SELECT * FROM Usuario;
SELECT COUNT(*) FROM Usuario WHERE EstadoUsuario = 'Activo';
SELECT * FROM Usuario WHERE TipoDocUsuario = 'DNI';
SELECT * FROM Usuario WHERE idRolUsuarioFK = 2;
SELECT * FROM Usuario ORDER BY ApellidoUsuario ASC;
SELECT NombreUsuario, CorreoUsuario FROM Usuario WHERE EstadoUsuario = 'Activo' AND
TipoDocUsuario = 'DNI';
SELECT NombreUsuario, CorreoUsuario FROM Usuario WHERE EstadoUsuario = 'Activo' AND
TipoDocUsuario = 'DNI';
SELECT * FROM Usuario WHERE EstadoUsuario = 'Inactivo' AND TipoDocUsuario = 'Pasaporte' AND
NumdocUsuario LIKE '%5678%';
SELECT * FROM Usuario WHERE EstadoUsuario = 'Activo' ORDER BY idRolUsuarioFK DESC;
SELECT * FROM Usuario WHERE CorreoUsuario = '[email protected]';
UPDATE Usuario SET EstadoUsuario = 'Inactivo' WHERE NumdocUsuario = '12341234';
DELETE FROM Usuario WHERE idUsuario = 5;
SELECT * FROM Usuario ORDER BY ApellidoUsuario ASC;
SELECT * FROM Usuario ORDER BY ApellidoUsuario DESC;
SELECT * FROM Domicilio;
SELECT * FROM Domicilio WHERE estado_Domicilio = 'En camino';
SELECT * FROM Domicilio ORDER BY hora_Domicilio ASC;
SELECT * FROM Domicilio ORDER BY hora_Domicilio DESC;