LINK DEL VIDEO https://drive.google.com/file/d/1hLxwSSMsjyBy01JRh8LgXzPqM20LpvVs/view?usp=share_link
DROP DATABASE TIA_UNIDAD_2
CREATE DATABASE TIA_UNIDAD_2 -- Creación de la tabla AgenciaArrendamientos CREATE TABLE AgenciaArrendamientos ( idAgenciaArrendamiento INT PRIMARY KEY, Nombre VARCHAR(255), Telefono VARCHAR(20), Direccion VARCHAR(255) ); -- Creación de la tabla Sedes CREATE TABLE Sedes ( idSede INT PRIMARY KEY, Nombre VARCHAR(255), Telefono VARCHAR(20), Direccion VARCHAR(255), AgenciaArrendamiento_idAgenciaAarendamiento INT, FOREIGN KEY (AgenciaArrendamiento_idAgenciaAarendamiento) REFERENCES AgenciaArrendamientos(idAgenciaArrendamiento) ); -- Creación de la tabla Administradores CREATE TABLE Administradores ( idAdministrador INT PRIMARY KEY, Nombre VARCHAR(255), Telefono VARCHAR(20), Email VARCHAR(255), Sedes_idSede INT, FOREIGN KEY (Sedes_idSede) REFERENCES Sedes(idSede) ); -- Creación de la tabla Propiedades CREATE TABLE Propiedades ( idPropiedades INT PRIMARY KEY, Descripcion VARCHAR(255), Precio DECIMAL(10,2), Habitaciones INT, Area DECIMAL(10,2), Propietario VARCHAR(255), Sedes_idSede INT, Dueños_idDueños INT, TipoInmueble_idTipoInmueble INT, servicios_idServicios INT, Ubicacion_idUbicacion INT FOREIGN KEY (Sedes_idSede) REFERENCES Sedes(idSede), FOREIGN KEY (Dueños_idDueños) REFERENCES Dueños(IdDueños), FOREIGN KEY (TipoInmueble_idTipoInmueble) REFERENCES TipoInmueble(idTipoInmueble), FOREIGN KEY (servicios_idServicios) REFERENCES Servicios(IdServicios), FOREIGN KEY (Ubicacion_idUbicacion) REFERENCES Ubicación(idUbicacion) ); -- Creación de la tabla TipoInmueble CREATE TABLE TipoInmueble ( idTipoInmueble INT PRIMARY KEY, Nombre VARCHAR(255) ); -- Creación de la tabla Servicios CREATE TABLE Servicios ( IdServicios INT PRIMARY KEY, TipoServicio VARCHAR(255) ); -- Creación de la tabla Dueños CREATE TABLE Dueños ( IdDueños INT PRIMARY KEY, Nombre VARCHAR(255), Cedula VARCHAR(20), Email VARCHAR(255) ); -- Creación de la tabla Ubicación CREATE TABLE Ubicación ( idUbicacion INT PRIMARY KEY, Pais VARCHAR(255), Ciudad VARCHAR(255), Barrio VARCHAR(255), Direccion VARCHAR(255) ); -- Creación de la tabla Arriendos CREATE TABLE Arriendos ( IdArriendo INT PRIMARY KEY, Fecha DATE, FormaPago VARCHAR(255), ValorPago DECIMAL(10,2), Clientes_idClientes INT, Propiedades_idPropiedades INT, FOREIGN KEY (Clientes_idClientes) REFERENCES Clientes(IdClientes), FOREIGN KEY (Propiedades_idPropiedades) REFERENCES Propiedades(idPropiedades) ); -- Creación de la tabla Clientes CREATE TABLE Clientes ( IdClientes INT PRIMARY KEY, Nombre VARCHAR(255), Apellido VARCHAR(255), Direccion VARCHAR(255), Telefono VARCHAR(20) ); -- Creación de la tabla Fiador CREATE TABLE Fiador ( IdFiador INT PRIMARY KEY, Nombre VARCHAR(255), Direccion VARCHAR(255), Telefono VARCHAR(20), Clientes_idClientes INT, FOREIGN KEY (Clientes_idClientes) REFERENCES Clientes(IdClientes) ); -- Creación de la tabla Bienes CREATE TABLE Bienes ( IdBienes INT PRIMARY KEY, Nombre VARCHAR(255), Direccion VARCHAR(255), Valor DECIMAL(10,2), Fiador_idFiador INT, FOREIGN KEY (Fiador_idFiador) REFERENCES Fiador(IdFiador) ); -- Creación de la tabla CertificadosLaboral CREATE TABLE CertificadosLaboral ( IdCertificadosLaboral INT PRIMARY KEY, Descripcion VARCHAR(255), Fecha DATE, Clientes_idClientes INT, FOREIGN KEY (Clientes_idClientes) REFERENCES Clientes(IdClientes) ); -- Creación de la tabla Pagos CREATE TABLE Pagos ( idPago INT PRIMARY KEY, Fecha DATE, Monto DECIMAL(10,2), Propiedades_idPropiedades INT, FOREIGN KEY (Propiedades_idPropiedades) REFERENCES Propiedades(idPropiedades) ); -- Inserción de registros en la tabla AgenciaArrendamientos INSERT INTO AgenciaArrendamientos (idAgenciaArrendamiento, Nombre, Telefono, Direccion) VALUES (1, 'Agencia 1', '1234567', 'Calle 1 # 1-1'); INSERT INTO AgenciaArrendamientos (idAgenciaArrendamiento, Nombre, Telefono, Direccion) VALUES (2, 'Agencia 2', '2345678', 'Calle 2 # 2-2'); INSERT INTO AgenciaArrendamientos (idAgenciaArrendamiento, Nombre, Telefono, Direccion) VALUES (3, 'Agencia 3', '3456789', 'Calle 3 # 3-3'); -- Inserción de datos en la tabla Sedes INSERT INTO Sedes (idSede, Nombre, Telefono, Direccion, AgenciaArrendamiento_idAgenciaAarendamiento) VALUES (1, 'Sede 1', '1111111', 'Calle 1 # 1-1', 1); INSERT INTO Sedes (idSede, Nombre, Telefono, Direccion, AgenciaArrendamiento_idAgenciaAarendamiento) VALUES (2, 'Sede 2', '2222222', 'Calle 2 # 2-2', 2); INSERT INTO Sedes (idSede, Nombre, Telefono, Direccion, AgenciaArrendamiento_idAgenciaAarendamiento) VALUES (3, 'Sede 3', '3333333', 'Calle 3 # 3-3', 2); -- Inserción de datos en la tabla Administradores INSERT INTO Administradores (idAdministrador, Nombre, Telefono, Email, Sedes_idSede) VALUES (1, 'Admin 1', '1111111', 'admin1@sedes.com', 1); INSERT INTO Administradores (idAdministrador, Nombre, Telefono, Email, Sedes_idSede) VALUES (2, 'Admin 2', '2222222', 'admin2@sedes.com', 2); INSERT INTO Administradores (idAdministrador, Nombre, Telefono, Email, Sedes_idSede) VALUES (3, 'Admin 3', '3333333', 'admin3@sedes.com', 3); -- Inserción de datos en la tabla Propiedades INSERT INTO Propiedades (idPropiedades, Descripcion, Precio, Habitaciones, Area, Propietario, Sedes_idSede, Dueños_idDueños, TipoInmueble_idTipoInmueble, servicios_idServicios, Ubicacion_idUbicacion) VALUES (1, 'Apartamento 1', 1000000.00, 4, 75.50, 'Propietario 1', 1, 1, 1, 1, 1); INSERT INTO Propiedades (idPropiedades, Descripcion, Precio, Habitaciones, Area, Propietario, Sedes_idSede, Dueños_idDueños, TipoInmueble_idTipoInmueble, servicios_idServicios, Ubicacion_idUbicacion) VALUES (2, 'Casa 1', 2000000.00, 4, 120.00, 'Propietario 2', 2, 2, 2, 2, 2); INSERT INTO Propiedades (idPropiedades, Descripcion, Precio, Habitaciones, Area, Propietario, Sedes_idSede, Dueños_idDueños, TipoInmueble_idTipoInmueble, servicios_idServicios, Ubicacion_idUbicacion) VALUES (3, 'Oficina 1', 1000000.00, 2, 60.00, 'Propietario 3', 2, 3, 3, 3, 3); -- Inserción de datos en la tabla TipoInmueble INSERT INTO TipoInmueble (idTipoInmueble, Nombre) VALUES (1, 'Apartamento'), (2, 'Casa'), (3, 'Oficina'); -- Inserción de datos en la tabla Servicios INSERT INTO Servicios (IdServicios, TipoServicio) VALUES (1, 'Agua'), (2, 'Luz'), (3, 'Gas'); -- Inserción de datos en la tabla Dueños INSERT INTO Dueños (IdDueños, Nombre, Cedula, Email) VALUES (1, 'Carlos González', '1234567890', 'carlos.gonzalez@example.com'), (2, 'Ana López', '0987654321', 'ana.lopez@example.com'), (3, 'Jorge Pérez', '5678901234', 'mario.perez@example.com'); -- Inserción de datos en la tabla Ubicaccion INSERT INTO Ubicación (idUbicacion, Pais, Ciudad, Barrio, Direccion) VALUES (1, 'Colombia', 'Bogotá', 'Chapinero', 'Calle 57 # 13 - 23'), (2, 'Colombia', 'Medellín', 'Envigado', 'Carrera 43 A # 5 A Sur - 20'), (3, 'Colombia', 'Cali', 'Poblado', 'calle 25 #12-12'); -- Inserción de datos en la tabla Arriendos INSERT INTO Arriendos (IdArriendo, Fecha, FormaPago, ValorPago, Clientes_idClientes, Propiedades_idPropiedades) VALUES (1, '2022-01-01', 'Transferencia bancaria', 1500000.00, 1, 1), (2, '2022-02-01', 'Efectivo', 1000000.00, 2, 2), (3, '2015-01-01', 'Cheque', 1200000.00, 3, 3); -- Inserción de datos en la tabla Clientes INSERT INTO Clientes (IdClientes, Nombre, Apellido, Direccion, Telefono) VALUES (1, 'Juan', 'Perez', 'Calle 123 #45-67', '3001234567'); INSERT INTO Clientes (IdClientes, Nombre, Apellido, Direccion, Telefono) VALUES (2, 'Maria', 'Gonzalez', 'Carrera 78 #90-12', '3109876543'); INSERT INTO Clientes (IdClientes, Nombre, Apellido, Direccion, Telefono) VALUES (3, 'Pedro', 'Rodriguez', 'Avenida 56 #23-45', '3204567890'); -- Inserción de datos en la tabla Fiador INSERT INTO Fiador (IdFiador, Nombre, Direccion, Telefono, Clientes_idClientes) VALUES (1, 'Luisa', 'Calle 98 #65-43', '3108765432', 1); INSERT INTO Fiador (IdFiador, Nombre, Direccion, Telefono, Clientes_idClientes) VALUES (2, 'Jose', 'Avenida 34 #12-56', '3207890123', 2); INSERT INTO Fiador (IdFiador, Nombre, Direccion, Telefono, Clientes_idClientes) VALUES (3, 'Ana', 'Carrera 67 #89-01', '3002345678', 3); -- Inserción de datos en la tabla Bienes INSERT INTO Bienes (IdBienes, Nombre, Direccion, Valor, Fiador_idFiador) VALUES (1, 'Apartamento en El Poblado', 'Carrera 12 #10-32', 400000, 1); INSERT INTO Bienes (IdBienes, Nombre, Direccion, Valor, Fiador_idFiador) VALUES (2, 'Casa en Envigado', 'Calle 15 #20-18', 700000, 2); INSERT INTO Bienes (IdBienes, Nombre, Direccion, Valor, Fiador_idFiador) VALUES (3, 'Apartamento en Belén', 'Carrera 34 #45-67', 500000, 3); -- Inserción de datos en la tabla CertificadosLaboral INSERT INTO CertificadosLaboral (IdCertificadosLaboral, Descripcion, Fecha, Clientes_idClientes) VALUES (1, 'Certificado laboral para crédito bancario', '2022-04-15', 1); INSERT INTO CertificadosLaboral (IdCertificadosLaboral, Descripcion, Fecha, Clientes_idClientes) VALUES (2, 'Certificado laboral para arriendo de inmueble', '2022-05-02', 2); INSERT INTO CertificadosLaboral (IdCertificadosLaboral, Descripcion, Fecha, Clientes_idClientes) VALUES (3, 'Certificado laboral para solicitud de visa', '2022-06-22', 3); -- Inserción de registros en la tabla Pagos INSERT INTO Pagos (idPago, Fecha, Monto, Propiedades_idPropiedades) VALUES (1, '2023-05-01', 1000.00, 1); INSERT INTO Pagos (idPago, Fecha, Monto, Propiedades_idPropiedades) VALUES (2, '2023-05-05', 1500.00, 2); INSERT INTO Pagos (idPago, Fecha, Monto, Propiedades_idPropiedades) VALUES (3, '2023-05-10', 1200.00, 3); --Mostrar los datos de las propiedades con número de habitaciones mayor que 3 y tiene un área mayor que 68 mts2 o son tipo casa. SELECT * FROM Propiedades WHERE (Habitaciones > 3 AND Area > 68) OR TipoInmueble_idTipoInmueble = (SELECT idTipoInmueble FROM TipoInmueble WHERE Nombre = 'Casa') --Mostrar los datos de los pagos generados por la propiedad con dirección calle 25 #12-12. SELECT p.idPago, p.Fecha, p.Monto FROM Pagos p JOIN Propiedades pr ON p.Propiedades_idPropiedades = pr.idPropiedades JOIN Ubicación u ON pr.Ubicacion_idUbicacion = u.idUbicacion WHERE u.Direccion = 'calle 25 #12-12'; --Mostrar los datos de las propiedades arrendadas en fechas menores a 01/01/2016 SELECT * FROM Arriendos INNER JOIN Propiedades ON Arriendos.Propiedades_idPropiedades = Propiedades.idPropiedades WHERE Arriendos.Fecha < '2016-01-01'; --Mostrar los datos de clientes que han arrendado casas en el poblado y sus dueños son Jorge Pérez o Aníbal Ruiz SELECT c.Nombre AS Cliente, c.Apellido, p.Descripcion AS Propiedad, d.Nombre AS Dueño FROM Clientes c JOIN Arriendos a ON c.IdClientes = a.Clientes_idClientes JOIN Propiedades p ON a.Propiedades_idPropiedades = p.idPropiedades JOIN Dueños d ON p.Dueños_idDueños = d.IdDueños JOIN Ubicación u ON p.Ubicacion_idUbicacion = u.idUbicacion WHERE u.Barrio = 'Poblado' AND (d.Nombre = 'Jorge Pérez' OR d.Nombre = 'Aníbal Ruiz');
No hay comentarios:
Publicar un comentario