Modelo Relacional
Clase
Puede surgir del DER (haciendo pasaje a tabla) o del análisis de dependencia funcional
- Cada fila es un registro (análogo a instancia)
- Cada columna es un atributo
Reglas del modelo relacional
Integridad de Entidad
Integridad Referencial
Integridad de Dominio
Transformación del E-R al modelo Relacional
Se basa en reglas
Regla del tipo de entidad: Cada entidad se convierte en una tabla
- Entidades fuertes: Con todos sus atributos y su clave
- Entidades débiles: Con todos sus atributos, más la clave del vínculo identificador
- La clave primaria es:
Regla del vínculo binario 1-1
- ! Revisá esa relación
Regla del vínculo binario 1-N
- Cada vínculo 1-N se convierte en una clave foránea en la tabla de la entidad del lado N
- Si la cardinalidad mínima es 1, la CF no puede ser Nula (es NN)
- Los atributos de la relación se mueven al lado N
Regla del vínculo binario N-M
- Cada vínculo N-M se convierte en una tabla separada
- Si el vínculo tiene atributos
- La CP depende del análisis de dependencias
- Si el vínculo no tiene atributos
- CP = {CP de las entidades que participan como claves foráneas CF}
- Los atributos de la relación no se mueven
Regla para vínculos ternarios
- ! Un vínculo es ternario SOLO si las tres entidades se vinculan al mismo tiempo
- Coincide con la regla para el binario N-M
- Sólo uno de los vínculos puede ser 1..1
- El resto deben tener cardinalidad mínima 1
- Pueden ser 1..N, o bien pueden ser todos 1..N
Conversión de jerarquías
Hay tres formas.
El modelo relacional no puede cubrir las subclases disjuntas
- Completa
- @ Se hacen las tablas de la superclase y las subclases
- Le paso muchas decisiones/chequeos al modelo de comportamiento
- ! No conviene cuando las subclases no agregan muchos atributos
- Las subclases deben tener el atributo CP
- Si tengo una jerarquía con dos niveles, puede pasar esto:
- &
- &
Comprados(idArtículo, nroDíasVto); CP(idArtículo); CF(Ingredientes)
- & La clave foránea de
idArtículo
es hacia la tabla Ingredientes, no Artículos por que Comprado es subclase del primero
- &
- A superclase
- $ Hacé todo a superclase, por las dudas para no errarle
- @ Se descartan las subclases y se pasan todos los atributos de estas a la tabla de la superclase
- La tabla tendrá muchos atributos superfluos/nulos
- A subclase
- ! Es la que menos conviene, pues hay mucha redundancia
Tips
- Hacer primero las tablas de entidades que les llegan multiplicidades ..1, ya que estas no usan CFs.
- Hacer primero las tablas de los vínculos 1-1, 1-N
- Así queda más cómodo para después hacer referencias con FK a esas tablas
Análisis de dependencias funcionales
Es otra forma de llegar al modelo relacional.
Esta vez analizamos las reglas de negocio
Esquema de relación
- ! NO ENTRA
r = R(T, DF)
, donde:
R
: nombre de la relaciónT
: conjunto de atributosDF
: conjunto de restricciones/dependencias funcionales- Cada
DF
se expresa de la formaX -> Y
, donde los descriptores son X
: determinanteY
: determinado- @
X, Y
son atributos deT
- Decimos que X es un atributo que define a Y, o que Y depende de X
- Cada