Creación de la base de datos, es el script con comandos DDL del diseño entregado en la unidad 1.
--TIA 2: IMPLEMENTACIÓN Y MANIPULACIÓN DE BASES DE DATOS
create database
Agencia_Santafe_Arrendamientos
use
Agencia_Santafe_Arrendamientos
--CREACION DE TABALAS
--Tabla Agencia
create table Agencia(
nit int not null primary key,
nombre varchar(50) not null,
direccion varchar(50) not null,
contacto int not null
);
--Tabla Sede
create table Sede(
cod_sede int not null primary key,
direccion varchar (50) not null,
telefono int not null,
nit_agencia int not null,
foreign key (nit_agencia) references Agencia(nit)
);
--Tabla Administrador
create table Administrador(
cod_administrador int not null primary key,
nombre varchar(50) not null,
contacto int not null,
cedula int not null
);
--Tabla Fiador
create table Fiador(
id_fiador int not null primary key,
nombre_fiador varchar(55) not null,
telefono_fiador int not null,
cant_bienes int not null
);
--Tabla Cliente
create table Cliente(
cedula_clien int not null primary key,
nombre_clien varchar(55) not null,
telefono_clien int not null,
id_fiador1 int,
foreign key (id_fiador1) references Fiador(id_fiador)
);
--Tabla Dueño
create table Dueño(
id_dueño int not null primary key,
nombre_dueño varchar(50) not null,
telefono_dueño int not null,
num_cuenta int not null,
);
select * from Dueño
--Tabla Propiedad
create table Propiedad(
cod_prop int not null primary key,
direccion_prop varchar(55) not null,
barrio_prop varchar(50) not null,
precio_prop float not null,
metros_cuadrados float not null,
num_habitaciones int not null,
num_baños int not null,
tipo_propiedad varchar(50) not null,
id_dueño1 int,
cod_sede2 int,
cedula_clien1 int,
foreign key (id_dueño1) references Dueño(id_dueño),
foreign key (cod_sede2) references Sede(cod_sede),
foreign key (cedula_clien1) references Cliente(cedula_clien),
);
--Tabla Contrato
create table Contrato(
num_contrato int not null primary key,
fecha_inicio varchar(100) not null,
fecha_venc varchar(100) not null,
precio_prop float not null,
cod_sede1 int,
cedula_clien2 int,
cod_prop1 int
foreign key (cedula_clien2) references Cliente(cedula_clien),
foreign key (cod_sede1) references Sede(cod_sede),
foreign key (cod_prop1) references Propiedad(cod_prop)
);ALTER TABLE Contrato ALTER COLUMN fecha_inicio date
ALTER TABLE Contrato ALTER COLUMN fecha_venc date
--Tabla Pago
create table Pago(
ref_pago int not null primary key,
val_pago float not null,
fecha_pago date not null,
cod_prop2 int,
num_contrato1 int,
foreign key (num_contrato1) references Contrato(num_contrato)
);
Comandos DDL utilizados para insertar mínimo tres registros por tabla:
--INSERTAR DATOS EN LAS TABLAS
--Agencia
insert into Agencia values (81133, 'Santa Fe
Arrendamientos', 'Av San Juan #71-34', 4484015)
select * from Agencia
--Sede
insert into Sede values (101, 'Av San Juan #
71-2',
4783198,
81133)
insert into Sede values (102, 'Av San Juan #
71-2',
2489637,
81133)
insert into Sede values (103, 'Calle 36A Sur #
46A-81',
3214789,
81133)
select * from Sede
--Administrador
insert into Administrador values (800, 'Juan Marin', 313775637, 1234567890)
insert into Administrador values (801, 'Marcela Madrid', 317459631, 115789634)
insert into Administrador values (802, 'Diego Zapata', 317896349, 43096137)
select * from Administrador
--Fiador
insert into Fiador values (216981, 'Beatriz Marin', 3543960, 5)
insert into Fiador values (325967, 'Omar Torres', 4762745, 2)
insert into Fiador values (435969, 'Gloria Rendón', 2376806, 1)
select * from Fiador
--Cliente
insert into Cliente values (329864, 'Sebastian
Salazar',
43896214,
325967)
insert into Cliente values (516975, 'Camila Agudelo', 15698765, 216981)
insert into Cliente values (113698, 'Sandra Torres', 43896214, 435969)
select * from Cliente
--Dueño
insert into Dueño values (11569876, 'Jorge Perez', 312896743, 331896478)
insert into Dueño values (43964782, 'Celeste Madrid', 318964120, 159634203)
insert into Dueño values (79623975, 'Anibal Ruiz', 314601265, 108963471)
select * from Dueño
--Propiedad
insert into Propiedad values (001, 'Calle 25# 12-12', 'Poblado', 879.563, 78.1, 4, 2, 'Casa', 11569876, 101, 329864)
insert into Propiedad values (002, 'Cra 72 A #
57-26',
'Poblado', 998.796, 98.5, 6, 3, 'Apartamento', 79623975, 103, 113698)
insert into Propiedad values (003, 'Calle 105 c # 70
- 45',
'Pedregal', 778.591, 68.0, 3, 1, 'Apartaestudio', 43964782, 102, 516975)
select * from Propiedad
--Contrato
insert into Contrato values (14863, '15/08/2022', '15/02/2023', 778,591, 102, 516975,002)
insert into Contrato values (15896, '01/06/2015', '01/06/2016', 879,563, 101, 329864, 001 )
insert into Contrato values (51896, '27/09/2014', '27/09/2017', 998,796, 103, 113698, 003)
select * from Contrato
--Pago
insert into Pago values (500, 879,563, '15-09-2022', 002, 14863)
insert into Pago values (501, 998,796, '27-10-2014', 003, 51896)
insert into Pago values (502, 778,591, '01-07-2015', 001, 15896)
select * from Pago
Comandos DML para dar solución a
las siguientes consultas
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 Propiedad where
(num_habitaciones>3 AND metros_cuadrados>68) OR (tipo_propiedad = 'casa')
Mostrar los datos de los pagos generados por la propiedad
con dirección: Calle 25# 12-12
select ref_pago, val_pago, fecha_pago, direccion_prop, precio_prop, num_contrato1
from Pago, Propiedad where cod_prop = 001 AND num_contrato1 = 15896 AND direccion_prop = 'Calle 25 #
12-12'
Mostrar los datos de las propiedades arrendadas en fechas
menores a 01/01/2016
select * from Contrato where fecha_inicio < '2016-01-01'
Mostrar los datos de clientes que han arrendado casas en
el poblado y sus dueños son Jorge Pérez y Aníbal Ruíz
select * from Cliente JOIN Propiedad ON cod_prop = cod_prop
Where id_dueño1 = 11569876 AND id_dueño1= 79623975 OR barrio_prop = 'Poblado'
No hay comentarios:
Publicar un comentario