Ver Mensaje Individual
  #9 (permalink)  
Antiguo 26/11/2012, 04:51
kitune
 
Fecha de Ingreso: julio-2005
Mensajes: 275
Antigüedad: 19 años, 4 meses
Puntos: 3
Respuesta: Tabla eventos que se relaciona con otras tablas

Cita:
Iniciado por gnzsoloyo Ver Mensaje
En ese caso el evento debería, por definición del modelo E-R contar con una relación opcional que registro la localización del evento.
Como esta relación es opcional, esto se puede resolver agregando un flag que indique que el lugar es o no el sitio de la academia, y es FALSE, que busque en otra tabla la dirección del evento.
Como te dije, un diseño detallado puede requerir relaciones que a simple vista no son perceptibles.
Lo que tienes que tener claro es que ningún cambio o detalle puede quedar fuera de un modelado de E-R. Donde fuerces el pardigma, empezarás a tener serios dolores de cabeza.
Exacto.
Ese es el precio de un modelado optimizado. Y si tres tablas tablas te parecen mucho, te advierto que he visto consultas que cruzan 16 tablas sólo en el FROM, sin contar con las que se ponen en subconsultas del WHERE, o validaciones de funciones almacenadas.
La ventaja es que todas esas cosas hacen que las consultas se aceleren gracias a los recursos de los DBMS que resuelven los planes de consulta para estos detalles.
Cuando te topas con casos como ese, conviene que analices cuidadosamente los atributos de cada entidad, para ver si se los puede englobar en una sola categorizada, o bien se requiere crear un árbol de herencias y relacionar los eventos a una tabla padre.
Todo dependerá de aquellos atributos que sean esenciales.
Si la diferencia entre cada uno de esos elementos es sólo de uno o más datos, que no sean obligatorios o trascendentes, se pueden agregar tablas de "observaciones" o cosas así, donde se los relacione con esa entidad y luego se obtengan encadenados. Como las tablas de Tags.
Hola de nuevo, voy a hacer caso de tus recomendaciones y ver si puedo unir en una tabla de "empresas" a todos los tipos de locales, academias y tiendas con la información común entre ellas como pueda ser nombre, telefonos, direccion, email, etc.

Para las cosas que sean específicas de cada tipo ¿cual puede ser la mejor forma?

Pongo un ejemplo, las tiendas podrán subir a su ficha 5 productos destacados de su catálogo. Cosa que no pueden hacer academias ni locales.

Voy a crear una tabla de productos, con el id_empresa asociado a cada tienda. ¿Es necesario hacer algo más?

Un saludo y gracias por toda la ayuda.