机票管理系统(Android版)

根据老师一个要求做了机票管理系统,数据库都在Android端,相当于作业吧,下面看下实现。

机票管理系统

开发工具:Android Studio, Genymotion,Ubuntu
API 版本:Android SDK 23
数据库:SQLite3

实现功能

  1. 创建航空公司表、航班表等信息。

  2. 每个航班信息的输入。

  3. 每个航班的坐位信息的输入;

  4. 当旅客进行机票预定时,输入旅客基本信息,系统为旅客安排航班;

  5. 旅客在飞机起飞前一天凭取票通知交款取票;

  6. 旅客能够退订机票;

  7. 能够查询每个航班的预定情况、计算航班的满座率。

入口

这里写图片描述

航班管理

这里写图片描述

机票管理

这里写图片描述

数据库设计

参照数据库范式进行设计:

1. 第一范式:数据库表中所有字段都是单一属性的,不可再分的。

数据库中所有表都是二维表

2. 第二范式:数据库中不存在任意非关键字段对候选关键字段的部分函数依赖

所有单关键字段的表都满足第二范式

3.第三范式:不存在非关键字段对任意候选关键字段的传递函数依赖
  1. 航班表
    (航班编号 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
);
  1. 旅客表
    (旅客账号 PK,机票编号 FK)
CREATE TABLE guest (
    guest_name TEXT PRIMARY KEY
                    UNIQUE
                    NOT NULL,
    guest_pwd  TEXT NOT NULL
);
  1. 机票表
    (机票编号 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
);
  1. 订单表
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

);

表关系

这里写图片描述

github地址

https://github.com/yangtianrui95/Android-ticketManagement

  • 4
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值