Está en la página 1de 8

MODELAMIENTO DE BASE DE DATOS MODELO E/R AL RELACIONAL

DEL MODELO E/R AL MODELO RELACIONAL

TRANSFORMACIÓN DE UN DIAGRAMA E/R EN UN ESQUEMA RELACIONAL

ENTIDADES
Cada tipo de entidad da lugar a una relación en la base de datos relacional:

ATRIBUTOS
Los atributos del tipo de entidad.

Atributos compuestos:
Se incluyen en la relación (tabla) todos los atributos simples (atómicos) que forman
parte del atributo compuesto.

Atributos derivados:

No se almacenarán en la base de datos, por lo que no se incluyen como atributos


de las relaciones.

Atributos multivalorados

Se almacenan en una tabla auxiliar que incluya las columnas necesarias para
almacenar la clave primaria del conjunto de entidades más aquéllas que se
necesiten para representar un valor del atributo multivalorado.

La tabla auxiliar incluirá una clave externa que haga referencia a la tabla
correspondiente al conjunto de entidades que incluye el atributo multivalorado.

Clave primaria

Una de las claves candidatas del conjunto de entidades.

RELACIONES
Cada tipo de relación da lugar a una tabla en la base de datos relacional.

Atributos
Los atributos de las claves primarias de las entidades que intervienen en la relación
más los atributos propios de la relación.

Clave primaria
Si la relación no tiene atributos propios:
Relación muchos a muchos: La unión de las claves.

Relación uno a muchos: La clave correspondiente a muchos.

Relación uno a uno: Una de las claves.

Si hay atributos propios de la relación:


Los atributos correspondientes al tipo de relación, a los que tal vez añadiremos
algunos atributos propios dependiendo de la semántica del problema.

Clave externas
Una por cada clave primaria de las entidades que intervienen en la relación.

ENTIDADES DÉBILES
Atributos

1
MODELAMIENTO DE BASE DE DATOS MODELO E/R AL RELACIONAL

Además de los atributos propios de la entidad débil, los atributos pertenecientes a


la clave primaria de la entidad fuerte de la que depende existencialmente la entidad
débil.

Clave primaria
La clave primaria de la entidad fuerte más un conjunto de atributos propio de la
entidad débil:

Clave primaria de la entidad fuerte + Discriminante

Clave externa
Una, haciendo referencia a la entidad fuerte de la que depende existencialmente la
entidad débil.

RELACIONES DE ESPECIALIZACIÓN Y GENERALIZACIÓN


Se pueden utilizar distintas estrategias:

1. Crear una tabla por cada conjunto de entidades: Las particularizaciones


heredan la clave primaria del conjunto de entidades de nivel superior (la
cual será, en las tablas correspondientes a los subtipos, una clave externa
que referencia a la tabla derivada del supertipo).

Empleado (NRP, nombre, dirección… )


Profesor (NRP, departamento, categoría)
PAS (NRP, grupo, nivel)

REDUCCIÓN DE UN DIAGRAMA E-R A TABLAS

Tanto el modelo E-R, como el modelo de BD relacional son representaciones


abstractas y lógicas del desarrollo del mundo real. Debido a que los dos modelos
emplean principios de diseño similares, se puede convertir un diseño E R en un
diseño relacional, siguiendo una serie de normas que podemos resumir de la
siguiente forma:

a) Para las ENTIDADES:

● Se genera una tabla con los atributos de una entidad. La clave primaria de la
tabla es la misma que la de la entidad del modelo E-R.

matric

preci
o

model
o

matric modelo precio

COCHE

1
MODELAMIENTO DE BASE DE DATOS MODELO E/R AL RELACIONAL

● En el caso de entidades débiles, se genera una tabla con los atributos de la


entidad débil, más la clave primaria de la entidad fuerte. La clave primaria
de la tabla generada por la entidad débil estará formada por los atributos
clave de la entidad débil en el modelo E-R más los atributos clave de la
entidad fuerte en el modelo E-R.

EMPLEADO

FAMILIAR

n_emp

nombr
e

fecha_na
c

nombre_
f

relacion

EMPLEADO

n_emp nombre fecha_nac

FAMILIAR

n_emp relacion nombre_f

b) Para las RELACIONES:

1
MODELAMIENTO DE BASE DE DATOS MODELO E/R AL RELACIONAL

● Si la relación es del tipo 1:1 y el tipo de participación de una entidad es


