请在每个部分后写上注释,以便查看的人们可以看懂
时间: 2024-03-12 14:43:25 浏览: 13
好的,以下是带有注释的完整代码:
```sql
/*
* 创建客房信息表
* 包括房间号、房型、价格、状态
*/
CREATE TABLE room_info (
room_id INT PRIMARY KEY AUTO_INCREMENT, -- 客房编号,自增长,主键
room_type VARCHAR(20) NOT NULL, -- 客房类型,例如:单人间、双人间
price DOUBLE NOT NULL, -- 客房价格
status VARCHAR(10) NOT NULL -- 客房状态,例如:已预订、已入住、空闲
);
/*
* 创建客户信息表
* 包括客户编号、客户姓名、性别、联系方式
*/
CREATE TABLE customer_info (
customer_id INT PRIMARY KEY AUTO_INCREMENT, -- 客户编号,自增长,主键
customer_name VARCHAR(20) NOT NULL, -- 客户姓名
gender VARCHAR(10) NOT NULL, -- 客户性别
phone VARCHAR(20) NOT NULL -- 客户联系方式
);
/*
* 创建预订信息表
* 包括预订编号、客户编号、客房编号、预订时间、入住时间、离店时间
* 客户编号和客房编号分别与客户信息表和客房信息表关联
*/
CREATE TABLE booking_info (
booking_id INT PRIMARY KEY AUTO_INCREMENT, -- 预订编号,自增长,主键
customer_id INT NOT NULL, -- 客户编号,非空
room_id INT NOT NULL, -- 客房编号,非空
booking_time DATE NOT NULL, -- 预订时间
checkin_time DATE NOT NULL, -- 入住时间
checkout_time DATE NOT NULL, -- 离店时间
FOREIGN KEY (customer_id) REFERENCES customer_info(customer_id), -- 关联客户信息表
FOREIGN KEY (room_id) REFERENCES room_info(room_id) -- 关联客房信息表
);
/*
* 创建入住信息表
* 包括入住编号、客户编号、客房编号、入住时间、离店时间
* 客户编号和客房编号分别与客户信息表和客房信息表关联
*/
CREATE TABLE checkin_info (
checkin_id INT PRIMARY KEY AUTO_INCREMENT, -- 入住编号,自增长,主键
customer_id INT NOT NULL, -- 客户编号,非空
room_id INT NOT NULL, -- 客房编号,非空
checkin_time DATE NOT NULL, -- 入住时间
checkout_time DATE NOT NULL, -- 离店时间
FOREIGN KEY (customer_id) REFERENCES customer_info(customer_id), -- 关联客户信息表
FOREIGN KEY (room_id) REFERENCES room_info(room_id) -- 关联客房信息表
);
/*
* 创建消费信息表
* 包括消费编号、客户编号、消费时间、消费金额、消费项目
* 客户编号与客户信息表关联
*/
CREATE TABLE consume_info (
consume_id INT PRIMARY KEY AUTO_INCREMENT, -- 消费编号,自增长,主键
customer_id INT NOT NULL, -- 客户编号,非空
consume_time DATE NOT NULL, -- 消费时间
consume_amount DOUBLE NOT NULL, -- 消费金额
consume_item VARCHAR(50) NOT NULL, -- 消费项目
FOREIGN KEY (customer_id) REFERENCES customer_info(customer_id) -- 关联客户信息表
);
```
以上是宾馆管理系统的数据库设计,包含了注释以方便查看的人理解每个部分的含义。