TIA 2I mplementación y manipulación de bases de datos
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
Elaborado
por:
Carlos
Mario Velásquez Ortiz.
Institución
Universitaria Pascual Bravo.
BASE
DE DATOS l
Docente:
DIEGO
ALEXANDER DUQUE.
Medellín.
18 de nov. de 2023.
DESARROLLO
1. La creación de la base de datos, el script con comandos DDL del diseño entregado en la unidad.
R//:
/*CREAR LA BASE DE DATOS
ARRENDAMIENTOS*/
CREATE DATABASE Agencia_Arrendamientos
/*ACTIVAR LA BASE DE DATOS*/
USE Agencia_Arrendamientos
/* CREAR TABLA1
ADMINISTRADOR*/
CREATE TABLE Admim(
id_Admin INT NOT NULL,
nom_Admin VARCHAR (30),
direcci_Adminn VARCHAR (40),
telefono_Admin VARCHAR (20),
PRIMARY KEY ( id_Admin))
/*TABLA2 SEDE*/
CREATE TABLE Sede(
id_Sede INT NOT NULL,
direccion_Sede VARCHAR (40),
telefono_Sede VARCHAR (30),
id_Admin_Sede INT NOT NULL,
PRIMARY KEY (id_Sede),
FOREIGN KEY (id_Admin_Sede) REFERENCES Admim(id_Admin))
/*TABLA3 PROPIEDAD */
CREATE TABLE Propiedad(
id_Propiedad INT NOT NULL,
tipo_Propiedad VARCHAR(20),
valor_Propiedad FLOAT,
num_habitacion_Ppropiedad INT,
direccion_Propiedad VARCHAR(40),
ubicacion_Propiedad VARCHAR (40),
medidad_Area_Propiedad FLOAT,
id_Sede_Propiedad INT NOT NULL,
PRIMARY KEY (id_Propiedad),
FOREIGN KEY (id_Sede_Propiedad) REFERENCES Sede( id_Sede))
/*TABLA4 DUEÑO*/
CREATE TABLE Dueno(
id_Dueno INT NOT NULL,
nom_Dueno VARCHAR ( 30),
direcc_Dueno VARCHAR (40),
telefo_Dueno VARCHAR (20),
id_Propiedad_Dueno INT NOT NULL,
PRIMARY KEY ( id_Dueno),
FOREIGN KEY (id_Propiedad_Dueno) REFERENCES Propiedad(id_Propiedad))
/*TABLA5 FIADOR*/
CREATE TABLE Fiador(
id_Fiador INT NOT NULL,
nom_Fiador VARCHAR(30),
telefono_Fiador VARCHAR (20),
direccion_Fiador VARCHAR (40),
id_Propiedad_Fiador INT NOT NULL,
PRIMARY KEY ( id_Fiador),
FOREIGN KEY (id_Propiedad_Fiador) REFERENCES Propiedad(id_Propiedad)
)
/*TABLA6 CLIENTE*/
CREATE TABLE Cliente(
id_Cliente INT NOT NULL,
nombre_Cliente VARCHAR (30),
direccion_Cliente VARCHAR(40),
telefono_Cliente VARCHAR(20),
certifica_Laboral VARCHAR (400),
id_Fiador_Cliente INT NOT NULL,
PRIMARY KEY (id_Cliente),
FOREIGN KEY (id_Fiador_Cliente)REFERENCES Fiador(id_Fiador)
)
/*TABLA7 CONTRATO*/
CREATE TABLE Contrato(
id_Contrato INT NOT NULL,
fecha_ini_Contrato DATE,
fecha_Fin_Contrato DATE,
terminos_Contarto VARCHAR (200),
id_Propiedad_Contrato INT NOT NULL,
id_Cliente_Contrato INT NOT NULL,
PRIMARY KEY (id_Contrato),
FOREIGN KEY (id_Propiedad_Contrato) REFERENCES Propiedad(id_Propiedad),
FOREIGN KEY (id_Cliente_Contrato) REFERENCES Cliente(id_Cliente)
/*TABLA8 PAGO */
CREATE TABLE Pago(
id_Pago INT NOT NULL,
valor_Pago FLOAT,
fecha_Pago DATE,
id_Contrato_Pago INT NOT NULL,
PRIMARY KEY (id_Pago),
FOREIGN KEY (id_Contrato_Pago) REFERENCES Contrato( id_Contrato)
)
2.
El diagrama
generado por el sistema gestor de base de datos SQL Server.
3. Los comandos DML utilizados para insertar mínimo tres registros por tabla.
/*LLENAR TABLA ADMINISTRADOR
*/
INSERT INTO Admim VALUES (702145, 'CARLOS VELASQUEZ', 'CALLE 25 # 66 - 36', 3006502360)
INSERT INTO Admim VALUES (752101, 'YESIKA RAMIREZ', 'CALLE 50 # 25 - 79', 6003002610)
INSERT INTO Admim VALUES (102157, 'CENELIA ORTIZ', 'CALLE 41 A SUR #36 - 26', 3003012710)
/* LLENAR TABLA SEDE*/
INSERT INTO Sede VALUES (0001, 'calle 11 # 12 - 13', 3006251010,702145)
INSERT INTO Sede VALUES (0002, 'calle 10 # 25 sur 64', 9006253001, 752101)
INSERT INTO Sede VALUES (0003, 'diagonal 3ra # 168 - 77', 3127151077, 102157)
/* LLENAR TABLA PROPIEDAD */
INSERT INTO Propiedad VALUES ( 1015, 'CASA',1000000, 3, 'CALLE 7 # 27 - 67', 'ENVIGADO', 72, 0001)
INSERT INTO Propiedad VALUES ( 2511, 'LOCAL COMERCIAL',3500000, 0, 'CARREARA 19 # 17 A SUR 97', 'POBLADO', 72, 0002)
INSERT INTO Propiedad VALUES ( 2254, 'APARTAMENTO',1300000, 4, 'CALLE 10 # 15 -1', 'POBLADO', 72, 0002)
INSERT INTO Propiedad VALUES ( 2255, 'CASA',1300000, 4, 'calle 25 #12-12', 'POBLADO', 120, 0001)
INSERT INTO Propiedad VALUES ( 2256, 'CASA',1300000, 5, 'calle 25 #12-12', 'POBLADO', 120, 0003)
INSERT INTO Propiedad VALUES ( 2257, 'CASA',1300000, 8, 'calle 25 #12-12', 'POBLADO', 120, 0002)
/* LLENAR PROPIEDAD FIADOR*/
INSERT INTO Propiedad VALUES ( 1510, 'CASA',1000000, 3, 'CALLE 7 # 27 - 67', 'ENVIGADO', 72, 0001)
INSERT INTO Propiedad VALUES ( 1125, 'LOCAL COMERCIAL',3500000, 0, 'CARREARA 19 # 17 A SUR 97', 'POBLADO', 72, 0001)
INSERT INTO Propiedad VALUES ( 5422, 'APARTAMENTO',1300000, 4, 'CALLE 10 # 15 -1', 'POBLADO', 72, 0003)
INSERT INTO Propiedad VALUES ( 5423, 'APARTAMENTO',1300000, 1, 'CALLE 10 # 15 -1', 'envigado', 48, 0001)
/* LLENAR TABLA DUEÑO */
INSERT INTO Dueno VALUES (102517, 'HERNAN DARIO VELASQUESZ ORTIZ', 'CALLE 66 # 36 - 25', 3602056003, 1510)
INSERT INTO Dueno VALUES (101257, 'Jorge Pérez ','CALLE 79 # 52 - 5', 3006002160, 2511)
INSERT INTO Dueno VALUES (571201, 'Luz Marina Ortiz Velalasquez', 'calle 41 a sur # 57 - 10', 7103003012, 2254)
INSERT INTO Dueno VALUES (571202, 'Aníbal Ruiz', 'calle 41 a sur # 57 - 10', 7103003012, 2254)
/* LLENAR TABLA FIADOR */
INSERT INTO Fiador VALUES (257101,'FRANCISCO RTIZ', 2053038362,'CALLE 26 # 1 -125',1015)
INSERT INTO Fiador VALUES (011527,'mario hernandez',3625306520,'carrera 57# 25 - 71',1125)
INSERT INTO Fiador VALUES (211057,'MARTA OCAMPO', 3013127105,'diagonal 27 # 57 - 129',5422)
/*LLENAR TABLA CLIENTE */
INSERT INTO Cliente VALUES (502360, 'MONICA CAICEDO', 'CALLE 28 # 10-15', 2860645, 'CERTIFICADO COMPROBADO', 257101)
INSERT INTO Cliente VALUES (302610, 'MARCOS OCAMPO', 'DIAGONAL 26 # 16 - 18', 6129377, 'CERTIFICADO COMPROBADO', 011527)
INSERT INTO Cliente VALUES (312710, 'CAMILO GARZON', 'CARREARA 10 # 1 - 12', 2306666, 'CERTIFICADO COMPROBADO', 211057
/* LLENAR TABLA CONTRATO */
INSERT INTO Contrato VALUES (4334, '01/01/20', '01/01/25', 'NO SE PERMINTEN ATRASOS EN LOS
PAGOS MENSUALES', 1510, 502360 )
INSERT INTO Contrato VALUES (3344, '06/25/21', '06/25/24', 'NO SE RENOVARA', 2511, 302610)
INSERT INTO Contrato VALUES (4433, '02/05/22','02/05/24', 'NO SE PERMITEN MASCOTAS', 2254, 312710)
INSERT INTO Contrato VALUES (4437, '09/09/20','02/05/25', 'NO SE PERMITEN MASCOTAS', 2255, 502360)
INSERT INTO Contrato VALUES (4438, '01/01/12','01/01/20', 'NO SE PERMITEN MASCOTAS', 2255, 302610)
INSERT INTO Contrato VALUES (4439, '2016-01-01','2022-01-01', 'NO SE PERMITEN MASCOTAS', 2255, 302610)
INSERT INTO Contrato VALUES (4440, '2012-05-04','2022-01-01', 'NO SE PERMITEN MASCOTAS', 2511, 502360)
/* LLENAR TABLA PAGO*/
INSERT INTO Pago VALUES (0001, 1200000, '10/10/22', 4334)
INSERT INTO Pago VALUES (0002, 3650000, '1/10/23', 4334)
INSERT INTO Pago VALUES (0003, 1220000, '11/28/23', 4334)
INSERT INTO Pago VALUES (0004, 2555000, '12/28/20', 4437)
INSERT INTO Pago VALUES (0005, 2005000, '12/28/20', 4437)
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.
SELECT *
FROM Propiedad
WHERE (num_habitacion_Ppropiedad > 3 AND medidad_Area_Propiedad >= 68) OR tipo_Propiedad = 'casa';
4.2. Mostrar los
datos de los pagos generados por la propiedad con dirección calle 25 #12-12.
SELECT PA.*
FROM Pago
PA
JOIN
Contrato C ON PA.id_Contrato_Pago = C.id_Contrato
JOIN
Propiedad P ON P.id_Propiedad = C.id_Propiedad_Contrato
WHERE P.direccion_Propiedad = 'calle 25 #12-12';
4.3. Mostrar los datos de las propiedades
arrendadas en fechas menores a 01/01/2016
R//=
SELECT P.*
FROM
Propiedad p
JOIN
Contrato contra ON p.id_Propiedad = contra.id_Propiedad_Contrato
WHERE
contra.fecha_ini_Contrato < '2016-01-01';
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
R//=
SELECT c.*
FROM
cliente c
JOIN
Contrato con ON c.id_Cliente = con.id_Cliente_Contrato
JOIN
Propiedad pro ON pro.id_Propiedad = con.id_Propiedad_Contrato
JOIN
Dueno due ON pro.id_Propiedad = due.id_Propiedad_Dueno
WHERE pro.ubicacion_Propiedad = 'POBLADO' AND (due.nom_Dueno = 'Jorge Pérez'
OR due.nom_Dueno = 'Aníbal Ruiz');
/*ACTUALIZAR FECHA CONTRATO 4433*/
UPDATE
contrato
SET
fecha_ini_Contrato= '2020-11-08'
WHERE
id_contrato = 4433;
/* ELIMINAS DE LA TABLA
Admim LOS USUAIOS CENELIA ORTIZ*/
DELETE FROM Admim WHERE nom_Admin = 'CENELIA ORTIZ';
/* SELECCIONAR LAS TODOS LOS
DATOS DE LAS TABLAS */
select * from Contrato
select * from Propiedad
select * from Cliente
select * from Pago
select * from Admim
select * from Dueno
select * from Sede
select * from Fiador
Video explicación de la creación de la base de datos con los datos suministrados.
¿cual es la importancia de utilizar el lenguaje SQL para la creación y manipulación de las bases de datos relacionales?
El lenguaje SQL, o Structured Query Language, es fundamental en la creación y manipulación de bases de datos relacionales por varias razones.
En primer lugar, SQL proporciona un lenguaje estándar y universalmente reconocido para interactuar con las bases de datos. Esto significa que los desarrolladores y administradores de bases de datos pueden comunicarse de manera efectiva y compartir conocimientos sin importar la plataforma o el sistema de gestión de bases de datos utilizado.
En segundo lugar, SQL ofrece una amplia gama de funcionalidades para crear, modificar y consultar bases de datos relacionales. Permite la creación de tablas, definición de restricciones, establecimiento de relaciones entre tablas y realización de consultas complejas para obtener información específica. Esto brinda flexibilidad y control en el diseño y manejo de los datos.
Por último, el uso de SQL permite optimizar el rendimiento de las consultas y asegurar la integridad de los datos. Los motores de bases de datos están optimizados para ejecutar consultas SQL eficientemente, lo que garantiza tiempos de respuesta rápidos incluso con grandes volúmenes de datos. Además, SQL ofrece mecanismos para garantizar la integridad referencial y aplicar restricciones para mantener la consistencia y calidad de los datos almacenados.
En resumen, el lenguaje SQL es esencial en la creación y manipulación de bases de datos relacionales debido a su estandarización, funcionalidad y capacidad para optimizar el rendimiento y mantener la integridad de los datos. Su dominio es fundamental para aquellos que trabajan con bases de datos y desean aprovechar al máximo su potencial.
Comentarios
Publicar un comentario