obligatoria (total) y el de la otra es opcional (parcial), son necesarias dos
tablas. Cada una contendrá los atributos de las entidades que participan
en la relación. En la tabla correspondiente a la entidad con participación
obligatoria se añade una columna que contendrá la clave primaria de la otra
entidad (clave ajena). La clave primaria de cada tabla del modelo relacional
serán las mismas que las de las entidades asociadas del modelo E-R.
DEPARTAMENTO

EMPLEADO

n_dept

nombr
e

dni

nombre

es
jefe

edad

1 1

DEPARTAMENTO

n_dept nombre dni

EMPLEADO

dni nombre edad

1
MODELAMIENTO DE BASE DE DATOS MODELO E/R AL RELACIONAL

DEPARTAMENTO

EMPLEADO

n_dept

nombr
e

dni

nombre

tien
e

edad

● Cuando la relación es del tipo 1:N, y la entidad del lado N es de participación


obligatoria (total) se necesita una tabla para cada entidad. A la tabla que
representa la entidad N se le añade un atributo que contenga la clave
primaria de la entidad con la que se relaciona (clave ajena).

1 N

DEPARTAMENTO

n_dept nombre

EMPLEADO

1
MODELAMIENTO DE BASE DE DATOS MODELO E/R AL RELACIONAL

dni nombre edad N_dept

● Si la relación es del tipo N:M, se generan tres tablas, una para cada entidad
y otra que contiene los atributos propios de la relación más la claves
primarias de las entidades que participan en la relación.
PROYECTO
PERSONA
codigo

lugar

DNI

nombre

trabaj
a

edad

1 N

PROYECTO
Codigo lugar

TRABAJA
Codigo DNI

PERSONA
DNI Nombre edad

1
MODELAMIENTO DE BASE DE DATOS MODELO E/R AL RELACIONAL

● En general, cuando la relación es entre una entidad fuerte y una entidad


débil, no necesita ser representada en forma de tabla.

EJERCICIO
Transformar el siguiente caso del modelo E-R al Relacional:
Sistema de ventas

Le contratan para hacer una BD que permita apoyar la gestión de un sistema de


ventas. La empresa necesita llevar un control de proveedores, clientes, productos y
ventas.
Un proveedor tiene un RUT, nombre, dirección, teléfono y página web. Un cliente
también tiene RUT, nombre, dirección, pero puede tener varios teléfonos de
contacto. La dirección se entiende por calle, número, comuna y ciudad.
Un producto tiene un id único, nombre, precio actual, stock y nombre del
proveedor. Además se organizan en categorías, y cada producto va sólo en una
categoría. Una categoría tiene id, nombre y descripción.
Por razones de contabilidad, se debe registrar la información de cada venta con un
id, fecha, cliente, descuento y monto final. Además se debe guardar el precio al
momento de la venta, la cantidad vendida y el monto total por el producto.

1
MODELAMIENTO DE BASE DE DATOS MODELO E/R AL RELACIONAL

MODELO RELACIONAL

CASO 2: Realice el modelo E-R y transfórmelo al modelo relacional


Una cadena de agencias de viaje desea disponer de un sistema de información que
gestione su funcionamiento referente a reservas de hotel y vuelos para sus clientes.
Los datos a tener en cuenta son:
La cadena de agencias tiene una serie de hoteles de forma exclusiva. Cada hotel
estará definido por un código de hotel, nombre, dirección ciudad, teléfono y número
de plazas disponibles.
De igual forma, la cadena tiene contratados una serie de vuelos regulares de forma,
también, exclusiva. Cada vuelo viene definido por el número de vuelo (único),
fecha, hora, origen y destino, plazas totales y plazas de clase turista.
De los clientes de la cadena, se desea almacenar un código de cliente, nombre,
apellidos, dirección y teléfono.
Cada una de las agencias de la cadena estará almacenada en el sistema, en
particular, se mantendrán los siguientes datos: código de agencia, dirección y
teléfono.
Por otra parte, hay que tener en cuenta las siguientes circunstancias:
Es de interés conocer qué agencias han atendido a qué clientes,
independientemente del servicio prestado en cada caso.
A la hora de contratar un viaje, el cliente puede elegir cualquiera de los vuelos que
ofrece la cadena y en qué clase (turista o primera) desea viajar.
De igual manera, el cliente puede elegir cualquiera de los hoteles de la cadena y el
régimen de hospedaje (sólo habitación, con desayuno, media pensión, etc.), siendo
importante gestionar las fechas de llegada y partida.

También podría gustarte