2010-03-17 6 views
2

Je suis sur le point de développer un système de réservation d'hôtels en ligne ... en utilisant php et mysql ... J'ai des doutes sur mon schéma de base de données actuel et la logique métier entre deux dates particulières ...Système de réservation d'hôtel Schéma de base de données

Est-ce que quelqu'un connaît une sorte de tutoriel où je peux avoir une idée du schéma de réservation d'hôtel et des logiques commerciales qui devraient être utilisées dans le système ...?

Merci pour vos suggestions ....

Edit: Je ai compris plus de la logique ... Les points que je ne suis pas clair sur sont les suivants ...

  1. Si un utilisateur sélectionne plus d'une chambre dans un hôtel particulier entre deux dates particulières, comment puis-je le représenter dans le tableau de réservation suivant ...?

    Tableau: Réservation

    Field 1 : reservation_id 
    Field 2 : room_id 
    Field 3 : no. of Rooms 
    Field 4 : check-in date 
    Field 5 : check-out date 
    Field 6 : Customer id 
    
  2. Comment puis-je vérifier ce que les chambres sont disponibles entre deux dates en fonction de la table de réservation et la table des chambres suivantes ...?

    Tableau: Chambre

     Field 1 : hotel_id 
        Field 2 : room_id 
        Field 3 : total_num_rooms 
    

Note: Le db contient plus d'un hôtel ... Il est comme un utilisateur peut sélectionner une ville et rechercher des chambres disponibles dans les hôtels dans cette région entre deux dates particulières ...

Également dire s'il y a 10 nombres de pièce d'un type particulier dans un hôtel, je dois montrer seulement le nombre de pièces qui sont libres dans cette période particulière .....

+2

Si c'est le devoir, pensez à un schéma. Pensez à comment fonctionnent les hôtels. Et si ce n'est pas le cas, demandez à votre client. Ils seront les meilleurs juges de leur logique d'affaires – Midhat

Répondre

1

Il n'y a pas de façon parfaite de représenter quelque chose comme un système de réservation d'hôtel. Essayez de parler à votre client ou aux personnes travaillant dans les hôtels pour comprendre ce qu'ils font maintenant et basez votre système sur ce point.

Je suppose:

A Room has a RoomType 
A Customer can Book 1..n Room(s) 
A RoomType has a name and a price 

... et ainsi de suite. Si vous utilisez un didacticiel, vous risquez de créer un système qui ne correspond pas aux exigences des utilisateurs possibles. Alors parlez à ces futurs utilisateurs finaux, déterminez la logique métier et commencez à coder :)

+0

@marcgg: S'il vous plaît jeter un oeil à l'edit ... – SpikETidE

5

En règle générale, appliquez diviser pour régner. Toujours. Par exemple, pourquoi pensez-vous qu'un client spécifique devrait être en mesure d'avoir un «nombre de pièces» pour une durée donnée? Que faire si, par exemple, je suis en voyage d'affaires et que ma famille me suit quelques jours plus tard. Maintenant, pour la durée donnée, le nombre de pièces n'est plus une constante.

Cela n'a pas vraiment d'importance? Vrai, vous pouvez simplement ajouter une autre entrée pour le même client. Mais encore une fois, vous auriez pu le faire en premier et simplifier votre logique en disant qu'un client ne peut avoir qu'une seule pièce à la fois dans une seule ligne, mais il peut y avoir des lignes qui créent des chevauchements de temps pour un client donné.En outre, assurez-vous de séparer Reservation et ReservationRequest. Ce dernier est composé d'un ensemble de Réservations je pense - parce que je veux cette pièce pour moi et ma famille et les deux critères doivent être assortis.

Juste quelques idées. Notez que c'est l'approche de la tour d'ivoire et cela peut conduire à des solutions massivement exagérées. Dans RealWorld (TM), respectez les suggestions de Marc: Analysez les besoins réels des clients. Si la gestion de 1% des requêtes augmente le temps de développement de 200%, il ne va pas aimer (ou en avoir besoin), et vice versa.

+0

Vos suggestions sont valables .. et heureusement ce ne sont pas les exigences .... – SpikETidE

+0

Alors c'est les devoirs? Sinon, pourquoi voudriez-vous utiliser cette structure de données? – mnemosyn

+0

Ce ne sont pas des devoirs ... Je ne suis pas sûr de la logique d'affaires que j'ai élaborée .. donc j'ai besoin de meilleures suggestions ... – SpikETidE

Questions connexes