--Para evitar que el video se haga muy largo, voy a ir copiando las tablas con sus respectivos campos de un archivo ya creado, el archivo esta en mi drive como van a observar durante el video
--Se crea la BD
create database agenciaArrendamiento
--Activamos la base de datos que se ha creado
use agenciaArrendamiento
--Procedemos a crear las tablas de la BD, comenzamos por las que no tienen foreign keys para evitar errores o por las que ya tienen los campos que forman los foreign keys
--Se crea la tabla Agencia
create table Agencia(
cod_sucursal int not null primary key,
nom_sucursal varchar(30) not null,
dir_sucursal varchar(50))
--Se crea la tabla Administradores
create table Administradores(
cod_sucursal1 int not null,
ced_administrador int not null primary key,
nom_administrador varchar(30),
tel_administrado int,
foreign key (cod_sucursal1) references Agencia(cod_sucursal))
--Se crea la tabla Contratos
create table Contratos(
cod_contrato int not null primary key,
fecha_inicio date not null,
fecha_fin date not null,
valor_mensualidad float not null)
--se crea la tabla Propietarios
create table Propietarios(
ced_propietario int not null primary key,
tel_propietario int not null,
nom_propietario varchar(50) not null)
--se crea la tabla Propiedades
create table Propiedades(
cod_propiedad int not null primary key,
ubicacion varchar(60) not null,
tipo_inmueble varchar(30) not null,
cant_contratos int not null,
--Esta propiedad se cambio era tipo bit
estado_contrato varchar(2) not null,
cod_sucursal2 int not null,
ced_propietario2 int not null,
foreign key (cod_sucursal2) references Agencia(cod_sucursal),
foreign key (ced_propietario2) references Propietarios(ced_propietario))
--se crea la tabla Caracteristicas
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,
piso int not null,
--Esta propiedad se cambio, era tipo bit
porteria varchar(2) not null,
foreign key (cod_propiedad1) references Propiedades(cod_propiedad))
--se crea la tabla Pagos
create table Pagos(
cod_propiedad2 int not null,
cod_contrato1 int not null,
fecha_pago date not null,
foreign key (cod_propiedad2) references Propiedades(cod_propiedad),
foreign key (cod_contrato1) references Contratos(cod_contrato))
--se crea la tabla clientes
create table Clientes(
ced_cliente int not null primary key,
tel_cliente int not null,
nom_cliente varchar(50) not null)
--se crea la tabla propiedad arrendada
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 Clientes(ced_cliente),
foreign key(cod_propiedad1) references Propiedades(cod_propiedad),
foreign key(ced_administrador1) references Administradores(ced_administrador),
foreign key(cod_contrato2) references Contratos(cod_contrato))
--Se crea la tabla certificado de trabajo
create table CertificadoTrabajo(
cod_certificado int not null primary key,
ced_cliente2 int not null,
foreign key(ced_cliente2) references Clientes(ced_cliente))
--Se crea la tabla fiador
create table Fiador(
ced_fiador int not null primary key,
tel_fiador int not null,
cant_bienes int not null,
tipo_de_bienes varchar(200) not null,
ced_cliente3 int not null,
foreign key(ced_cliente3) references Clientes(ced_cliente))
--Como la BD ya esta creada, vamos a corroborar como quedaron las relaciones mirando el diagrama de la BD
--Como ya vimos que la estructura esta bien, prodecemos a ingresar datos a las diferentes tablas, para posteriormente desarrollar los ejercicios propuestos por el profesor
--Primero ingresamos datos a la tabla Agencia
insert into Agencia values(1,'Sede Centro','Calle 1')
insert into Agencia values(2,'SedN norte','Calle 2')
insert into Agencia values(3,'Sede Sur','Calle 3')
--Ingresamos datos a la tabla administradores
insert into Administradores values(1,1,'Martha Sofía',555)
insert into Administradores values(2,2,'Elkin José',222)
insert into Administradores values(3,3,'Armando Cuesta',333)
--Ingresamos datos a la tabla propietarios
insert into Propietarios values(4,7584,'Anibal Ruiz')
insert into Propietarios values(5,6952,'Jorge Peréz')
insert into Propietarios values(1,666,'Cristian Castro')
insert into Propietarios values(2,111,'Daniel García')
insert into Propietarios values(3,777,'Ray Vanegas')
--Ingramos datos a la tablal Propiedades
insert into Propiedades values(1,'Belén','Apartamento',2,'Si',1,1)
insert into Propiedades values(2,'Prado Centro','Casa',5,'No',3,2)
insert into Propiedades values(3,'Llano Grande','Hacienda',6,'No',2,3)
insert into Propiedades values(4,'Calle 25 # 12-12','Local Comercial',1,'Si',2,3)
insert into Propiedades values(5,'Poblado','Casa',2,'Si',2,4)
insert into Propiedades values(6,'Poblado','Casa',3,'Si',2,5)
--Ingramos datos en la tabla caracteristicas
insert into Caracteristicas values(1,2,3,2,89,1,22,'Si')
insert into Caracteristicas values(2,4,5,3,120,2,1,'No')
insert into Caracteristicas values(3,1,10,4,340,3,1,'Si')
insert into Caracteristicas values(4,2,3,2,88,4,4,'Si')
insert into Caracteristicas values(5,6,4,3,98,2,3,'Si')
insert into Caracteristicas values(6,6,5,3,122,2,9,'Si')
--Ingresamos datos en la tabla CLientes
insert into Clientes values(10,852,'Antonio Casas')
insert into Clientes values(20,741,'Esteban Hernandez')
insert into Clientes values(30,963,'Paul Ossa')
--Ingreamos datos en la tabla certificadoTrabajo
insert into CertificadoTrabajo values(366,10)
insert into CertificadoTrabajo values(455,20)
insert into CertificadoTrabajo values(255,30)
--Ingresamos datos en la tabla fiador
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)
--Ingresamos datos en la tabla contratos
insert into Contratos values(1,'09/11/2009','09/11/2010',2050000)
insert into Contratos values(2,'03/04/2004','03/04/2005',1050000)
insert into Contratos values(3,'01/01/2001','01/01/2002',1250000)
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/2013','01/01/2014',3000000)
--Ingresamos los datos en la tabla propiedad arrendada
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)
--Como vimos, se ingresó toda la información a la BD correctamente, ahora prodecemos a realizar los ejercicios propuestos por el profesor
--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 Caracteristicas C where C.cant_habitaciones >3 and C.metros_cuadrados >68
--Como se ve en la parte de abajo, nos muestra los resultados de la búsqueda que hicimos
--Mostrar los datos de los pagos generados por la propiedad con dirección calle 25 #12-12.
select * from Propiedades Pr where Pr.ubicacion in ('Calle 25 # 12-12')
--Se puede apreciar el resultado en la parte inferior de la pantalla
--Mostrar los datos de las propiedades arrendadas en fechas menores a 01/01/2016
Select * from Contratos C where c.fecha_inicio <'01/01/2016'
--Se ven los resultados en la parte inferior de la pantalla
--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.Propiedades p
inner join dbo.PropiedadArrendada pa on pa.cod_propiedad1 = p.cod_propiedad
inner join dbo.Propietarios pr on pr.ced_propietario = p.ced_propietario2
inner join dbo.Clientes 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'))
Vídeo creación BD
Es demasiado importante aprender a manejar las BD, ya que casi todas las aplicaciones que vayamos a crear en el futuro van a tener que tener como mínimo una BD conectada para el intercambio de datos. Ahora en nuestra sociedad que dice que la mayor riqueza son los datos, por ende nosotros, los futuros programadores debemos saber manejar lo mejor posible dicha "riqueza" si queremos destacar como programadores y grandes profesionales.
No hay comentarios:
Publicar un comentario