此结构中的表
room_typesroomsguestsreservationspayments
表结构(SQL)
MySQL 方言的 DDL。在编辑器中打开可获得可编辑的可视化 ER 图,或直接将 SQL 复制到你的项目中。
CREATE TABLE room_types (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
base_price DECIMAL(10,2) NOT NULL,
capacity INT NOT NULL
);
CREATE TABLE rooms (
id INT PRIMARY KEY AUTO_INCREMENT,
room_type_id INT NOT NULL,
room_number VARCHAR(10) NOT NULL UNIQUE,
floor INT,
FOREIGN KEY (room_type_id) REFERENCES room_types(id)
);
CREATE TABLE guests (
id INT PRIMARY KEY AUTO_INCREMENT,
full_name VARCHAR(120) NOT NULL,
email VARCHAR(254) NOT NULL,
phone VARCHAR(32),
created_at DATETIME NOT NULL
);
CREATE TABLE reservations (
id INT PRIMARY KEY AUTO_INCREMENT,
guest_id INT NOT NULL,
room_id INT NOT NULL,
check_in DATE NOT NULL,
check_out DATE NOT NULL,
status VARCHAR(20) NOT NULL,
total DECIMAL(12,2) NOT NULL,
FOREIGN KEY (guest_id) REFERENCES guests(id),
FOREIGN KEY (room_id) REFERENCES rooms(id)
);
CREATE TABLE payments (
id INT PRIMARY KEY AUTO_INCREMENT,
reservation_id INT NOT NULL,
amount DECIMAL(12,2) NOT NULL,
method VARCHAR(30) NOT NULL,
paid_at DATETIME,
FOREIGN KEY (reservation_id) REFERENCES reservations(id)
);