TIA 2 - Implementacion - y - Manipulación - de - Bases - de - Datos

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 10

TIA2: Implementación y Manipulación de Bases de Datos

PLANTEAMIENTO DEL PROBLEMA

Situación de una Agencia de Arrendamientos

Nota: Realice una copia de seguridad en su computador personal en caso de


pérdida del documento original.

Se requiere crear un modelo entidad relación que cuenta con las siguientes
características:

a. Se tiene un conjunto de sedes que pertenecen a la agencia de arrendamiento en cada


una hay un administrador responsable.

b. Cuenta con 5000 propiedades para cada propiedad que se arrienda se debe conocer
su ubicación y sus características principales.

c. Cada propiedad tiene un dueño.

d. Para los que toman el arriendo de la propiedad que serían los clientes deben presentar
certificados de trabajo.

e. Para que un cliente pueda tomar en arriendo una propiedad necesita proporciona
mínimo un fiador que cuente con uno o más bienes para que pueda respaldar el contrato
de alquiler o arriendo.

f. Una propiedad varía su precio en cada nuevo contrato que realiza.

g.También se manejan los pagos que se han generado por cada contrato de
arrendamiento de una determinada propiedad.

Orientaciones:

Propósito:
Aplicar las operaciones de DDL (crear los objetos de la base de datos) y
DML( insertar, consultar, actualizar y borrar) para manipular la base de datos
Instrucciones:
En la siguiente página usted encontrará una portada con el título “ Diseño de Base
de Datos en el MER” y debe elaborar lo siguiente:

1. La creación de la base de datos, el script con comandos DDL del diseño


entregado en la unidad 1, este ya debe estar corregido en la realimentación que le
realizó el docente.
2. El diagrama generado por el sistema gestor de base de datos SQL Server.
3. Los comandos DDL utilizados para insertar mínimo tres registros por tabla.
4. Los comandos DML dar solución a las siguientes consultas
4.1. 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.
4.2. Mostrar los datos de los pagos generados por la propiedad con dirección calle
25 #12-12.
4.3. Mostrar los datos de las propiedades arrendadas en fechas menores a
01/01/2016
4.4. Mostrar los datos de clientes que han arrendado casas en el poblado y sus
dueños son Jorge Pérez o Aníbal Ruiz

!Muy importante!
Para tener en cuenta:
Esta actividad se realizará en grupos máximo de cuatro estudiantes.
El envío se hace por la herramienta Tareas de la plataforma.
Para la solución se deben tener en cuenta todos los saberes de la unidad 2.
Diseño de Base de Datos en el MER

Tutor(a)
Diego Alexander Duque Marín

Nombres completos

Alexis Darío Mira Restrepo


Andrés Darío Otalvaro Sánchez
Harlinson Vásquez Casanova
Cristian Humberto Henao Villa

Fecha
2021-11-11

Ciudad
Medellín
DESARROLLO

1.
Script DDL y DML
create database CasaLegal
Go
use CasaLegal

create table Agencia(


cod_sucursal int primary key,
nom_agencia varchar(30) not null,
direccion_agencia varchar(50) not null,
)

create table Administrador(


cod_sucursal int not null,
ced_administrador int primary key,
nom_administrador varchar(30) not null,
tel_administrador int not null,
foreign key (cod_sucursal) references Agencia (cod_sucursal)
)

create table Contratos(


cod_contrato int primary key,
fecha_inicio date not null,
fecha_fin date not null,
valor_mensualidad float not null,
)

create table Propietario(


ced_propietario int primary key,
tel_propietario int not null,
nom_propietario varchar (50) not null
)

create table Propiedad(


cod_propiedad int primary key,
ubicacion varchar (60) not null,
tipo_inmueble varchar(30) not null,
cant_contratos int not null,
estado_contrato bit not null, /** Tipo Booleano **/
cod_sucursal int not null,
ced_propietario int not null,
foreign key (cod_sucursal) references Agencia (cod_sucursal),
foreign key (ced_propietario) references Propietario (ced_propietario)
)

create table Caracteristicas(


cod_propiedad int not null,
estrato int not null,
cant_habitaciones int not null,
cant_banos int not null,
metros_cuadrados float not null,
parqueadero int not null,
piso int not null,
porteria bit not null,
foreign key (cod_propiedad) references Propiedad (cod_propiedad)
)

create table Pagos(


cod_propiedad int not null,
cod_contrato int not null,
fecha_pago date not null,
foreign key (cod_propiedad) references Propiedad (cod_propiedad),
foreign key (cod_contrato) references Contratos (cod_contrato)
)

create table Cliente(


ced_cliente int primary key,
tel_cliente int not null,
nom_cliente varchar (50) not null
)

create table PropiedadArrendada(


ced_cliente int not null,
cod_propiedad int not null,
valor_contrato_inicial float not null,
ced_administrador int not null,
cod_contrato int not null,
foreign key (ced_cliente) references Cliente (ced_cliente),
foreign key (cod_propiedad) references Propiedad (cod_propiedad),
foreign key (ced_administrador) references Administrador (ced_administrador),
foreign key (cod_contrato) references Contratos (cod_contrato)
)

create table CertificadoTrabajo(


cod_certificado int primary key,
ced_cliente int not null,
foreign key (ced_cliente) references Cliente (ced_cliente)
)

create table Fiador(


ced_fiador int primary key,
tel_fiador int not null,
cant_bienes int not null,
tipo_de_bienes varchar (100) not null,
ced_cliente int not null,
foreign key (ced_cliente) references Cliente (ced_cliente)
)

