-
Pasar modelo Entidad-Relación a Modelo Relacional
Si ya has diseñado el modelo E-R (Entidad-Relación) de una base de datos, sigue estos pasos para pasar al modelo relacional:
Entidades
- Para cada entidad se crea una tabla.
- Por cada atributo simple se crea un atributo en la tabla.
- Por cada atributo estructurado se crean tantos atributos como hojas tenga la estructura.
- Si tiene atributos multivaluados, se procesan más adelante.
Claves primarias
- Se selecciona uno de los atributos como clave primaria y se lo subraya.
.
Ejemplo 1:
PERSONAL (cedula, nombre, edad, dirección).
.
Ejemplo 2:
PERSONAL(cedula, nombre, edad, ciudad, calle, numero)
Entidades débiles
- Por cada entidad débil se crea una tabla.
- Se agregan los atributos como en las entidades normales.
- Se incluyen también el/los atributos de la tabla que representa la entidad fuerte.
- Se indica como clave primaria tanto el atributo que representa a la clave primaria de la entidad fuerte, como el que representa a la clave primaria de la propia entidad débil.
.
Ejemplo:
HOSPITALES (nombre, direccion, telefono)
SALAS (nombreHospital, nombreSala, cantCamas)
Relaciones N:N
- Se crea una tabla con cada relación N:N.
- Se ponen las claves primarias que representan a cada una de las entidades participantes.
- Si la relación tiene atributos, se agregan como los de una entidad normal.
- La clave primaria está formada por la totalidad de atributos que hay en las clavesprvadas de las dos entidades que participan en la relación.
.
Ejemplo:
SALAS (nombre, cant_camas)
PERSONAL (cedula, nombre, ciudad, calle, numero)
TRABAJAN (nombreSala, cedula, entrada, salida)
Relaciones 1:N
- Del lado N se agregan a la tabla los atributos que son clave primaria de la tabla del lado 1
- Si la relación tiene atributos simples o compuestos, se agregan también.
- La clave primaria no se modifica.
.
Ejemplo:
SALAS (nombre, cant_camas)
PERSONAL (cedula, nombre, ciudad, calle, numero, nombreSala, entrada, salida)
Atributos multivaluados
- Por cada atributo multivaluado (ya sea de entidad o de relación) se crea una tabla.
- Se crea un atributo para el atributo multivaluado
- Se agregan atributos que representan la clave primaria de la tabla o relación en la que está el atributo multivaluado.
- La clave primaria está formada por TODOS sus atributos.
.
Ejemplo:
PERSONAL (cedula, nombre, edad, ciudad, calle, numero)
TELEFONOS (cedula, telefono)
Agregaciones
- El operador de agregación transforma las relaciones en entidades.
- Esa entidad obtenida a través de la agregación se puede relacionar con otras entidades.
.
Ejemplo:
TRABAJAN (nombreSala, cedula, h_entrada, h_salida)
TAREAS (nombre, descripcion)
REALIZAN (nombreTarea, nombreSala, cedula)
.
NOTA: Las parejas de la relación TRABAJAN se relacionan cn TAREAS
Jerarquías (o categorizaciones)
Método 1
- Una tabla para la superentidad
- Una tabla por cada subentidad relacionada
.
Ejemplo:
PERSONAL (cedula, nombre, ciudad, calle, número)
MEDICOS (cedulaPersonal, especialidad)
ENFERMEROS (cedulaPersonal)
ADMINISTRATIVOS (cedulaPersonal, antigüedad)
Método 2
* Sólo funciona si la jerarquía es total. En jerarquías solapadas, pueden aparecer duplicados.
- Una tabla por cada subentidad.
.
Ejemplo:
MEDICOS(cedula, nombre, ciudad, calle, numero,
especialidad)
ENFERMEROS(cedula, nombre, ciudad, calle, numero)
ADMINISTRATIVOS(cedula, nombre, ciudad, calle,
numero, antigüedad)
Método 3
* Funciona sólo si la categorización es disjunta y aún si no es total. Puede generar nulos y hay que mantener consistente el tipo con los valores de los otros atributos.
- Se crea una tabla con los atributos de la superentidad, los de las subentidades y un atributo de tipo.
.
Ejemplo:
PERSONAL(cedula, nombre, ciudad, calle, número,
especialidad, antigüedad, tipo)
Método 4
* Funciona si la categorización es disjunta o no. Puede generar nulos y hay que mantener consistente el tipo con los valores de los otros atributos.
- Se crea una tabla con los atributos de la superentidad, los de las subentidades y un atributo booleano por cada subentidad.
.
Ejemplo:
PERSONAL(cedula, nombre, ciudad, calle, numero,
especialidad, antigüedad, esMedico, esEnfermero,
esAdministrativo)
Los hacks de hacks4geeks son minitutoriales rápidos pensados para geeks con conocimiento informático avanzado. Si no entiendes o no consigues ejecutar un hack de esta web considera suscribirte a Premium para solicitar asistencia sobre el mismo.