01 简易版订票系统简介
一 创建数据库:TrainOrderDB
二 创建表SQLServer版
1 用户表(Users)
用户表(Users) | |||
字段名 | 数据类型 | 约束和类型 | 备注 |
UserID | INT | 主键,自增 | 用户编号 |
UserName | NVARCHAR(50) | 不允许为空 | 姓名 |
UserEmail | NVARCHAR(100) | 不允许为空,唯一 | 邮箱(作为登录账号) |
UserPwd | NVARCHAR(50) | 不允许为空 | 用户密码 |
RegistrationDate | DATETIME | 不允许为空 | 注册日期 |
2 乘客表(Passengers)
乘客表(Passengers) | |||
字段名 | 数据类型 | 约束和类型 | 备注 |
PassengerID | INT | 主键,自增 | 乘客编号 |
UserID | INT | 外键,关联Users表 | 用户编号 |
PassengerName | NVARCHAR(50) | 不允许为空 | 乘客姓名 |
3 站点表(Stations)
站点表(Stations) | |||
字段名 | 数据类型 | 约束和类型 | 备注 |
StationID | INT | 主键,自增 | 站点编号 |
StationName | NVARCHAR(100) | 不允许为空 | 站点名称 |
City | NVARCHAR(50) | 不允许为空 | 城市 |
4 车次表(Trains)
车次表(Trains) | |||
字段名 | 数据类型 | 约束和类型 | 备注 |
TrainID | INT | 主键,自增 | 车次编号 |
TrainNumber | NVARCHAR(20) | 不允许为空 | 车次号码 |
TrainType | NVARCHAR(50) | 不允许为空 | 车次类型 |
5 车次明细表(TrainDetails)
车次明细表(TrainDetails) | |||
字段名 | 数据类型 | 约束和类型 | 备注 |
TrainDetailID | INT | 主键,自增 | 车次明细编号 |
TrainID | INT | 外键,关联Trains表 | 车次编号 |
SrcID | INT | 外键,关联Stations表 | 出发站点编号 |
DstID | INT | 外键,关联Stations表 | 目的站点编号 |
DepartureTime | TIME | 不允许为空 | 出发时间 |
ArrivalTime | TIME | 不允许为空 | 到达时间 |
Price | DECIMAL(10, 2) | 不允许为空 | 价格 |
6 车次余票明细表(TicketLeft)
车次余票明细表(TicketLeft) | |||
字段名 | 数据类型 | 约束和类型 | 备注 |
LeftNo | INT | 主键,自增 | 余票明细编号 |
TrainDetailID | INT | 外键,关联TrainDetails表 | 车次明细编号 |
DepartureDate | NVARCHAR(50) | 不允许为空 | 出发日期 |
LeftNum | INT | 不允许为空 | 余票数量 |
7 订单表(Orders)
订单表(Orders) | |||
字段名 | 数据类型 | 约束和类型 | 备注 |
OrderID | INT | 主键,自增 | 订单编号 |
UserID | INT | 外键,关联Users表 | 用户编号 |
OrderDate | DATETIME | 不允许为空 | 订票日期 |
DepartureDate | Date | 不允许为空 | 出发日期 |
Quantity | int | 不允许为空 | 订票数量 |
TotalAmount | DECIMAL(10, 2) | 不允许为空 | 总金额 |
8 订单明细表(OrderDetails)
订单明细表(OrderDetails) | |||
字段名 | 数据类型 | 约束和类型 | 备注 |
OrderDetailID | INT | 主键,自增 | 订单明细编号 |
OrderID | INT | 外键,关联Orders表 | 订单编号 |
TrainDetailID | INT | 外键,关联TrainDetails表 | 车次明细编号 |
PassengerID | INT | 不允许为空 | 乘客编号 |
三 创建表SQLite版
1 用户表(Users)
用户表(Users) | |||
字段名 | 数据类型 | 约束和类型 | 备注 |
UserID | INTEGER | 主键,自增 | 用户编号 |
UserName | TEXT | 不允许为空 | 姓名 |
UserEmail | TEXT | 不允许为空,唯一 | 邮箱(作为登录账号) |
UserPwd | TEXT | 不允许为空 | 用户密码 |
RegistrationDate | TEXT | 不允许为空 | 注册日期 |
2 乘客表(Passengers)
乘客表(Passengers) | |||
字段名 | 数据类型 | 约束和类型 | 备注 |
PassengerID | INTEGER | 主键,自增 | 乘客编号 |
UserID | INTEGER | 外键,关联Users表 | 用户编号 |
PassengerName | TEXT | 不允许为空 | 乘客姓名 |
3 站点表(Stations)
站点表(Stations) | |||
字段名 | 数据类型 | 约束和类型 | 备注 |
StationID | INTEGER | 主键,自增 | 站点编号 |
StationName | TEXT | 不允许为空 | 站点名称 |
City | TEXT | 不允许为空 | 城市 |
4 车次表(Trains)
车次表(Trains) | |||
字段名 | 数据类型 | 约束和类型 | 备注 |
TrainID | INTEGER | 主键,自增 | 车次编号 |
TrainNumber | TEXT | 不允许为空 | 车次号码 |
TrainType | TEXT | 不允许为空 | 车次类型 |
5 车次明细表(TrainDetails)
车次明细表(TrainDetails) | |||
字段名 | 数据类型 | 约束和类型 | 备注 |
TrainDetailID | INTEGER | 主键,自增 | 车次明细编号 |
TrainID | INTEGER | 外键,关联Trains表 | 车次编号 |
SrcID | INTEGER | 外键,关联Stations表 | 出发站点编号 |
DstID | INTEGER | 外键,关联Stations表 | 目的站点编号 |
DepartureTime | TEXT | 不允许为空 | 出发时间 |
ArrivalTime | TEXT | 不允许为空 | 到达时间 |
Price | NUMERIC | 不允许为空 | 价格 |
6 车次余票明细表(TicketLeft)
车次余票明细表(TicketLeft) | |||
字段名 | 数据类型 | 约束和类型 | 备注 |
LeftNo | INTEGER | 主键,自增 | 余票明细编号 |
TrainDetailID | INTEGER | 外键,关联TrainDetails表 | 车次明细编号 |
DepartureDate | TEXT | 不允许为空 | 出发日期 |
LeftNum | INTEGER | 不允许为空 | 余票数量 |
7 订单表(Orders)
订单表(Orders) | |||
字段名 | 数据类型 | 约束和类型 | 备注 |
OrderID | INTEGER | 主键,自增 | 订单编号 |
UserID | INTEGER | 外键,关联Users表 | 用户编号 |
OrderDate | TEXT | 不允许为空 | 订票日期 |
DepartureDate | TEXT | 不允许为空 | 出发日期 |
Quantity | INTEGER | 不允许为空 | 订票数量 |
TotalAmount | NUMERIC | 不允许为空 | 总金额 |
8 订单明细表(OrderDetails)
订单明细表(OrderDetails) | |||
字段名 | 数据类型 | 约束和类型 | 备注 |
OrderDetailID | INTEGER | 主键,自增 | 订单明细编号 |
OrderID | INTEGER | 外键,关联Orders表 | 订单编号 |
TrainDetailID | INTEGER | 外键,关联TrainDetails表 | 车次明细编号 |
PassengerID | INTEGER | 不允许为空 | 乘客编号 |
四 后台管理系统
1 管理站点
支持两种数据库:
2 管理车次
五 订票系统
1 订票主页
用户不登录可以查车次信息
支持两种数据库
想要预定车票或做别的操作均需登录
2 登录页面
3 注册页面
4 登录成功后,显示出所有功能
5 维护乘客信息
6 查看订单明细表
7 订票页面
8 参考代码下载地址
https://download.csdn.net/download/qq_69728309/89541038?spm=1001.2014.3001.5503