2012-08-09 2 views
0

Je suis un nouveau développeur ASP.NET avec une bonne connaissance en conception de base de données. Je développe un système de réservation basé sur le Web intranet pour mon entreprise et maintenant je me bats dans la conception des suivants requis deux exigences et une exigence facultative:Comment modifier cette conception de base de données pour répondre à ces deux exigences requises?

Exigences requises:

  1. L'événement peut avoir plus d'un créneau horaire.
  2. L'utilisateur ne doit pouvoir s'enregistrer que dans l'un de ces créneaux horaires.

Exigence en option:

  1. L'utilisateur doit être répertorié dans une liste d'attente s'il n'y a pas places disponibles dans l'événement.

Ma conception simple base de données est:

Users Table: UserID, Name, Department 
Admins Table: UserID 
Event Table: ID, Title, Description, Start_Date, End_Date, Start_Time, End_Time, Location,NumberOfSeats, isActive 
BookingDetails Table: BookingID, EventID, UserID 

Alors ce que je dois ajouter à ma conception de base de données pour recevoir au moins les exigences requises?

+0

+1 sur ce point. Augmentez-le ou vous finirez par ne rien recevoir en retour, peut-être des votes excessifs. – KKP

+0

puisqu'il semble que vous travaillez sur une application de gestion des réservations/événements, pourquoi ne consultez-vous pas http://cqrsjourney.github.com pour une implémentation de référence entièrement fonctionnelle –

Répondre

4
  1. Un événement peut avoir plus de 1 intervalle de temps.

Event Time Machines à sous Tableau: TimeSlotID, EventID, Date, StartTime, EndTime

BookingDetails Tableau: BookingID, EventID, UserID, TimeSlotID

  1. L'utilisateur doit être en mesure d'enregistrer en une seule créneau horaire par événement.

Créer un index unique sur BookingDetails (EventID, UserID)

+0

Merci pour votre aide. J'apprécie vraiment cela. –

+0

De rien. – Nathan

Questions connexes