Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Ejercicio 12. Esquema relacional - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 23 de noviembre de 2023 por Francisco J. G.

124 visualizaciones

Transformar el esquema de E/R en el esquema relacional.

Descargar la transcripción

Hola a todos. Este es el segundo vídeo del ejercicio 12 de la unidad 3 de base de datos. 00:00:00
El ejercicio 12 hicimos en el vídeo 1 hasta la obtención del esquema antiderrelación 00:00:13
que era este de aquí. Vimos que había, para repasar, que entre ruta y autobús había 00:00:19
una relación 1-a-n y que esa relación se llamaba realiza y que entre ruta y ciudad 00:00:24
había una relación para n y cuya relación era n-a-m. Bien, hay que pasar este modelo 00:00:29
de antiderrelación al modelo relacional. Por ello, lo que vamos a hacer, lo vamos a 00:00:37
hacer en SQL Developer y le he creado una conexión que se llama, aquí la tenemos, 00:00:42
ejercicio 12, y bueno, conectamos con la conexión. También lo puedes hacer en SQL Plus y lo 00:00:48
primero que vamos a ver es el esquema lógico como lo he creado. Aquí lo tengo. Vamos 00:00:57
a ir separando uno a uno para que lo veamos. Primero tenemos en cuanto a bus. Bus, ¿cómo 00:01:02
ha cambiado? Pues hemos introducido, además de matrícula, modelo, capacidad y conductor, 00:01:08
le hemos introducido el atributo código. Aquí no tenía bus código, pero le hemos 00:01:13
introducido, hemos migrado este atributo código a bus. ¿Por qué? Porque si nos vamos a 00:01:19
paso de relaciones de 1-a-n del esquema antiderrelación a esquema relacional, 00:01:37
que nos decía la teoría. Como norma general, se convierten a tabla las dos entidades y se 00:01:42
propaga la clave de la entidad propietario a la entidad miembro. Eso es lo que he realizado. He 00:01:47
pasado la clave de ruta, código, lo hemos pasado a autobús. Bien, con ello ya tenemos la primera 00:01:51
entidad bus pasada ya, que se puede convertir ya en una tabla. La siguiente sería ruta. Ruta 00:02:00
lo vamos a dejar tal y como está. Lo vimos que ruta tenía kilómetros desde hasta y código. Y así 00:02:12
se va a quedar. Bien, luego tenemos el caso de ciudad, que también se va a quedar exactamente 00:02:20
igual. Tendría nombre, dirección y teléfono. Luego veremos por qué estas dos se quedan así. Y, por último, 00:02:27
veis que no había ninguna entidad más, pero aquí creamos otra, o una nueva tabla, que sería para 00:02:32
en. Y en el que he añadido tanto código, que sería la clave primaria de ruta, como nombre, que es la clave 00:02:38
primaria de ciudad. Luego, la relación tenía un atributo que se llamaba orden y también la he introducido 00:02:44
aquí. ¿Por qué? Porque si vemos el paso A del paso de relaciones M a N del esquema de entidad relación 00:02:49
al esquema relacional, las relaciones M a N se transforman en una nueva tabla que tendrá como clave 00:02:56
primaria la unión de las claves primarias de las entidades que asocia. Ves aquí, producto y trabajador. 00:03:01
Cada uno tiene su clave primaria, ref y dni, y en la nueva tabla que genera, puesto que hay una relación 00:03:06
N a M, añade ambas claves primarias, le llama igual que la relación, elabora esa nueva tabla y le añade 00:03:10
el propio atributo que tenía la propia relación. ¿Eso es lo que vamos a hacer aquí? Lo que vamos a hacer aquí 00:03:18
es exactamente lo mismo. Coge código de ruta y nombre de ciudad, que eran las dos claves primarias, y le añade 00:03:24
su propio atributo orden. Y con esto ya tendríamos las cuatro tablas, el esquema lógico, y con ello podemos 00:03:30
crearlas en SQL Developer. Aquí tengo, vamos a coger, para no tener que perder el tiempo redactándolo, 00:03:37
lo vamos a poner aquí y ahora lo explico poco a poco. Lo primero, pongo que borre las cuatro tablas, 00:03:49
bus, ruta, parae, mi ciudad, para que no me dé errores de las múltiples veces que voy a ejecutando el script. 00:03:56
Y a continuación lo que hago es que creo las cuatro tablas. Aquí tengo la primera, la vamos a poner en una sola línea 00:04:03
para que se vea perfectamente. Y explico la primera y, bueno, todas son iguales. Create table, ya vimos la teoría, bus. 00:04:10
¿Y qué vamos a tener? Matrícula de tipo number. Lógicamente, como es un número, va a ser de tipo number con cuatro dígitos. 00:04:21
Y luego el resto serían de tipo bar chart, tipo carácter. El último tenemos código, que también sería de tipo number. 00:04:28
No he metido las restricciones. Las restricciones lo haremos con alter table. En cuanto a las demás tablas, es exactamente lo mismo. 00:04:36
Vamos poniendo cada uno de los atributos y el tipo. Y ya está. Esto sería en cuanto a la creación de las cuatro tablas. 00:04:43
No le voy a ejecutar el script, pero lo podemos ejecutar y veremos que no da ningún error. Aquí lo tenemos. 00:04:52
Y veis que nos dice que en la línea 10, bueno, está diciendo que las líneas que da error son estas que he puesto aquí de texto, 00:05:03
pero no las quiero borrar para que veamos cómo es el esquema. Bien, ahora pasamos a coger, vamos a generar las Constraints Primary Key y las pegamos. 00:05:09
Las ponemos todas en una línea y explico en qué consiste. En la primera dice alter table, alterame la tabla bus y le añades addConstraint, 00:05:25
ésta se va a llamar pkBus, le he puesto ese nombre. Podéis poner lo que queráis. ¿Qué le vas a adicionar? Le voy a adicionar una restricción que es que 00:05:34
admPrimaryKey a matrícula. Bien, entonces la primera tabla tendrá bus, tendrá como primary key matrícula. La segunda le hace lo mismo, pero ahora la llama pkRuta y la convierte en primary key a código. 00:05:44
La tercera ciudad le va a llamar pkCiudad y le convierte a nombre, como vimos. Y por último, para n, que dijimos que la primary key constaba de dos atributos, pues dice que 00:05:57
oye, a primary key la llamas a la restricción pkParaN y va a tener dos atributos que va a ser código y nombre. Bien, ya tenemos las claves primarias, ahora vamos a crear las claves 00:06:10
para las foreign key, las ajenas. Y para ello, bueno, también lo tengo aquí, lo pegamos y lo explico. Lo copio, lo pegamos y lo dejamos toda una línea para que se vea bien. 00:06:24
Ahora le estamos diciendo alterame la tabla, alterTable, bus y le llamo eso a constrain, igual que antes. Le llamo ahora fk, lo de foreign key, y le está diciendo admForeignKey a código y código a quien hace referencia. Hace referencia a la clave primaria de quien de ruta, de la tabla ruta. 00:06:38
La siguiente sería, ahora llámame fkParaN y le haces referencia, admForeignKey a código y que se refiera a la tabla ruta igual. Y por último, sería fkParaN1 en el que tendríamos que admForeignKey nombre, pero que hace referencia a la tabla ciudad. Y con eso tendríamos ya todo resuelto. 00:07:02
Si nosotros borramos, le quitamos esto, no debería dar ningún problema. Cortamos esto y le damos a ejecutar el script y no debería haber dado ningún problema. Si nos vemos aquí, no hay ningún problema. Estaría ya todo generado perfectamente. 00:07:25
Último paso de este vídeo para crear un esquema relacional, la visualización de ese esquema relacional, se puede realizar aquí, a través del Data Modeler. Data Modeler, importamos y le damos a Direccional de Datos. 00:07:43
Vamos a utilizar el ejercicio 2, que sería la conexión que hemos seguido. Conectar a la base de datos. ¿Por qué no la activa aquí? 00:08:05
Ya lo he cogido. Ahora, en el usuario que hemos utilizado, que era Francisco, le damos a Siguiente, pero aquí os aconsejo, antes de ir para atrás, que utilicéis el New Relational Model. 00:08:19
Le damos a Siguiente y cogemos las tablas, que son las cuatro que he creado, las seleccionamos y le damos a Siguiente y le damos a Terminar. Con ello, tarda un poquito, pero nos aparecerá la imagen del esquema relacional que hemos diseñado. 00:08:39
Repito todo el vídeo, estamos pasando de este esquema Entidad Relación al nuevo esquema relacional que nos aparecerá aquí. 00:09:10
Pero, según veo, no nos aparece ese esquema. Voy a ejecutarlo otra vez, no sé por qué. Vamos a dar a Archivo, Data Modeler, Importar, Direccional de Datos. 00:09:20
Ejercicio 12, que es el que estamos utilizando. Siguiente, Francisco. Vamos a coger Relacional. A ver, ahora, cogemos las tablas y le damos a Siguiente y Terminar. 00:09:44
Bueno, y aquí ya tenemos el modelo de Relacional. Si lo vemos, aquí tendremos las cuatro tablas. Si veis, ahora Ruta y Ciudad, esa relación N-A-M, se ha transformado con un intermediario, que sería la tabla de Relacional. 00:10:03
Con un intermediario, que sería la tabla para N, entre medias de Ruta y Ciudad. Sigue habiendo esa relación N-A-M, pero con esa tabla entre medias. 00:10:30
Ahora la Primary Key tiene ambas claves primarias, tanto Código de Ruta como Nombre de Ciudad. Y, por otro lado, esa relación 1-A-N entre Ruta y Bus, se transformó migrando código a la tabla Bus. 00:10:39
Si veis aquí, esta sería la solución que se ha creado y cómo aparecería. Y esto es todo en cuanto al ejercicio 12. 00:11:00
Idioma/s:
es
Autor/es:
Francisco José González Constanza
Subido por:
Francisco J. G.
Licencia:
Todos los derechos reservados
Visualizaciones:
124
Fecha:
23 de noviembre de 2023 - 17:29
Visibilidad:
Público
Centro:
IES CIFP a Distancia Ignacio Ellacuría
Duración:
11′ 14″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
173.81 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid