Hotel Database Skema
Omfattende oversigt over hotel database systemet
hoteller
ColumnTypeConstraints
hotel_idINTNOT NULL
hotel_navnVARCHAR(100)NOT NULL
adresseVARCHAR(255)NOT NULL
hotel_typeENUMNOT NULL DEFAULT 'S', ('S', 'L')
_pk_hotelCONSTRAINTPRIMARY KEY (hotel_id)
_chk_hotel_idCONSTRAINTCHECK (hotel_id BETWEEN 1 AND 5)
gæster
ColumnTypeConstraints
gæste_idINTNOT NULL AUTO_INCREMENT
fornavnVARCHAR(100)NOT NULL
efternavnVARCHAR(100)NOT NULL
telefon_nummerVARCHAR(20)NOT NULL
emailVARCHAR(255)NOT NULL
adresseVARCHAR(255)NOT NULL
gæste_typeENUMNOT NULL DEFAULT 'D', ('D', 'F', 'U')
statusENUMDEFAULT 'Aktiv', ('Aktiv', 'Inaktiv', 'VIP')
noterTEXTNULL
oprettet_denTIMESTAMPDEFAULT CURRENT_TIMESTAMP
_pk_gæstCONSTRAINTPRIMARY KEY (gæste_id)
_chk_emailCONSTRAINTCHECK (email REGEXP '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}$')
værelser
ColumnTypeConstraints
værelse_idINTNOT NULL
hotel_idINTNOT NULL
værelse_typeENUMNOT NULL, ('D', 'S', 'F')
prisDECIMAL(8,2)NOT NULL
_pk_værelseCONSTRAINTPRIMARY KEY (værelse_id, hotel_id)
_chk_prisCONSTRAINTCHECK (pris BETWEEN 0 AND 9999)
_fk_værelse_hotelCONSTRAINTFOREIGN KEY (hotel_id) REFERENCES hoteller(hotel_id)
bookinger
ColumnTypeConstraints
booking_idINTNOT NULL AUTO_INCREMENT
gæste_idINTNOT NULL
hotel_idINTNOT NULL
værelse_idINTNOT NULL
check_ind_datoDATENOT NULL
check_ud_datoDATENOT NULL
online_bookingBOOLEANDEFAULT FALSE
fdm_medlemBOOLEANDEFAULT FALSE
total_prisDECIMAL(10,2)NOT NULL
booking_statusENUMDEFAULT 'Afventende', ('Bekræftet', 'Afventende', 'Annulleret')
_pk_bookingCONSTRAINTPRIMARY KEY (booking_id)
_fk_booking_gæstCONSTRAINTFOREIGN KEY (gæste_id) REFERENCES gæster(gæste_id)
_fk_booking_hotelCONSTRAINTFOREIGN KEY (hotel_id) REFERENCES hoteller(hotel_id)
_fk_booking_værelseCONSTRAINTFOREIGN KEY (værelse_id, hotel_id) REFERENCES værelser(værelse_id, hotel_id)
_chk_booking_datoerCONSTRAINTCHECK (check_ud_dato > check_ind_dato)
hotel_personale
ColumnTypeConstraints
personale_idINTNOT NULL AUTO_INCREMENT
fornavnVARCHAR(100)NOT NULL
efternavnVARCHAR(100)NOT NULL
stillingsbetegnelseENUMNOT NULL, ('Administrator', 'Rengøringsassistent', 'Leder', 'Receptionist', 'Kok', 'Tjener')
hotel_idINTNOT NULL
ansættelsesdatoDATENOT NULL
lønDECIMAL(10,2)NULL
noterTEXTNULL
_pk_personaleCONSTRAINTPRIMARY KEY (personale_id)
_fk_personale_hotelCONSTRAINTFOREIGN KEY (hotel_id) REFERENCES hoteller(hotel_id)
cykel_udlejning
ColumnTypeConstraints
cykel_idINTNOT NULL AUTO_INCREMENT
cykel_typeENUMNOT NULL, ('El-cykel', 'Ladcykel')
låsekodeVARCHAR(10)NOT NULL
udlejnings_start_datoDATENULL
udlejnings_slut_datoDATENULL
gæste_idINTNULL
statusENUMNOT NULL DEFAULT 'Ledig', ('Ledig', 'Udlejet')
sidste_lejer_idINTNULL
_pk_cykelCONSTRAINTPRIMARY KEY (cykel_id)
_fk_cykel_gæstCONSTRAINTFOREIGN KEY (gæste_id) REFERENCES gæster(gæste_id)
_fk_cykel_sidste_lejerCONSTRAINTFOREIGN KEY (sidste_lejer_id) REFERENCES gæster(gæste_id)
konference_bookinger
ColumnTypeConstraints
konference_idINTNOT NULL AUTO_INCREMENT
hotel_idINTNOT NULL
gæste_idINTNOT NULL
start_datoDATENOT NULL
slut_datoDATENOT NULL
antal_gæsterINTNOT NULL
kunde_ønskerTEXTNULL
forplejningVARCHAR(100)NULL
udstyrVARCHAR(100)NULL
_pk_konferenceCONSTRAINTPRIMARY KEY (konference_id)
_fk_konference_hotelCONSTRAINTFOREIGN KEY (hotel_id) REFERENCES hoteller(hotel_id)
_fk_konference_gæstCONSTRAINTFOREIGN KEY (gæste_id) REFERENCES gæster(gæste_id)
_chk_konference_datoerCONSTRAINTCHECK (slut_dato > start_dato)
_chk_antal_gæsterCONSTRAINTCHECK (antal_gæster > 0)