Está en la página 1de 8

Universidad Nacional Autónoma de México

Facultad de Ingeniería
Ingeniería en Computación
Laboratorio de Bases de Datos
Practica 6: Diseño avanzado de modelos relacionales.

Fecha de realización: 12 de octubre 2021


Fecha de entrega: 19 de octubre 2021
Del Valle Aragón Alexis Rafael

2. Introducción:
La metodología avanzada del diseño avanzado de bases de datos se caracteriza en primera
parte por la normalización. La normalización es el proceso por el cual se descomponen los
esquemas de relación en otros que se encuentren en formas normales más exigentes y precisas.
Esto determinara el grado de calidad de acuerdo a la redundancia de datos presentando
múltiples tipos de anomalías.

En esta práctica se observará el comportamiento de un modelo relacional aplicado a un modelo


entidad relación extendido utilizando la metodología correspondiente y herramientas CASE,
además de implementar las mismas herramientas en la primera fase de la metodología
avanzada del diseño avanzado de bases de datos.

Mediante el uso principal de las jerarquías, generalización., especialización y recursividad se


implementa el modelo relacional realizando consultas de información delimitada por
condiciones necesarias o en su defecto, creando una nueva tabla a partir de otras dos.

1
3. Objetivos, métodos y materiales:
El alumno comprenderá e implementará la construcción de modelos de datos relacionales
avanzados empleando herramientas CASE a partir de un diagrama ER extendido.

▪ Oracle

4. Desarrollo y resultados:
Creamos tablas “Impuesto”, “Moral” y “Física” para posteriormente visualizar el
comportamiento del supertipo de un modelo ER:

Create table Impuesto_DVAAR(


RFC VARCHAR(20),
Domicilio VARCHAR(20),
Telefono number(10),
Constraint PK_Impuesto_DVAAR Primary key(RFC)
);

Create table Moral_DVAAR(


Razon_Social Varchar(15),
Giro Varchar(15),
RFC VARCHAR(20),
Constraint PK_Moral_DVAAR Primary key(RFC),
Constraint Fk_Moral_DVAAR Foreign key(RFC)
References Impuesto_DVAAR(RFC)
);

Create table Fisica_DVAAR(


Nombre Varchar(10),
Paterno Varchar(10),
Materno Varchar(10),
edo_civil char(1),
edad number(3),
RFC Varchar(20),
Constraint Pk_Fisica_DVAAR primary key(RFC),
Constraint Fk_Fisica_Impuesto_DVAAR foreign key(RFC)
References Impuesto_DVAAR(RFC)
);

2
Insertamos datos en la tabla Impuesto respetando las reglas de llave primaria para RFC.

Insert into Impuesto_DVAAR values('aaabbb', 'xxx', 5511111111);


Insert into Impuesto_DVAAR values('cccbbb', 'xxx', 5511111112);
Insert into Impuesto_DVAAR values('eeefff', 'xxx', 5511111112);
Insert into Impuesto_DVAAR values('uuuvvv', 'xxx', 5511111112);
Insert into Impuesto_DVAAR values('xxxyyy', 'xxx', 5511111112);
Insert into Impuesto_DVAAR values('wwwzzz', 'xxx', 5511111111);

Insertamos datos en la tabla Moral de acuerdo a las reglas de llave foránea RFC para
que coincida con el RFC de la tabla impuesto:

Insert into Moral_DVAAR values('pat sa de cv','tecnologia','aaabbb');


Insert into Moral_DVAAR values('cceti ac','tecnologia','cccbbb');

3
Insert into Moral_DVAAR values('garden ac','jardineria','eeefff');

Podemos observar los datos que introdujimos anteriormente:

Insertamos datos en la tabla Física con las mismas propiedades de llave foránea RFC en
la tabla Impuesto:

Insert into Fisica_DVAAR values('Juan', 'Calvillo','Perez','c',32,'uuuvvv');


Insert into Fisica_DVAAR values('Monse', 'Gutierrez','Lugo','c',29,'xxxyyy');
Insert into Fisica_DVAAR values('Rocio', 'Perez','Perez','s',20,'wwwzzz');

4
Utilizando un join realizamos consultas de columnas especificas y datos resultantes al
combinar primero las tablas Impuesto – Física y las tablas Impuesto – Moral.

