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?