Velkommen til CBZHotels Database System projektet. Jeg er ansvarlig for at udvikle et centralt databasesystem for CBZHotels, en hotelkæde bestående af 5 hoteller.
Projektbeskrivelse: CBZHotels har brug for et centralt database system til at håndtere bookinger, gæster, værelser og personale. Systemet skal også kunne håndtere konferencefaciliteter og særlige arrangementer.
Hovedkrav:

Booking systemet følger en sekventiel proces med fire hovedaktører:
Processen forløber således:
For at tjekke værelsestilgængelighed bruges følgende SQL-forespørgsel:
SELECT v.værelse_id, v.værelse_nummer, v.værelse_type
FROM Værelser v
LEFT JOIN Bookinger b ON v.værelse_id = b.værelse_id
AND b.check_ud_dato > CURRENT_DATE
AND b.check_ind_dato < DATE_ADD(CURRENT_DATE, INTERVAL 1 DAY)
WHERE b.booking_id IS NULL
AND v.hotel_id = 1;Vi har implementeret et automatisk rabatsystem ved hjælp af en SQL trigger. Her er triggerens funktionalitet:

CREATE TRIGGER beregn_rabat
BEFORE INSERT ON Bookinger
FOR EACH ROW
BEGIN
SET NEW.total_pris =
CASE
WHEN NEW.fdm_medlem THEN NEW.basis_pris * 0.88
WHEN NEW.online_booking THEN NEW.basis_pris * 0.90
ELSE NEW.basis_pris
END;
END;Denne trigger aktiveres før en ny booking indsættes og beregner automatisk den samlede pris baseret på rabatter: