用数据库实现机票预订信息系统
时间: 2023-12-06 18:03:50 浏览: 176
好的,那么我们可以使用MySQL数据库来实现机票预订信息系统。以下是一个简单的数据库设计:
1. 用户表(User):存储用户信息,包括用户ID、姓名、电话号码、电子邮件地址等;
```
CREATE TABLE User (
user_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
phone VARCHAR(20) NOT NULL,
email VARCHAR(50) NOT NULL
);
```
2. 航班表(Flight):存储航班信息,包括航班号、出发城市、到达城市、出发时间、到达时间、票价等;
```
CREATE TABLE Flight (
flight_id INT PRIMARY KEY AUTO_INCREMENT,
flight_no VARCHAR(10) NOT NULL,
departure_city VARCHAR(50) NOT NULL,
arrival_city VARCHAR(50) NOT NULL,
departure_time DATETIME NOT NULL,
arrival_time DATETIME NOT NULL,
price DECIMAL(8,2) NOT NULL
);
```
3. 订单表(Order):存储订单信息,包括订单号、用户ID、航班ID、乘客姓名、乘客联系方式、座位类型、票价、订单状态等。
```
CREATE TABLE Order (
order_id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL,
flight_id INT NOT NULL,
passenger_name VARCHAR(50) NOT NULL,
passenger_phone VARCHAR(20) NOT NULL,
seat_type VARCHAR(10) NOT NULL,
price DECIMAL(8,2) NOT NULL,
order_status VARCHAR(20) NOT NULL,
FOREIGN KEY (user_id) REFERENCES User(user_id),
FOREIGN KEY (flight_id) REFERENCES Flight(flight_id)
);
```
在数据库设计完成后,我们可以使用Python的MySQLdb或其他类似的库来连接和操作数据库。以下是一个简单的Python代码示例:
```python
import MySQLdb
# 连接数据库
db = MySQLdb.connect(host="localhost", user="root", passwd="password", db="flight_booking")
# 创建游标
cursor = db.cursor()
# 查询航班信息
cursor.execute("SELECT * FROM Flight WHERE departure_city='上海' AND arrival_city='北京'")
results = cursor.fetchall()
for row in results:
flight_id = row[0]
flight_no = row[1]
departure_city = row[2]
arrival_city = row[3]
departure_time = row[4]
arrival_time = row[5]
price = row[6]
print(flight_id, flight_no, departure_city, arrival_city, departure_time, arrival_time, price)
# 关闭游标和数据库连接
cursor.close()
db.close()
```
当然,实现一个完整的机票预订信息系统需要更多的代码和功能,但以上是一个简单的示例,希望能对您有所帮助。
阅读全文