Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Bokningssystem av stugor - tabell för att hålla reda på stugor och dagar?

Postades av 2006-02-19 16:59:58 - Sofia Persson, i forum access, Tråden har 8 Kommentarer och lästs av 2169 personer

Hej,
Jag håller på med ett bokningssytem för stugor med access databas och ASP.

Jag har följande tabeller just nu med primärnyckel* och koppling till id.

MS Access tabeller

Stugtyper (StugtypID*)
Stugor (StugID*, StugtypID)
Kunder(kundID*)
Bokningar(BokningsID*,StugID,kundID)

Kriterier

- Under varje stugtyp finns ett antal stugor.
- En stuga kan bokas under hela året dvs 365 dagar per år.
- En stuga kan bokas per dag eller per vecka.
- En stuga får ej dubbelbokas.
- När en bokning är slut och kunden åkt hem tags kunden bort i kundtabellen och bokningen raderas.
- En kund bokar en stuga men kan inte lägga på fler bokningar till redan lagd bokning - ett nytt bokningsnr (BokningsID) skapas istället för den kunden.


Frågor

Hur skapar jag sedan en tabell för att hålla reda på en stuga 365 dagar om året? Stugan kan bokas per dag eller per vecka och jag måste hålla reda på vilken dag, vilket år och vilken vecka.
Gör jag 1 tabell för varje stuga med 365 poster i? Tycker att det blir så mycket tabeller...

Snälla tacksam för stor hjälp så jag inte gör helt fel i begynnelsen.


Svara

Sv: Bokningssystem av stugor - tabell för att hålla reda på stugor och dagar?

Postades av 2006-02-19 18:11:26 - Andreas Hillqvist

Jag skulle ange intervall i form av Från datum, till datum. På så sätt kan en bokning var en dag, flera dagar, en vecka flera veckor, en måndad.


Svara

Sv: Bokningssystem av stugor - tabell för att hålla reda på stugor och dagar?

Postades av 2006-02-19 18:31:02 - Thomas Vanhaniemi

Du har en tabell med stugor
En tabell med bokningar och en foreign key till stugan som är bokad
I bokningstabellen har du som Andreas redan skrev ett från datum och ett till datum
Sedan kan du har en tabell med kunduppgifter också som kopplas ihop med bokningarna

Så det hela blir tre tabeller totalt med enkla foreign keys.

stuga
--------------------
id
stugnr + annan data


kund
--------------------
id
namn etc...


bokningar
--------------------
id
stuga_id
kund_id
från datum
till datum



Sedan får själva applikationen ta hand om och enbart ge möjligheter att boka en dag, vecka eller vad som nu krävs...


Svara

Sv:Bokningssystem av stugor - tabell för att hålla reda på stugor och dagar?

Postades av 2006-02-19 19:39:22 - Sofia Persson

Okej tack för jättebra hjälp och tips,

Om en kund kommer då och vill boka Stuga1.

Kund A vill boka Stuga1 v3 år 2006 och v5 år 2007.
Sen kommer kund B och bokar Stuga1 v4 2006.

Hur löser man detta då i tabellen? Hålls allting reda på genom datat i kolumnerna från datum och till datum?

Hur blir det om Kund C bokar sin stuga dag 1 och dag 3 och kund D bokar dag 2. Då får ju kund C
2 olika poster i tabellen bokningar med Från datum och Till datum...?

Bara så jag fattar själva kontrollen...


Svara

Sv: Bokningssystem av stugor - tabell för att hålla reda på stugor och dagar?

Postades av 2006-02-19 19:47:21 - Thomas Vanhaniemi

Stämmer bra, varje bokning ska ha en egen rad i bokningstabellen.
Men varje kund har enbart en rad i kund tabellen.

Se det som såhär, en kund kan boka en eller flera stugor.
En bokning kan bara ha en stuga och en kund
En stuga kan ha flera bokningar, bara de inte är på samma datum.

Vill kund A boka en stuga för dag 1 och 3 och kund B vill boka samma stuga för dag 2 går detta bra...
Det blir tre rader i bokningstabellen, två för kund A och en för kund B.
Vill däremot kund B boka för hela veckan som kund A har bokat två dagar på går det inte, men eftersom du använder dig av access måste du göra kontrollen så att de inte krockar i din applikation. Kanske går att göra i Access, men jag har inte jobbat något med restrictions i Access. Andra större databaser erbjuder en mängd andra möjligheter för att kontrollera att datat som matas in alltid är korrekt.

