📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

ER a Relacional

Bases de datos8:23

Transcription

En este vídeo vamos a hablar del tema transformación de un moderna entidad relación al modelo relacional. Este es el diagrama entidad relación de la práctica anterior, lo vamos a transformar en modelo relacional.

Esta es la entidad proveedor, su atributo clave es RNC, tiene otros atributos que son dirección, nombre, teléfono.

Esta es la entidad producto, su atributo clave es el código, tiene otros atributos que son nombre, precio.

Esta es la entidad cliente, su atributo clave es cédula, tiene otros atributos que son códigos, fecha de nacimiento, apellido, nombre.

La entidad proveedor se relaciona con la entidad producto a través del vínculo suministra. Esto quiere decir que el proveedor suministra producto. Esta relación tiene una cardinalidad de muchos a uno, a muchos. Un proveedor suministra muchos productos.

La entidad cliente se relaciona con la entidad producto a través del vínculo compra. Esto quiere decir cliente compra producto. Esta relación tiene una cardinalidad muchos a uno. Esto quiere decir que un cliente compra muchos productos.

Ya explicado este diagrama, vamos a proceder con los pasos para transformarlo a modelo relacional.

Paso 1: Cada entidad se convierte en una tabla. La entidad proveedor se transforma en la tabla proveedor. La entidad producto se transforma en la tabla producto. La entidad cliente se transforma en la tabla cliente.

Paso 2: Cada atributo se convierte en un campo. Todos los atributos de la entidad proveedor ahora pasan a ser campos de la tabla proveedor. Todos los atributos de la entidad producto pasan a ser campos de la tabla producto. Todos los atributos de la entidad cliente pasan a ser campos de la tabla cliente. En resumen, en lo adelante proveedor será una tabla y estos son sus campos. Lo mismo sucede con las tablas producto, producto y cliente.

Paso número 3: El atributo clave de la entidad se transforma en la llave primaria de la tabla. RNC es el atributo clave de la entidad proveedor, RNC también será la llave primaria de la tabla proveedor. Código es el atributo clave de la entidad producto, código será también la llave primaria de la tabla producto. Cédula es el atributo clave de la entidad cliente, cédula será también la llave primaria de la tabla.

Paso 4: Unir las tablas de acuerdo a la cardinalidad. Si la cardinalidad es de 1 a 1, entonces va a unir las tablas con este conector. Fíjense que estas dos barras verticales y paralelas representa al 1. 1 a 1. Si la cardinalidad es de uno a muchos, entonces va a unir las tablas con este conector. Como dije anteriormente, estas dos barras verticales representan al 1, esta barra vertical con dos diagonales representa a muchos. Uno a muchos. Y la cardinalidad es muchos a uno, conectaremos las tablas con este conector. Muchos a uno. Si la cardinalidad es a muchos a muchos, conectaremos las tablas con este conector. Muchos a muchos.

Ejemplo: La cardinalidad entre proveedor y producto es de uno a muchos, por lo tanto, vamos a conectar las tablas con el conector uno a muchos. La cardinalidad entre producto y cliente es de muchos a uno, por lo tanto, vamos a conectar las tablas con el conector muchos a uno.

Si la cardinalidad es uno a muchos o muchos a uno, se agrega la llave primaria de la tabla que tiene el uno a la que tiene muchos. En este caso, proveedor tiene el uno y producto tiene muchos, por lo tanto, llevo la llave primaria RNC hacia la tabla producto. Coloco un guión bajo y le pongo el nombre de la tabla de donde viene, que sabemos que es proveedor. Cabe destacar que con esto no voy a quitar a RNC de su lugar. En estas tablas, cliente tiene el uno, por lo tanto, llevo cédula de su llave primaria hacia la tabla producto. Coloco guión bajo y le pongo el nombre de la tabla de donde proviene, que sabemos que es cliente. RNC es el proveedor y cédula cliente dentro de la tabla producto son llaves foráneas que las estoy representando con este símbolo.

Con estos procedimientos, el ejemplo ya queda transformado el modelo relacional. Así estaba antes y así queda después de ser transformado en modelo relacional.

Como en este ejemplo solo había cardinalidad de uno a muchos y de muchos a uno, pude utilizarlo para explicarles qué se debe hacer con otro tipo de cardinalidad. Para eso voy a utilizar otros ejemplos.

Si la relación es tipo uno a uno, se lleva la llave primaria de una tabla a otra como llave foránea. Ejemplo: entre estas dos tablas hay una relación uno a uno. Un director dirige un departamento, un departamento es dirigido por un director. Lo que debo hacer es llevar la clave primaria de una de las tablas hacia la otra tabla, colocar un guión bajo y poner el nombre de la tabla de dónde viene. En este caso, DNI director. También podría hacer el proceso de manera inversa.

Si la cardinalidad es muchos a muchos, se crea una tabla intermedia. Dentro de esta se agregan las llaves primarias de las dos tablas que la componen. Fíjense en este ejemplo: entre estudiantes y asignaturas hay una cardinalidad de muchos a muchos. Creamos una tabla estudiantes, una tabla asignaturas y como la cardinalidad es de muchos a muchos, procedemos a crear una tabla intermedia. El nombre de la tabla intermedia serán los nombres de las tablas que la componen separados por un guión bajo: estudiante_asignatura. Luego, vamos a agregar las llaves primarias de cada una de esas tablas como llaves foráneas: matrícula, matrícula_estudiante, código, código_asignatura. Observemos que hay un atributo que proviene de la relación que hay entre estas dos entidades. En este caso, este atributo se puede colocar dentro de la tabla intermedia.

Hasta aquí la clase de hoy. Gracias por su atención.