Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Duda sobre normalización

Estas en el tema de Duda sobre normalización en el foro de Bases de Datos General en Foros del Web. Hola La duda que tengo es sobre un diseño que estoy haciendo en el que tengo 3 entidades: Persona Empresa Alojamiento Y cada una de ...
  #1 (permalink)  
Antiguo 25/01/2009, 13:27
 
Fecha de Ingreso: febrero-2008
Mensajes: 75
Antigüedad: 16 años, 2 meses
Puntos: 0
Duda sobre normalización

Hola

La duda que tengo es sobre un diseño que estoy haciendo en el que tengo 3 entidades:
  • Persona
  • Empresa
  • Alojamiento
Y cada una de ellas tiene como mínimo un número de teléfono (fijo, móvil, fax, y mezcla de los anteriores), por lo que habría que crear una entidad "teléfonos" que almacenara los números de teléfono.

Creo la entidad "teléfonos" y la relaciono con: persona, empresa y alojamiento.

PERSONA - TELÉFONO
  • Un cliente tiene como mínimo un número de teléfono (móvil) y como máximo n (móvil, busca, fijo, fax...)
  • A un número de teléfono le corresponde 0 personas (puede ser el número de una empresa o del alojamiento) y como máximo a n personas (considerando el caso de que puede haber 2 personas que vivan en la misma casa, éstos tendrán el mismo número de teléfono fijo)
  • Relación N:M

EMPRESA - TELÉFONO
  • A una empresa le corresponde como mínimo un número de teléfono (teléfono fijo) y como máximo n ( fijo, fax...)
  • A un número de teléfono le corresponde 0 empresas (puede ser el número de una persona o del alojamiento) y como máximo a 1 empresa.
  • Relación 1:N

ALOJAMIENTO - TELÉFONO
  • A un alojamiento le corresponde como mínimo un número de teléfono (teléfono fijo) y como máximo n ( fijo, fax...)
  • A un número de teléfono le corresponde 0 alojamientos (puede ser el número de una persona o de una empresa) y como máximo a 1 alojamiento.
  • Relación 1:N
Al grano, la entidad "teléfono" tendrá las PK de las entidades "empresa" y "alojamiento" pero estas podrían ser nulas por lo que no cumpliría con la 1ª forma normal...

¿Qué harías vosotros? Yo había pensado en crear una entidad teléfonos_empresa y otra teléfonos_alojamiento y que se relacionaran con las entidades empresa y alojamiento respectiivamente.

¿El que haya relaciones ternarias o superiores implica que la BD no está normalizada?
  #2 (permalink)  
Antiguo 25/01/2009, 18:10
Avatar de 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: Duda sobre normalización

Estas confundiendo modelo E-R con modelo físico.
el hecho de que haya relaciones ternarias o entidades jerárquicas en el modelo lógico nata tiene que ver con que la base esté o no normalizada.
El modelo lógico desarrollado gráficamente en el DER es un modelo conceptual de análisis de sistemas de información, pero no es aplicable en forma directa sin pasar por una serie de conversiones.
El modelo físico es la implementación en un motor de base de datos de las transformaciones de un DER, donde se construyen las tablas necesarias según el esquema teórico.
La normalización no ocurre en la fase de desarrollo lógico, sino en la interfase de las dos: en las transformaciones. De hecho, cuando estás hablando de entidades ternarias, en su implementación estas no existen. Lo que existen son tablas que responden a la 3FN por lo menos y que relacionan tres tablas distintas, y es precisamente porque son ternarias que están normalizadas. No es extraño que surga en esta etapa, la necesidad de crear nuevas tablas (y por ende, entidades) a partir de la transformación, porque se hacen visibles en esa fase.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:34.