Database indeling
beste mensen,
Ik moet voor een school opdracht een website maken voor een restaurant.
nu wil ik een reserveringsysteem hier inbouwen alleen weet niet wat de beste database opbouw is.
dit is wat het moet kunnen:
-admins moeten datums kunnen toevoegen + tijden dat mensen kunnen reserveren.
-admins moeten kunnen aangeven welke tafels op welke datum en tijden beschikbaar zijn(+ zitplaatsen van de tafels)
-mensen moeten kunnen reserveren en dus moeten ze alleen kunnen kiezen uit tafels die op een bepaalde datum en tijd nog beschikbaar zijn. dus als de tafel al gereserveerd is moet die niet meer zichtbaar zijn.
dit is wat ik al heb:
RESERVERINGEN:
id
naam
telefoonnummer
emailadres
aantal_personen
tafelnummer
datum
aankomsttijd
TAFELS:
tafelid
tafelnummer
zitplaatsen
datum
bezet (ja of nee)
Verder kom ik niet.
Kan iemand mij vertellen hoe de database zo kan maken dat ik die dingen allemaal kan maken en de database handig kan gebruiken.
alvast bedankt.
gr dennis
Ik moet voor een school opdracht een website maken voor een restaurant.
nu wil ik een reserveringsysteem hier inbouwen alleen weet niet wat de beste database opbouw is.
dit is wat het moet kunnen:
-admins moeten datums kunnen toevoegen + tijden dat mensen kunnen reserveren.
-admins moeten kunnen aangeven welke tafels op welke datum en tijden beschikbaar zijn(+ zitplaatsen van de tafels)
-mensen moeten kunnen reserveren en dus moeten ze alleen kunnen kiezen uit tafels die op een bepaalde datum en tijd nog beschikbaar zijn. dus als de tafel al gereserveerd is moet die niet meer zichtbaar zijn.
dit is wat ik al heb:
RESERVERINGEN:
id
naam
telefoonnummer
emailadres
aantal_personen
tafelnummer
datum
aankomsttijd
TAFELS:
tafelid
tafelnummer
zitplaatsen
datum
bezet (ja of nee)
Verder kom ik niet.
Kan iemand mij vertellen hoe de database zo kan maken dat ik die dingen allemaal kan maken en de database handig kan gebruiken.
alvast bedankt.
gr dennis
heb je de database al gemaakt? want je zegt dit heb ik maar daarna vraag je hoe het moet?
Persoonlijk zou ik dit doen:
Reservering:
- id
- naam
etc.
Personen:
- id
- reservering_nummer
- stoel_nummer
Stoel:
- id
- tafel_nummer
Tafels:
- id
- aantal_stoelen
- tafel_nummer
Flexibeler kan ie niet denk ik :P
Als je dan nu een knap staaltje php-werk er achter doet moet het denk ik wel lukken.
Reservering:
- id
- naam
etc.
Personen:
- id
- reservering_nummer
- stoel_nummer
Stoel:
- id
- tafel_nummer
Tafels:
- id
- aantal_stoelen
- tafel_nummer
Flexibeler kan ie niet denk ik :P
Als je dan nu een knap staaltje php-werk er achter doet moet het denk ik wel lukken.
Gewijzigd op 14/10/2010 20:43:58 door Milo S
ja ik heb de database alleen nog maar uitgedacht;) heb nog niet echt de database daadwerkelijk gecreerd;)
maar als ik dit doe wat jij doet milo s
is dat dan niet een beetje omslachtig om voor de stoel een tabel aan te maken?
en waarom een tabel personen?
php erachter gaat me zeker wel lukken hoor alleen het bedenken van de database ben ik niet de beste in;) daarom ook de vraag wat het beste is en het makkelijkste natuurlijk.
zoals milo s doet een voorbeeld alhoewel ik het een beetje omslachtig vind.
nog meer suggesties?
maar als ik dit doe wat jij doet milo s
is dat dan niet een beetje omslachtig om voor de stoel een tabel aan te maken?
en waarom een tabel personen?
php erachter gaat me zeker wel lukken hoor alleen het bedenken van de database ben ik niet de beste in;) daarom ook de vraag wat het beste is en het makkelijkste natuurlijk.
zoals milo s doet een voorbeeld alhoewel ik het een beetje omslachtig vind.
nog meer suggesties?
Milo S op 14/10/2010 20:39:32:
Persoonlijk zou ik dit doen:
Reservering:
- id
- naam
etc.
Personen:
- id
- reservering_nummer
- stoel_nummer
Stoel:
- id
- tafel_nummer
Tafels:
- id
- aantal_stoelen
- tafel_nummer
Flexibeler kan ie niet denk ik :P
Als je dan nu een knap staaltje php-werk er achter doet moet het denk ik wel lukken.
Reservering:
- id
- naam
etc.
Personen:
- id
- reservering_nummer
- stoel_nummer
Stoel:
- id
- tafel_nummer
Tafels:
- id
- aantal_stoelen
- tafel_nummer
Flexibeler kan ie niet denk ik :P
Als je dan nu een knap staaltje php-werk er achter doet moet het denk ik wel lukken.
Maar waarom aantal_stoelen bij de tafel kolom? Kun je toch achterhalen aan de hand van de stoelen die eraan gekoppeld zijn?
Stoelen en personen in de database lijkt mij overdreven, gezien je waarschijnlijk 1 achternaam per groep krijgt. Tenzij je meerdere groepen aan één tafel gaat plaatsen.
@dennis Ik denk dat je een heel eind goed zit met deze indeling echter moet je bij tafels de kolommen bezet en datum weg laten, deze gegevens haal je uit je reserveringen tabel. Als er naast een reservering een andere reden is dat een tafel niet beschikbaar kan zijn zou ik hier een aparte tabel voor aanmaken.
De tabel tafels pas je alleen aan als er meer of minder tafels/stoelen komen.
Verder is tafelnummer en tafel_id dubbelop, ik zou alleen de nummers aanhouden.
@dennis Ik denk dat je een heel eind goed zit met deze indeling echter moet je bij tafels de kolommen bezet en datum weg laten, deze gegevens haal je uit je reserveringen tabel. Als er naast een reservering een andere reden is dat een tafel niet beschikbaar kan zijn zou ik hier een aparte tabel voor aanmaken.
De tabel tafels pas je alleen aan als er meer of minder tafels/stoelen komen.
Verder is tafelnummer en tafel_id dubbelop, ik zou alleen de nummers aanhouden.
ik wil wel aantal personen weten zodat restaurant eigenaar kan zien voor hoeveel personen ze minimaal moeten inkopen;)
tafels kan ik veradneren ja;)
maar ik wil ook datums en tijden bijvoegen waar ze uit kunnen kiezen.
tafels kan ik veradneren ja;)
maar ik wil ook datums en tijden bijvoegen waar ze uit kunnen kiezen.
Als een tafel niet is gereserveerd op een bepaald tijdstip is deze dat tijdstip beschikbaar. Deze gegevens haal je dus uit je reserveringen tabel. Als je ook rekening moet houden met openingstijden moet je hier een aparte tabel voor aanmaken.
Openingstijden:
- van (DATETIME)
- tot (DATETIME)
Ook het aantal personen op een bepaalde datum/tijdstip haal je uit de reserveringen tabel. Hiervoor tel je de kolom "aantal_personen" op van elke reservering die binnen 2 tijdstippen valt.
Openingstijden:
- van (DATETIME)
- tot (DATETIME)
Ook het aantal personen op een bepaalde datum/tijdstip haal je uit de reserveringen tabel. Hiervoor tel je de kolom "aantal_personen" op van elke reservering die binnen 2 tijdstippen valt.
Inderdaad zoals Lauren voorstelt en met name het stoelen gedoe weglaten, geen stoel tabel! Zorg dan wel in de tafel-tabel dat degene die boekt kan zien of het een 2/4/6 etc persoonstafel is. In de reserveringen tabel neem je op voor hoveel personen daadwerkelijk is gereserveerd voor een bepaalde tafel en dat geheel kan je weer optellen voor de inkoop. De reserveringen tabel is dus eigenlijk de enige tabel die continu wijzigt cq aangevuld wordt. De andere tabellen zijn statische oftewel lookup tabellen.
Gewijzigd op 15/10/2010 12:02:02 door Aad B