select * from Agencia

insert into Agencia values (1,'centro','Calle 1')


insert into Agencia values (2,'norte','Calle 2')
insert into Agencia values (3,'sur','Calle 3')
insert into Agencia values (4,'oeste','Calle 3')
insert into Administrador values (1,1,'Alexis',555)
insert into Administrador values (2,2,'Andres',222)
insert into Administrador values (3,3,'Cristian',333)
insert into Administrador values (4,4,'Harlinson',666)

select * from Administrador

insert into Propietario values (1,669,'Claudia')


insert into Propietario values (2,111,'Oscar')
insert into Propietario values (3,777,'Rafael')
insert into Propietario values (4,7584,'Anibal Ruiz')
insert into Propietario values (5,6952,'Jorge Peréz')

select * from Propietario

insert into Propiedad values (1,'Laureles','Apartamento',2,1,1,1)


insert into Propiedad values (2,'San Benito','casa',5,0,3,2)
insert into Propiedad values (3,'Rionegro','Hacienda',6,0,2,3)
insert into Propiedad values (4,'Calle 25# 12-12','local',1,1,2,3)
insert into Propiedad values (5,'Poblado','Casa',2,1,2,4)
insert into Propiedad values (6,'Poblado','Casa',3,1,2,5)

select * from Propiedad

insert into Caracteristicas values (1,2,3,2,89,1,58,1)


insert into Caracteristicas values (2,4,5,3,120,2,1,0)
insert into Caracteristicas values (3,1,10,4,340,3,1,1)
insert into Caracteristicas values (4,2,3,2,89,1,15,1)
insert into Caracteristicas values (5,6,4,3,98,2,3,1)
insert into Caracteristicas values (6,6,5,3,102,2,9,1)

select * from Caracteristicas

insert into Cliente values (10,852,'Ramona')


insert into Cliente values (20,741,'Simon')
insert into Cliente values (30,963,'Fabio')

select * from Cliente

insert into CertificadoTrabajo values (366,10)


insert into CertificadoTrabajo values (455,20)
insert into CertificadoTrabajo values (255,30)

select * from CertificadoTrabajo

insert into Fiador values (654,3573,1,'Casa',10)


insert into Fiador values (321,5926,1,'Apartamento',20)
insert into Fiador values (951,3847,1,'Casa',30)

select * from Fiador

insert into Contratos values (1,'07/19/2007','09/11/2010',1750000)


insert into Contratos values (2,'05/06/2005','03/04/2009',1550000)
insert into Contratos values (3,'02/03/2004','01/01/2008',1310500)
insert into Contratos values (4,'01/01/2015','01/01/2017',1150000)
insert into Contratos values (5,'01/03/2017','01/01/2019',1680000)
insert into Contratos values (6,'02/03/2020','01/01/2021',1370000)
select * from Contratos

insert into Pagos values (1,2,'09/12/2009')


insert into Pagos values (2,1,'03/05/2004')
insert into Pagos values (3,3,'01/02/2001')
insert into Pagos values (4,4,'2010-09-10')

select * from Pagos

insert into PropiedadArrendada values (10,4,1400000,1,1)


insert into PropiedadArrendada values (20,5,1200000,2,2)
insert into PropiedadArrendada values (30,6,7000000,3,3)

select * from PropiedadArrendada

insert into PropiedadArrendada values (10,4,495750,1,4)


insert into PropiedadArrendada values (20,5,685000,2,5)
insert into PropiedadArrendada values (30,6,741258,3,6)

2.

3. Link video sustentación

https://drive.google.com/file/d/1SyoVWczUqEcx-2-
FXCyTXsaIHS7dJJhd/view?ts=5fb17297
4.Querys

-- 4.1
select p.cod_propiedad as 'Codigo de propiedad', p.tipo_inmueble as 'Tipo de
inmueble', c.cant_habitaciones as 'Cantidad de habitaciones',
c.metros_cuadrados as 'Metros cuadrados' from Propiedad as p
inner join Caracteristicas as c on p.cod_propiedad = c.cod_propiedad
where tipo_inmueble = 'casa' and c.cant_habitaciones > 3 and
c.metros_cuadrados > 68

-- 4.2
select p.cod_propiedad as 'Codigo propiedad', p.ubicacion as 'Ubicacion',
pg.fecha_pago as 'Fecha de pago' from Propiedad as p
inner join Pagos as pg on p.cod_propiedad = pg.cod_propiedad
where ubicacion = 'Calle 25# 12-12';

--4.3

select pa.cod_contrato, pa.ced_cliente, c.fecha_inicio, c.valor_mensualidad


from PropiedadArrendada as pa
inner join Contratos as c on pa.cod_contrato = c.cod_contrato
where c.fecha_inicio < '2016-01-01'

--4.4
SELECT distinct CL.nom_cliente as 'Nombre cliente', CL.tel_cliente as 'Telefono
cliente', CL.ced_cliente as 'Cedula cliente', P.tipo_inmueble as 'Tipo inmueble',
P.ubicacion as 'Ubicacion', pr.nom_propietario as 'Nombre propietario'
FROM Propiedad P
INNER JOIN PropiedadArrendada PA ON PA.cod_propiedad = P.cod_propiedad
INNER JOIN Propietario PR ON PR.ced_propietario = P.ced_propietario
INNER JOIN Cliente CL ON CL.ced_cliente = PA.ced_cliente
WHERE P.ubicacion = 'Poblado' AND (PR.nom_propietario IN ('Jorge Peréz',
'Anibal Ruiz'))

También podría gustarte