Select i.RFC, f.Paterno, f.edo_civil, f.edad, i.domicilio


from Impuesto_DVAAR i inner join Fisica_DVAAR f
on i.RFC = f.RFC;

Select i.RFC, m.Razon_Social, m.Giro, i.Domicilio


from Impuesto_DVAAR i inner join Moral_DVAAR m
on i.RFC = m.RFC;

Por ultimo creamos una tabla empleados para posteriormente alterar su estructura y
añadir una llave primaria y una llave foránea consigo misma, resultando en una
recursividad.

Create table Empleado_DVAAR(

5
Matricula number(2),
Nombre varchar(10),
Paterno varchar(10),
sueldo number(6),
id_jefe number(2)
);

Alter table Empleado_DVAAR add constraint Pk_Empleado_DVAAR primary


key(Matricula);

Alter table Empleado_DVAAR add constraint Fk_Empleado_DVAAR foreign key (id_jefe)


references Empleado_DVAAR (Matricula);

Insert into Empleado_DVAAR values (1, 'Angel','Calvillo', 500000, Null);


Insert into Empleado_DVAAR values (2, 'Juan','Perez', 300000, Null);
Insert into Empleado_DVAAR values (3, 'lucia','Lugo', 30000, 1);
Insert into Empleado_DVAAR values (4, 'Monse','Gutierrez', 10000, 1);
Insert into Empleado_DVAAR values (5, 'Ramon','Montes', 15000,2);

6
5. Conclusión:
El desarrollo de la practica se mantiene en su punto original para la sección en donde debemos
observar algunas jerarquías del modelo avanzado del modelo relacional, sin embargo,
trabajamos directamente sobre Oracle para la creación de tablas cuya relación deriva de un
superfino, en este caso de un empleado moral o un empleado físico.

Además de observar nel comportamiento de un join sobre dos tablas distintas y el


comportamiento de una llave foránea sobre una misma tabla generando una recursividad.
Siendo así, el objetivo de la práctica se cumple de manera parcial, pero con resultados
aceptables.

6. Cuestionario:
DDL:

El lenguaje de definición de datos, es el que se encarga de la modificación de la estructura de


los objetos de la base de datos. Incluye órdenes para modificar, borrar o definir las tablas en las
que se almacenan los datos de la base de datos. Existen cuatro operaciones básicas: CREATE,
ALTER, DROP y TRUNCATE.

➢ Create: Sirve para crear una nueva base de datos, tabla, índice, o procedimiento
almacenado.
➢ Alter: Es usada para agregar, borrar o modificar columnas en una tabla existente.
➢ Drop: Sirve para borrar en forma sencilla distintos objetos dentro de la base de datos.
➢ Truncate: Se utiliza para eliminar o borrar datos que contiene una tabla. Es útil cuando
solo se quiere borrar los datos pero no la tabla.

Se generan para:

• Mantener una instantánea de la estructura de base de datos


• Configurar un sistema de prueba donde la base de datos actúe como el sistema de
producción, pero sin contener datos
• Producir plantillas para los nuevos objetos que puede crear basándose en los
existentes.

7
7. Bibliografía.

✓ Ismael, R. G. (21 de Junio de 2019). Enredado con bases de datos. Obtenido de


Medium: https://medium.com/enredando-con-bases-de-datos/bbdd-jerarquías-
9c43fef4b487

Índice
1- Portada ...................................................................................................................................... 1
2- Introducción............................................................................................................................... 1
3- Objetivo, métodos y materiales ................................................................................................. 2
4-Desarrollo y resultados ............................................................................................................... 2
5- Conclusión ................................................................................................................................. 7
6- Cuestionario............................................................................................................................... 7
7- Bibliografía ................................................................................................................................ 8

Índice de Imágenes
1. Inserción de tablas 1 3
2. Inserción de tablas 2 3
3. Inserción de datos 1 3
4. Inserción de datos 2 4
5. Consulta de tablas 4
6. Inserción de datos 3 4
7. Consulta de tablas 2 5
8. Consultas Join 5
9. Tabla empleados 6
10. Inserción de datos empleados 6
11. Consulta de tabla empleados 6

También podría gustarte