机票预订系统完整数据字典
Admin:管理员信息表,以自增admin_id作为主键,同时要求admin_name是唯一的,以此作为登录依据。
表名: | Admin | 含义: | 管理员信息表 | ||
列名 | 含义 | 数据类型 | P | N | I |
admin_id | 管理员ID | Int | 1 | 1 | 1 |
admin_name | 管理员账号 | varchar(255) | 1 | ||
password | 管理员密码 | varchar(255) | 1 |
User:用户信息表,以自增user_id作为主键,要求telephone和email都不能重复,以telephone作为登录依据,使用email用来找回或被管理员重置密码,username要求5-15位字母、下划线、汉字,password要求6-16位数字或字母
表名: | user | 含义: | 用户信息表 | ||
列名 | 含义 | 数据类型 | P | N | I |
user_id | 用户ID | int | 1 | 1 | 1 |
username | 用户名 | varchar(255) | 1 | ||
password | 用户密码 | varchar(255) | 1 | ||
telephone | 绑定手机 | varchar(255) | 1 | ||
| 绑定邮箱 | varchar(255) | 1 |
Airway:以自增airway_id作为主键的航线信息表,记录两个出发和到达的两个城市名,以此确定航空公司开通的航线,由于很少变化,所以前端不提供更改。
表名: | airway | 含义: | 航线信息表 | ||
列名 | 含义 | 数据类型 | P | N | I |
airway_id | 航线ID | int | 1 | 1 | 1 |
departure | 出发地 | varchar(255) | 1 | ||
arrival | 到达地 | varchar(255) | 1 |
Aircraft:以自增aircraft_id为主键的飞机型号表,代表航空公司机队里的飞机型号列表,不对飞机的注册号等信息进行收录,只收录基本信息。Model表示飞机型号的名称;为简化系统设计,所以飞机均为全经济舱设计,seats表示某个型号的飞机的经济舱定员量,也表明使用该机型的航班可以售卖多少票。
表名: | aircraft | 含义: | 飞机型号表 | ||
列名 | 含义 | 数据类型 | P | N | I |
aircraft_id | 飞机型号ID | int | 1 | 1 | 1 |
model | 飞机型号名称 | varchar(255) | 1 | ||
seats | 经济舱定员 | int | 1 |
Flight:以自增flight_id为主键的航班信息表,记录了航班的航线信息,执飞机型信息,该航班的预计起飞时间,预计到达时间,通过执飞机型的定原量,确定该航班的可售票数量。Flight_num由中国民航局和航空公司编写,不同日期会有相同航班号,所以用字符串存储。由于航班可能由于时间不一样,执飞机型不一样,票价可能不一致,所以执飞机型和单价不设置非空的要求,可以在录入航班以后,管理员后录入。其中airway_id设置外键参考airway表的airway_id,aircraft_id设置外键参考aircraft表的aircraft_id。
表名: | flight | 含义: | 航班信息表 | ||
列名 | 含义 | 数据类型 | P | N | I |
flight_id | 航班ID | int | 1 | 1 | 1 |
flight_num | 航班号 | varchar(255) | 1 | ||
airway_id | 担当航线ID | int | 1 | ||
departure_time | 预计起飞时间 | datetime | 1 | ||
arrival_time | 预计到达时间 | datetime | 1 | ||
aircraft_id | 执飞机型ID | int | |||
price | 经济舱单价 | decimal(12,2) | |||
available_seat | 经济舱可售票数 | int |
Order:以自增order_id为主键的订单信息表,用user_id记录下单用户,设置外键参考user表的user_id,用flight_id记录预订的航班信息,设置外键参考flight表的flight_id。其中要求用户填写乘客姓名和身份证号码,对身份证号码进行后端校验格式;用户联系电话默认注入user绑定的手机号码,但也允许用户前端填写,同样进行后端格式校验;order_time由订单信息提交到服务器时由服务器生成,status默认设置为false,即订单未提交。限制每个身份证号码只能在一个航班上购买一个座位的票,所以flight_id和passenger_id_card_num设置了UNIQUE。
表名: | order | 含义: | 订单信息表 | ||
列名 | 含义 | 数据类型 | P | N | I |
order_id | 订单ID | long | 1 | 1 | |
user_id | 下单用户ID | int | 1 | ||
flight_id | 预订航班ID | int | 1 | ||
passenger_name | 乘客姓名 | varchar(255) | 1 | ||
passenger_id_card_num | 乘客身份证号码 | varchar(255) | 1 | ||
contact | 乘客联系电话 | varchar(255) | 1 | ||
order_time | 订单生成时间 | datetime | 1 | ||
status | 订单支付状态 | bit | 1 |