Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/10/2010, 03:32
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: relacion 1:N con entidad debil

Estás confundiendo el modelo lógico o DER con el modelo físico o de datos.

Entidades débiles o fuertes y relaciones N:M son conceptos que existen solamente en el DER lógico que es el diagrama que se crea en la etapa de análisis y diseño de la base de datos, pero que no representa su estructura física una vez implementada. Las entidades no existen en el modelo físico, sólo existen las tablas.
Para pasar del DER Lógico al Físico se tienen en cuenta algunas cosas entre las cuales están que toda relación N:M crea una tabla, por ejemplo, y esta nueva tabla no existe como entidad del DER original.

En definitiva, la implementación de una entidad débil que aparece en en el DER sigue una regla simple: se transforma en una tabla cuya PK es la PK de otra tabla, o parte de su PK proviene de la PK de otra tabla.

El problema es determinar cuál es la cardinalidad que existe en esta relación fuerte - débil.
- Si la relación es 1:1, la tabla que representa la entidad débil lleva por PK la PK de la otra tabla.
- Si la relación es 1:N, lleva la PK de la otra tabla más al menos un atributo discriminante y el conjunto completo se define como PK.
El ejemplo más claro de la segunda opción es una factura (y de paso hablamos de otro tema crítico de la transformación): una tabla FACTURA contiene los datos generales, pero el DETALLE_DE_FACTURA es el que contiene la lista de items facturados. En esta relación, la segunda tabla tiene por PK el número de la factura (PK de la tabla padre) más el número de subitem que le correspondió por ingreso.

¿Se entiende?

Puede que hayas notado que estoy partiendo una entidad como factura en dos. Eso es una etapa necesaria en la implementación y que se denomina "Normalización". Se hace para evitar redundancia de datos y prevenir la inconsistencia en la base, para lo cual se aplican una serie de reglas que permite lograr un modelo eficiente y simplificado de datos.
Esto también implica que un DER no se transforma directamente a un modelo de tablas de un modo 1:1. Eso no existe. AL menos dos etapas de transformaciones deben aplicarse antes de obtener el modelo de datos ya listo.
Las reglas de normalización son cinco, pero para obtener un modelo de mínima eficiencia, al menos deben cumplirse las primeras tres.

Lee sobre el tema (Normalización de Bases de Datos) porque es crítico en las implementaciones, y una vez que una base está en trabajo ya no se puede modificar sin un gran sufrimiento.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)