开发工具:Android Studio, Genymotion,Ubuntu API 版本:Android SDK 23 数据库:SQLite3
-
创建航空公司表、航班表等信息。
-
每个航班信息的输入。
-
每个航班的坐位信息的输入;
-
当旅客进行机票预定时,输入旅客基本信息,系统为旅客安排航班;
-
旅客在飞机起飞前一天凭取票通知交款取票;
-
旅客能够退订机票;
-
能够查询每个航班的预定情况、计算航班的满座率。
数据库中所有表都是二维表
所有单关键字段的表都满足第二范式
- 航班表
(航班编号 PK integer ,航空公司,起点,终点,起飞时间,票价)
CREATE TABLE flights (
_id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
flight_company TEXT NOT NULL,
flight_starting TEXT NOT NULL,
flight_ending TEXT NOT NULL,
flight_time DATETIME NOT NULL,
flight_price REAL (2) NOT NULL
);
- 旅客表
(旅客账号 PK,机票编号 FK)
CREATE TABLE guest (
guest_name TEXT PRIMARY KEY
UNIQUE
NOT NULL,
guest_pwd TEXT NOT NULL
);
- 机票表
(机票编号 PK, 座位号,航班编号 FK,座位信息)
CREATE TABLE ticket (
_id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
flight_id INTEGER REFERENCES flights (flight_id)
NOT NULL,
seat_id INTEGER UNIQUE
NOT NULL,
seat_info TEXT NOT NULL,
is_pick Boolean NOE NULL
);
- 订单表
CREATE TABLE orders (
_id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
guset_name TEXT REFERENCES guest (guest_name)
NOT NULL,
ticket_id INTEGER REFERENCES ticket (ticket_id)
NOT NULL,
is_paying boolean NOT NULL
);