TIA 2: Implementación y manipulación de bases de datos
Importancia de utilizar el lenguaje SQL para la creación y manipulación de las bases de datos relacionales.
Las bases de datos son el método preferido para el almacenamiento estructurado de datos. Desde las grandes aplicaciones multiusuario, hasta los teléfonos móviles y las agendas electrónicas utilizan tecnología de bases de datos para asegurar la integridad de los datos y facilitar la labor tanto de usuarios como de los programadores que las desarrollaron y que nos
proporcionan los métodos y herramientas que nos permiten representar necesidades de almacenamiento y consulta de datos de manera que se estructuren los datos a manera de su respectiva relación y usos.
Script
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_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 Booleano **/
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,
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 DDL
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
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
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)
select * from Caracteristicas
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)
insert into Cliente values (10,852,'Melissa')
insert into Cliente values (20,741,'Fabio')
insert into Cliente values (30,963,'Andres')
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')
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)
select * from Caracteristicas
--Sentencias de busqueda DML
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';
-- 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'))
Las bases de datos son el método preferido para el almacenamiento estructurado de datos. Desde las grandes aplicaciones multiusuario, hasta los teléfonos móviles y las agendas electrónicas utilizan tecnología de bases de datos para asegurar la integridad de los datos y facilitar la labor tanto de usuarios como de los programadores que las desarrollaron y que nos
proporcionan los métodos y herramientas que nos permiten representar necesidades de almacenamiento y consulta de datos de manera que se estructuren los datos a manera de su respectiva relación y usos.
Script
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_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 Booleano **/
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,
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 DDL
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
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
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)
select * from Caracteristicas
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)
insert into Cliente values (10,852,'Melissa')
insert into Cliente values (20,741,'Fabio')
insert into Cliente values (30,963,'Andres')
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')
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)
select * from Caracteristicas
--Sentencias de busqueda DML
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';
-- 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