Implementación y manipulación de bases de datos
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.
q. 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
Sentencias para Crear Base de datos.
create database Arrendamiento
use Arrendamiento
create table Agencia(
cod_sucursal int primary key,
nom_agencia varchar(30) not null,
direccion_agencia varchar(50) not null,
)
create table Administrador(
cod_sucursal1 int not null,
ced_administrador int primary key,
nom_administrador varchar(30) not null,
tel_administrador int not null,
foreign key (cod_sucursal1) 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 FALSO O VERDADERO **/
cod_sucursal2 int not null,
ced_propietario2 int not null,
foreign key (cod_sucursal2) references Agencia (cod_sucursal),
foreign key (ced_propietario2) references Propietario (ced_propietario)
)
create table Caracteristicas(
cod_propiedad1 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, /* -1 sotano*/
porteria bit not null,
foreign key (cod_propiedad1) references Propiedad (cod_propiedad)
)
create table Pagos(
cod_propiedad2 int not null,
cod_contrato1 int not null,
fecha_pago date not null,
foreign key (cod_propiedad2) references Propiedad (cod_propiedad),
foreign key (cod_contrato1) 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_cliente1 int not null,
cod_propiedad1 int not null,
valor_contrato_inicial float not null,
ced_administrador1 int not null,
cod_contrato2 int not null,
foreign key (ced_cliente1) references Cliente (ced_cliente),
foreign key (cod_propiedad1) references Propiedad (cod_propiedad),
foreign key (ced_administrador1) references Administrador (ced_administrador),
foreign key (cod_contrato2) references Contratos (cod_contrato)
)
create table CertificadoTrabajo(
cod_certificado int primary key,
ced_cliente2 int not null,
foreign key (ced_cliente2) 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_cliente3 int not null,
foreign key (ced_cliente3) references Cliente (ced_cliente)
)
Sentencias para Insertar los datos.
/* Se va a realizar las sentencias para insertar los registros insert 1*/
insert into Agencia values (1,'centro','Calle 1')
insert into Agencia values (2,'norte','Calle 2')
insert into Agencia values (3,'sur','Calle 3')
select * from Agencia
/* Se va a realizar las sentencias para insertar los registros insert 2*/
insert into Administrador values (1,1,'Yurani',555)
insert into Administrador values (2,2,'Maria',222)
insert into Administrador values (3,3,'Hector',333)
select * from Administrador
/* Se va a realizar las sentencias para insertar los registros insert 3 */
insert into Propietario values (1,669,'Cristian')
insert into Propietario values (2,111,'Daniel')
insert into Propietario values (3,777,'Ray')
--propietarios solicitados
insert into Propietario values (4,7584,'Anibal Ruiz')
insert into Propietario values (5,6952,'Jorge Peréz')
select * from Propietario
/* Se va a realizar las sentencias para insertar los registros insert 4 */
insert into Propiedad values (1,'Belen','Apartamento',2,1,1,1)
insert into Propiedad values (2,'la america','casa',5,0,3,2)
insert into Propiedad values (3,'Llano grande','Hacienda',6,0,2,3)
-- Punto de ubicación Calle 25# 12-12
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
/* Se va a realizar las sentencias para insertar los registros insert 5*/
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)
select * from Caracteristicas
--sentencias para agregar requisitos de proyecto.
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)
/* Se va a realizar las sentencias para insertar los registros insert 6*/
insert into Cliente values (10,852,'Armando')
insert into Cliente values (20,741,'Esteban')
insert into Cliente values (30,963,'Quito')
select * from Cliente
/* Se va a realizar las sentencias para insertar los registros insert 7*/
insert into CertificadoTrabajo values (366,10)
insert into CertificadoTrabajo values (455,20)
insert into CertificadoTrabajo values (255,30)
select * from CertificadoTrabajo
/* Se va a realizar las sentencias para insertar los registros insert 8*/
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
/* Se va a realizar las sentencias para insertar los registros insert 9*/
insert into Contratos values (1,'09/11/2009','09/11/2010',1450000)
insert into Contratos values (2,'03/04/2004','03/04/2005',1050000)
insert into Contratos values (3,'01/01/2001','01/01/2002',1110000)
--sentencias para crear los requisitos del trabajo
insert into Contratos values (4,'01/01/2016','01/01/2017',2050000)
insert into Contratos values (5,'01/01/2018','01/01/2019',1250000)
insert into Contratos values (6,'01/01/2020','01/01/2021',1250000)
select * from Contratos
/* Se va a realizar las sentencias para insertar los registros insert 10 */
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')
select * from Pagos
/* Se va a realizar las sentencias para insertar los registros insert 11*/
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
/* Se va a realizar las sentencias para insertar los registros insert */
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)
select * from Caracteristicas
--Sentencias de busqueda
Select * From Caracteristicas Where cant_habitaciones >3 and metros_cuadrados >68;
Select * From Propiedad Where ubicacion in ('Calle 25# 12-12');
Select * From Contratos Where fecha_inicio <'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
SELECT CL.nom_cliente, CL.tel_cliente, CL.ced_cliente, P.tipo_inmueble, P.ubicacion
FROM dbo.Propiedad P
INNER JOIN dbo.PropiedadArrendada PA ON PA.cod_propiedad1 = P.cod_propiedad
INNER JOIN dbo.Propietario PR ON PR.ced_propietario = P.ced_propietario2
INNER JOIN dbo.Cliente CL ON CL.ced_cliente = PA.ced_cliente1
WHERE P.ubicacion = 'Poblado' AND P.tipo_inmueble = 'Casa' AND (PR.nom_propietario IN ('Jorge Peréz', 'Anibal Ruiz'))
Comentarios
Publicar un comentario