Ver Mensaje Individual
  #4 (permalink)  
Antiguo 17/08/2011, 07:34
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: Algo sobre diseño de base de datos

Cita:
En caso de ser arrendada relaciono habitantes con del detalle de la casa en un detalle de habitante, para llevar ese registro, solo el primer habitante que se registre para esa casa sera el arrendatario.
Ese modelo responde a un Hotel, un Hostal o un hospedaje, donde las personas que habitan el sitio son información permanente del sistema, y los precios varían de acuerdo a la cantidad de huéspedes.
Pero el arriendo (alquiler, en Argentina) no se analiza quienes habitan el inmueble, sino su alquiler. En ese contexto, los habitantes no son un atributo de la relación, porque la misma se establece entre el propietario y el arrendatario. Es responsabilidad del arrendatario cumplir con los requisitos legales de uso y ocupación del inueble, pero eso no es parte del sistema.
Si, como regla de negocio, el arrendatario debe declarar quienes tienen permanencia en ese sitio, eso es una entidad completamente distinta y se regula con otra tabla. Ponerla en la misma que pones al arrendatario es un error conceptual, ya que esos "habitantes" no son "arrendatario"...
En un modelo de bases de datos, cada tabla debe representar una cosa concreta. Cuando tienes cosas "emparentadas", tienes entidades diferentes, con atributos propios y se representan y almacenan por separado.
No mezcles las cosas o tendrás problemas en el futuro. Ahorrar tablas es sumar problemas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)