Ver Mensaje Individual
  #4 (permalink)  
Antiguo 12/03/2011, 08:28
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: duda sobre base datos hotel

Las consultas para verificar una cosa u otra, sean habitaciones, reservas o lo que sea, dependerán del modelo de la base de datos diseñadas.
No te anticipes. Ve desarrollando las cosas en sus etapas con tranquilidad.

- Primero define el tipo de prestaciones del modelo de hotel más complejo y variado. Todos los demás usarán una parte de esos mismos servicios o los usarán todos, pero jamás usarán nada que ése no tenga.
- Luego define cómo se harán las cosas: Reservas por los usuarios, confirmaciones, acuerdo de pagos, verificaciones telefónicas o no, etc.
- Cuando tengas definido cómo funciona, vas por partes y verificas qué datos se necesitan para cada cosa que se haga o gestione. Y también identificas las entidades que se requieren para ello.
- Cuando tienes definidas las entidades (objetos de existencia real o virtual similares a los objetos de programación OO) puedes bosquejar la base que alimentaría las acciones de la aplicación, y en ese momento verificas si hay alguna información implícita que falte.
- Recién luego de todas estas etapas se puede diseñar y crear la base, para lo que te conviene recordar algunas cosas:
* Una base no se diseña para el uso actual. Se diseña para el uso futuro (plazo mínimo de dos años), por lo que debe soportar un uso intenso.
* Una base de datos debe quedar completamente terminada antes de comenzar a trabajar con el sistema. Modificar una base que ya trabaja implica serios dolores de cabeza, montón de problemas de migraciones, arreglar inconsistencias, volver a programar partes de la aplicación... Es un asco.
* Todo el tiempo que pierdas puliendo la base será menos tiempo de programar parches en el futuro, y menos problemas para obtener la información que necesitas.
* La base de datos debe ser independiente de la aplicación que la use (abstracción de datos). Da lo mismo que programes una Web o una aplicación de escritorio, la base debe ser capaz de responder cualquier pregunta que se le haga de acuerdo a su orientación.

...hay otros consejos, pero por ahora creo que es suficiente, salvo uno: No empieces armando la página, la base o las pantallas. Todo eso es pérdida de tiempo. Empieza diseñando el sistema; cuando sabes hacia dónde vas es más facil hacer todo el resto.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)