Men en kontroll från applikationens sida borde inte vara speciellt svår. Det enda det går ut på är egentligen är att kontrollera vilka datum som är lediga för en viss stuga och se till att en bokning inte hamnar mitt i någon annans bokning.

Det finns bland annat BETWEEN du kan använda i SQL, men det måste nog kombineras med lite andra algoritmer i applikationen.

Och som Chatarina Andersson skrev så ska du inte radera saker från databasen som redan har skett. Om en avbokning sker kan du självklart radera denna bokning, eller på annat sätt markera att den är avbokad.


Svara

Sv:Bokningssystem av stugor - tabell för att hålla reda på stugor och dagar?

Postades av 2006-02-19 19:50:23 - Sofia Persson

Suveränt!

Nu fattar jag nog. Jag märker denna forum post som Löst - då jag tror jag klarar av att stapla upp min databas med den hjälp jag fått.

Men man vet aldrig om jag återkommer =)

Tack!


Svara

Sv: Bokningssystem av stugor - tabell för att hålla reda på stugor och dagar?

Postades av 2006-02-19 19:54:52 - Thomas Vanhaniemi

Återkom bara om det blir bekymmer.
Det som man bör tänka på vid design av databaser är att inte göra en tabell för varje objekt utan se till att varje objekt av samma typ hamnar i samma tabell.
Själva databasens design ska inte behöva ändras bara för att man beslutar sig för att till exempel bygga en ny stuga eller för att vi helt plötsligt får 400 dagar per år ;)


Svara

Sv:Bokningssystem av stugor - tabell för att hålla reda på stugor och dagar?

Postades av 2006-02-21 14:48:58 - Magnus Gladh

Om du har en bookningstabell med ett startdatum och slutdatum som thomas föreslog så kommer du få få en lite mer komplicerad SQL sats för att finna om just denna stuga är bokad denna dag.

Säg att du har bokat stuga 1 under v1 2006. Alltså 2-8 januari. Om jag då vill boka stugan den 3/1 eller den 5-10/1 eller den 31/12-05 till 4/1-06 och sist men inte lättas 31/12-14/1 så skall det också fallera. Alla exempel ovan måste komma tillbaka med att stugan redan är upptagen och inte kan bokas detta intervall. Det blir en rätt kymmig SQL sats för att kontrollera om stugan är upptagen eller inte.

Ett annat alternativ som gör det lite lättare är att normalisera sin databas ytterligare. Du får 2 tabeller till:

tblBookedDay
-------------------
ID|Date

tblBookedDay_Cabin
-----------------------------
ID|BookedDayId|CabinId

Detta gör att för varje dag som kan bokas så kommer det komma en post i bookedday, du måste alltså kontrollera om du för denna dag redan finns en post och så fall använda det ID, eller sätta in en ny post.

Sedan sättar du in ditt nya/gammla bookeddayId tillsammans med din cabinId i tblBookedDay_Cabin och på detta sättet så kan du bygga en lite enklare SQL fråga för att kontrollera om stugan råkar vara bokad just det datum som du vill boka på. Det kommer dock ge dig lite mer komplicerad SQL för att visa vilka dagar som en stuga är bokad. Men är mer korrekt hur man bygger databaser.

- M


Svara

Sv: Bokningssystem av stugor - tabell för att hålla reda på stugor och dagar?

Postades av 2006-02-21 15:44:42 - Andreas Hillqvist

Hmmm. Jag som trode jag var fösrst med att föreslå det. Men där ser man. :oP

Jag tycker det är en relativ enkel sats. Följande SQL sats hämtar bokningarna under perioden @Start till @Slut:

SELECT Count(*) AS AntalBokningar
FROM Bokningar
WHERE @Start < BokningsSlut AND @Slut > BokningsStart

Så innan uppdatering kontroller man om det existerar några poster under angiven period.
Om man redigerar en post bör man utesluta id för den post man redigerar:
SELECT Count(*) AS AntalBokningar
FROM Bokningar
WHERE @Start < BokningsSlut AND @Slut > BokningsStart AND NOT @Id = BokningsId


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 768
27 960
271 761
404
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies