22/06/2009, 05:29
|
| Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 1 mes Puntos: 2658 | |
Respuesta: Diseño relacional de tablas Para que te haya resultado una relación triangular de esas características, lo que está mal definido es el nivel lógico de las entidades. y te está faltando al menos un nivel de desagregación:
Suponiendo que Modelo se trata de modelos de hardware, Submodelo una entidad débil de la misma e Incidencia un tipo de falla (en otro esquema donde incidencias fuesen reclamos de usuarios, seguiría siendo igual), incidencias debería ser una clasificación de fallas posibles y por tanto una entidad fuerte y a su vez una tabla primaria. Lo que estaría faltando es una tabla que relacione ambas, digamos Modelo_Incidencia
A su vez, si lo que existen son Modelos y Submodelos, se puede inferir que cualquier objeto de existencia real pertenece a un Submodelo, con lo que (estamos ya en nivel de clases) podemos inferir la existencia de una jerarquía, o bien que la relación no es entre Incidencia y Modelo sino entre Incidencia y Submodelo.
¿Se entiende la idea?
Para estar seguro del esquema de tablas finales necesitaría saber qué es lo que estás modelando, pero de todos modos, si no te convence lo que te planteo, entonces aplica la regla básica de la transformación de modelo lógico a modelo físico (tablas): Toda relación de cardinalidad N:N entre dos entidades genera una tabla que las relaciona y que contiene las claves primarias de cada entidad como clave primaria de la nueva tabla.
Si no me crees, consigue una herramienta CASE que te permita modelar a nivel lógico, crea las entidades y genera la transformación a tablas y verás que aparecen nuevas tablas con el nombre de la relación N:N. Yo ya lo experimenté con Case Studio hace tiempo.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |