-CREACION DE LA BASE DE DATOS
CREATE DATABASE DbArriendaYaUSE DbArriendaYa
CREATE TABLE TBLCLIENTE (
ID_ARRENDATARIO int NOT NULL PRIMARY KEY,
NOMBRE varchar (30) NOT NULL,
EDAD int NULL,
CERTIFICADO_TRABAJO nvarchar (50) NOT NULL,
ID_FIADOR int NOT NULL
)
CREATE TABLE TBLCONTRATO (
COD_CONTRATO int NOT NULL PRIMARY KEY,
ID_RESPONSABLE int NULL,
ID_DUEÑO int NULL,
ID_ARRENDATARIO int NULL,
COD_PROPIEDAD int NULL,
PRECIO smallmoney NULL,
FECHA_ARRIENDO DATE
)
CREATE TABLE TBLDUENO (
ID_DUEÑO int NOT NULL PRIMARY KEY,
NOMBRE varchar (50) NOT NULL,
EDAD int NULL,
CEDULA int NOT NULL
)
CREATE TABLE TBLFIADOR (
ID_FIADOR int NOT NULL PRIMARY KEY,
CEDULA int NOT NULL,
NOMBRE varchar (30) NULL,
NUMERO_BIENES int NOT NULL
)
CREATE TABLE TBLPAGO (
COD_PAGO int NOT NULL PRIMARY KEY,
ID_ARRENDAMIENTO int NULL,
COD_CONTRATO int NULL,
COD_PROPIEDAD int NULL,
MONTO_PA smallmoney NULL
)
CREATE TABLE TBLPROPIEDAD (
COD_PROPIEDAD int NOT NULL PRIMARY KEY,
ID_RESPONSABLE int NOT NULL,
ID_DUENO int NOT NULL,
COD_PA int NULL,
ID_ARRENDATARIO int NULL,
UBICACION nvarchar (50) NOT NULL,
PRECIO numeric (18, 0) NOT NULL,
TAMAÑO numeric (18, 0) NULL
)
CREATE TABLE TBLRESPONSABLE (
ID_RESPONSABLE int NOT NULL PRIMARY KEY,
CEDULA int NOT NULL,
NOMBRE varchar (50) NOT NULL,
EDAD int NULL
)
ALTER TABLE TBLCLIENTE ADD CONSTRAINT FK_TBLCLIENTE_TBLFIADOR FOREIGN KEY( ID_FIADOR )
REFERENCES TBLFIADOR ( ID_FIADOR )
ALTER TABLE TBLCLIENTE CHECK CONSTRAINT FK_TBLCLIENTE_TBLFIADOR
ALTER TABLE TBLCONTRATO ADD CONSTRAINT FK_TBLCONTRATO_TBLCLIENTE FOREIGN KEY( ID_ARRENDATARIO )
REFERENCES TBLCLIENTE ( ID_ARRENDATARIO )
ALTER TABLE TBLCONTRATO CHECK CONSTRAINT FK_TBLCONTRATO_TBLCLIENTE
ALTER TABLE TBLCONTRATO ADD CONSTRAINT FK_TBLCONTRATO_TBLDUENO FOREIGN KEY( ID_DUEÑO )
REFERENCES TBLDUENO ( ID_DUEÑO )
ALTER TABLE TBLCONTRATO CHECK CONSTRAINT FK_TBLCONTRATO_TBLDUENO
ALTER TABLE TBLCONTRATO ADD CONSTRAINT FK_TBLCONTRATO_TBLRESPONSABLE FOREIGN KEY( ID_RESPONSABLE )
REFERENCES TBLRESPONSABLE ( ID_RESPONSABLE )
ALTER TABLE TBLCONTRATO CHECK CONSTRAINT FK_TBLCONTRATO_TBLRESPONSABLE
ALTER TABLE TBLPAGO ADD CONSTRAINT FK_TBLPAGOTBLCLIENTE FOREIGN KEY( ID_ARRENDAMIENTO )
REFERENCES TBLCLIENTE ( ID_ARRENDATARIO )
ALTER TABLE TBLPAGO CHECK CONSTRAINT FK_TBLPAGOTBLCLIENTE
ALTER TABLE TBLPAGO ADD CONSTRAINT FK_TBLPAGOTBLCONTRATO FOREIGN KEY( COD_CONTRATO )
REFERENCES TBLCONTRATO ( COD_CONTRATO )
ALTER TABLE TBLPAGO CHECK CONSTRAINT FK_TBLPAGOTBLCONTRATO
ALTER TABLE TBLPAGO ADD CONSTRAINT FK_TBLPAGOTBLPROPIEDAD FOREIGN KEY( COD_CONTRATO )
REFERENCES TBLPROPIEDAD ( COD_PROPIEDAD )
ALTER TABLE TBLPAGO CHECK CONSTRAINT FK_TBLPAGOTBLPROPIEDAD
ALTER TABLE TBLPROPIEDAD ADD CONSTRAINT FK__TBLPROPIE__ID_AR__7B5B524B FOREIGN KEY( ID_ARRENDATARIO )
REFERENCES TBLCLIENTE ( ID_ARRENDATARIO )
ALTER TABLE TBLPROPIEDAD CHECK CONSTRAINT FK__TBLPROPIE__ID_AR__7B5B524B
ALTER TABLE TBLPROPIEDAD ADD CONSTRAINT FK__TBLPROPIE__ID_DU__797309D9 FOREIGN KEY( ID_DUENO )
REFERENCES TBLDUENO ( ID_DUEÑO )
ALTER TABLE TBLPROPIEDAD CHECK CONSTRAINT FK__TBLPROPIE__ID_DU__797309D9
ALTER TABLE TBLPROPIEDAD ADD CONSTRAINT FK__TBLPROPIE__ID_RE__787EE5A0 FOREIGN KEY( ID_RESPONSABLE )
REFERENCES TBLRESPONSABLE ( ID_RESPONSABLE )
ALTER TABLE TBLPROPIEDAD CHECK CONSTRAINT FK__TBLPROPIE__ID_RE__787EE5A0
--DESPUES DE LA CREACION DE LAS TABLAS CON SUS CORRESPONDIENTES REFERENCIAS SE LLENAN LAS TABLAS
INSERT TBLDUENO ( ID_DUEÑO , NOMBRE , EDAD , CEDULA ) VALUES (1, N'JORGE PEREZ', 46, 999999999)
INSERT TBLDUENO ( ID_DUEÑO , NOMBRE , EDAD , CEDULA ) VALUES (2, N'ANIBAL RUIZ', 45, 888888888)
INSERT TBLDUENO ( ID_DUEÑO , NOMBRE , EDAD , CEDULA ) VALUES (3, N'JUAN GIL', 71, 555555555)
INSERT TBLDUENO ( ID_DUEÑO , NOMBRE , EDAD , CEDULA ) VALUES (4, N'DANIEL CAMPOS', 25, 100300000)
INSERT TBLDUENO ( ID_DUEÑO , NOMBRE , EDAD , CEDULA ) VALUES (5, N'ESTEBAN AGUIRRE', 35, 666666666)
-------------------------------------------------------------------------------
INSERT TBLRESPONSABLE ( ID_RESPONSABLE , CEDULA , NOMBRE , EDAD ) VALUES (1, 87878787, N'RESPONJARIO', 45)
INSERT TBLRESPONSABLE ( ID_RESPONSABLE , CEDULA , NOMBRE , EDAD ) VALUES (2, 63636363, N'JOSE MANUEL', 35)
INSERT TBLRESPONSABLE ( ID_RESPONSABLE , CEDULA , NOMBRE , EDAD ) VALUES (3, 12121212, N'ROSARIO', 30)
INSERT TBLRESPONSABLE ( ID_RESPONSABLE , CEDULA , NOMBRE , EDAD ) VALUES (4, 96969696, N'CAROLINA', 25)
INSERT TBLRESPONSABLE ( ID_RESPONSABLE , CEDULA , NOMBRE , EDAD ) VALUES (5, 15151515, N'DEISY', 19)
-------------------------------------------------------------------------------
INSERT TBLFIADOR ( ID_FIADOR , CEDULA , NOMBRE , NUMERO_BIENES ) VALUES (1, 1000000, N'PEDRO', 3)
INSERT TBLFIADOR ( ID_FIADOR , CEDULA , NOMBRE , NUMERO_BIENES ) VALUES (2, 1111111, N'MANUEL', 4)
INSERT TBLFIADOR ( ID_FIADOR , CEDULA , NOMBRE , NUMERO_BIENES ) VALUES (3, 3333333, N'CESAR', 2)
INSERT TBLFIADOR ( ID_FIADOR , CEDULA , NOMBRE , NUMERO_BIENES ) VALUES (4, 2222222, N'GLORIA', 1)
INSERT TBLFIADOR ( ID_FIADOR , CEDULA , NOMBRE , NUMERO_BIENES ) VALUES (5, 5555555, N'ANGELICA', 7)
-------------------------------------------------------------------------------
INSERT TBLCLIENTE ( ID_ARRENDATARIO , NOMBRE , EDAD , CERTIFICADO_TRABAJO , ID_FIADOR ) VALUES (1, N'JUAN', 21, N'SI', 1)
INSERT TBLCLIENTE ( ID_ARRENDATARIO , NOMBRE , EDAD , CERTIFICADO_TRABAJO , ID_FIADOR ) VALUES (2, N'JOSE', 30, N'SI, RUTA=123131231', 2)
INSERT TBLCLIENTE ( ID_ARRENDATARIO , NOMBRE , EDAD , CERTIFICADO_TRABAJO , ID_FIADOR ) VALUES (3, N'SERGIO', 18, N'AAAAAAAAAAAA', 3)
INSERT TBLCLIENTE ( ID_ARRENDATARIO , NOMBRE , EDAD , CERTIFICADO_TRABAJO , ID_FIADOR ) VALUES (4, N'MARIA', 18, N'SI', 2)
INSERT TBLCLIENTE ( ID_ARRENDATARIO , NOMBRE , EDAD , CERTIFICADO_TRABAJO , ID_FIADOR ) VALUES (5, N'MARIA JOSE', 18, N'SI, UBICADO EN ', 5)
-------------------------------------------------------------------------------
INSERT TBLPROPIEDAD ( COD_PROPIEDAD , ID_RESPONSABLE , ID_DUENO , COD_PAGO , ID_ARRENDATARIO , UBICACION , PRECIO , TAMAÑO ) VALUES (1, 1, 1, 1, 1, N'POBLADO', CAST(4587000 AS Numeric(18, 0)), CAST(70 AS Numeric(18, 0)))
INSERT TBLPROPIEDAD ( COD_PROPIEDAD , ID_RESPONSABLE , ID_DUENO , COD_PAGO , ID_ARRENDATARIO , UBICACION , PRECIO , TAMAÑO ) VALUES (2, 2, 2, 2, 2, N'BELLO', CAST(7894894 AS Numeric(18, 0)), CAST(50 AS Numeric(18, 0)))
INSERT TBLPROPIEDAD ( COD_PROPIEDAD , ID_RESPONSABLE , ID_DUENO , COD_PAGO , ID_ARRENDATARIO , UBICACION , PRECIO , TAMAÑO ) VALUES (3, 3, 3, 3, 3, N'POBLADO', CAST(848948 AS Numeric(18, 0)), CAST(80 AS Numeric(18, 0)))
INSERT TBLPROPIEDAD ( COD_PROPIEDAD , ID_RESPONSABLE , ID_DUENO , COD_PAGO , ID_ARRENDATARIO , UBICACION , PRECIO , TAMAÑO , HABITACIONES , TIPO) VALUES (4, 1, 2, 1, 3, N'POBLADO', CAST(45870 AS Numeric(18, 0)), CAST(80 AS Numeric(18, 0)), 4, 'CASA')
INSERT TBLPROPIEDAD ( COD_PROPIEDAD , ID_RESPONSABLE , ID_DUENO , COD_PAGO , ID_ARRENDATARIO , UBICACION , PRECIO , TAMAÑO , HABITACIONES , TIPO) VALUES (5, 2, 3, 3, 1, N'CASTILLA', CAST(45870 AS Numeric(18, 0)), CAST(80 AS Numeric(18, 0)), 7, 'CASA')
INSERT TBLPROPIEDAD ( COD_PROPIEDAD , ID_RESPONSABLE , ID_DUENO , COD_PAGO , ID_ARRENDATARIO , UBICACION , PRECIO , TAMAÑO , HABITACIONES ) VALUES (6, 2, 1, 1, 1, 'calle 25 #12-12.', CAST(45870 AS Numeric(18, 0)), CAST(80 AS Numeric(18, 0)), 7)
-------------------------------------------------------------------------------
INSERT TBLCONTRATO ( COD_CONTRATO , ID_RESPONSABLE , ID_DUEÑO , ID_ARRENDATARIO , COD_PROPIEDAD , PRECIO , FECHA_ARRIENDO) VALUES (1, 1, 1, 1, 1, 80000.0000, '2018-09-09')
INSERT TBLCONTRATO ( COD_CONTRATO , ID_RESPONSABLE , ID_DUEÑO , ID_ARRENDATARIO , COD_PROPIEDAD , PRECIO , FECHA_ARRIENDO) VALUES (2, 2, 2, 2, 2, 100.0000, '2013-10-10')
INSERT TBLCONTRATO ( COD_CONTRATO , ID_RESPONSABLE , ID_DUEÑO , ID_ARRENDATARIO , COD_PROPIEDAD , PRECIO , FECHA_ARRIENDO ) VALUES (3, 3, 3, 3, 3, 41651.0000,'2014-10-10')
INSERT TBLCONTRATO ( COD_CONTRATO , ID_RESPONSABLE , ID_DUEÑO , ID_ARRENDATARIO , COD_PROPIEDAD , PRECIO , FECHA_ARRIENDO ) VALUES (4, 4, 4, 4, 4, 52311.0000,'2015-08-09')
-------------------------------------------------------------------------------
INSERT TBLPAGO (COD_PAGO, ID_ARRENDAMIENTO ,COD_CONTRATO,COD_PROPIEDAD ,MONTO_PAGO) VALUES(1,1,1,1,800.0000)
INSERT TBLPAGO (COD_PAGO, ID_ARRENDAMIENTO ,COD_CONTRATO,COD_PROPIEDAD ,MONTO_PAGO) VALUES(2, 2, 2, 2, 300.0000)
INSERT TBLPAGO (COD_PAGO, ID_ARRENDAMIENTO ,COD_CONTRATO,COD_PROPIEDAD ,MONTO_PAGO) VALUES(3, 3, 3, 3, 400.0000)
INSERT TBLPAGO (COD_PAGO, ID_ARRENDAMIENTO ,COD_CONTRATO,COD_PROPIEDAD ,MONTO_PAGO) VALUES(4, 1, 2, 6, 400.0000)
INSERT TBLPAGO (COD_PAGO, ID_ARRENDAMIENTO ,COD_CONTRATO,COD_PROPIEDAD ,MONTO_PAGO) VALUES(5, 1, 2, 6, 600.0000)
-------------------------------------------------------------------------------
--CONSULTAS CORRESPONDIENTES
--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 TBLPROPIEDAD WHERE HABITACIONES > 3 AND (TAMAÑO > 68 OR TIPO='CASA')
--Mostrar los datos de los pagos generados por la propiedad con dirección calle 25 #12-12.
SELECT TBLPAGO.COD_PAGO, MONTO_PAGO, UBICACION FROM TBLPAGO JOIN TBLPROPIEDAD ON TBLPAGO.COD_PROPIEDAD = TBLPROPIEDAD.COD_PROPIEDAD WHERE UBICACION = 'calle 25 #12-12'
--Mostrar los datos de las propiedades arrendadas en fechas menores a 01/01/2016
SELECT TBLPROPIEDAD.*
FROM TBLPROPIEDAD
JOIN TBLDUENO
ON TBLPROPIEDAD.ID_DUENO = TBLDUENO.ID_DUEÑO
JOIN TBLCONTRATO
ON TBLDUENO.ID_DUEÑO= TBLCONTRATO.ID_DUEÑO
WHERE TBLCONTRATO.FECHA_ARRIENDO < '01/01/2016'
--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 TBLCLIENTE.*
FROM TBLCLIENTE
JOIN TBLPROPIEDAD
ON TBLCLIENTE.ID_FIADOR = TBLPROPIEDAD.ID_ARRENDATARIO
JOIN TBLDUENO
ON TBLPROPIEDAD.ID_DUENO = TBLDUENO.ID_DUEÑO
WHERE TBLPROPIEDAD.UBICACION = 'POBLADO' AND (TBLDUENO.NOMBRE = 'Jorge Pérez' OR TBLDUENO.NOMBRE = 'Aníbal Ruiz')
No hay comentarios:
Publicar un comentario