使用MySQL创建一个机票预订系统
时间: 2023-10-10 13:11:57 浏览: 53
好的,下面是一个简单的机票预订系统的 MySQL 数据库设计:
### 表格设计
#### 1. 用户表格
用户表格用来存储系统的用户信息,如姓名、邮箱、密码等。
```sql
CREATE TABLE users (
user_id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL,
PRIMARY KEY (user_id)
);
```
#### 2. 航班表格
航班表格用来存储航班的信息,如起点、终点、出发时间、到达时间、票价等。
```sql
CREATE TABLE flights (
flight_id INT(11) NOT NULL AUTO_INCREMENT,
origin VARCHAR(50) NOT NULL,
destination VARCHAR(50) NOT NULL,
departure_time DATETIME NOT NULL,
arrival_time DATETIME NOT NULL,
price DECIMAL(10, 2) NOT NULL,
PRIMARY KEY (flight_id)
);
```
#### 3. 订单表格
订单表格用来存储用户的订单信息,如用户 ID、航班 ID、订单状态等。
```sql
CREATE TABLE orders (
order_id INT(11) NOT NULL AUTO_INCREMENT,
user_id INT(11) NOT NULL,
flight_id INT(11) NOT NULL,
status VARCHAR(50) NOT NULL,
PRIMARY KEY (order_id),
FOREIGN KEY (user_id) REFERENCES users(user_id),
FOREIGN KEY (flight_id) REFERENCES flights(flight_id)
);
```
### 数据库实现
```sql
-- 创建用户表格
CREATE TABLE users (
user_id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL,
PRIMARY KEY (user_id)
);
-- 创建航班表格
CREATE TABLE flights (
flight_id INT(11) NOT NULL AUTO_INCREMENT,
origin VARCHAR(50) NOT NULL,
destination VARCHAR(50) NOT NULL,
departure_time DATETIME NOT NULL,
arrival_time DATETIME NOT NULL,
price DECIMAL(10, 2) NOT NULL,
PRIMARY KEY (flight_id)
);
-- 创建订单表格
CREATE TABLE orders (
order_id INT(11) NOT NULL AUTO_INCREMENT,
user_id INT(11) NOT NULL,
flight_id INT(11) NOT NULL,
status VARCHAR(50) NOT NULL,
PRIMARY KEY (order_id),
FOREIGN KEY (user_id) REFERENCES users(user_id),
FOREIGN KEY (flight_id) REFERENCES flights(flight_id)
);
```
一些其他的说明:
- 在用户表格中,使用了 `AUTO_INCREMENT` 关键字来自动为每个用户分配一个唯一的 ID。
- 在订单表格中,使用了 `FOREIGN KEY` 来创建用户 ID 和航班 ID 与对应表格之间的关联。这将确保只能创建已存在于用户表格和航班表格中的用户和航班的订单。
- 状态列可以用于跟踪订单的状态,例如已支付、未支付等。
这只是一个简单的机票预订系统的数据库设计。还可以根据实际需求进行修改和调整。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)