Datenbank-Tabellen für die Reservierung Website

Bauen wir eine Reservierung Reservierungssystem. Es gibt drei Module

  1. Kunden
  2. Zimmer
  3. Buchungen

Kann ein Kunde ein Buch oder viele Räume und für unterschiedliche Termine. Während der Buchung ein Zimmer(s), die ich suchen will, die Zimmer sind buchbar zwischen Datum A und Datum B.

Tabellen ( wahrscheinlich Lösung)
Kunden(id, name, .....)
Zimmer(id, roomNo, Einheit, ....)
Buchungen(id, room_id, fromDate, toDate)

Derzeit habe ich die Tabellen wie diese

CREATE TABLE IF NOT EXISTS `bookings` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `checkin` datetime NOT NULL,
  `checkout` datetime NOT NULL,
  `advance` int(11) NOT NULL,
  `amount` int(11) NOT NULL,
  `booking_details_id` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


CREATE TABLE IF NOT EXISTS `bookings_rooms` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `booking_id` int(11) NOT NULL,
  `room_id` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;


CREATE TABLE IF NOT EXISTS `customers` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `age` int(11) NOT NULL,
  `address` varchar(255) NOT NULL,
  `nationality_id` int(11) NOT NULL,
  `mobile` int(20) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

CREATE TABLE IF NOT EXISTS `rooms` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `number` int(4) NOT NULL,
  `category_id` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

Brauche Hilfe beim design der Datenbank und die ist ein besserer Ansatz.

  • Gibt es eine Frage hier?
  • sorry aktualisiert. ich brauche Hilfe beim Entwurf der Tabellen
InformationsquelleAutor Harsha M V | 2011-12-03
Schreibe einen Kommentar