sábado, 14 de noviembre de 2020

Manipulacion Base de Datos

 -CREACION DE LA BASE DE DATOS

CREATE DATABASE DbArriendaYa
USE 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