发布时间 : 星期六 文章ab火车站车票售票系统ab更新完毕开始阅读1a2ba3cf08a1284ac9504301
售票员信息表 售票信息表 退票信息表 车站信息表 旅客信息表 概念模型设计
3.1 概念结构设计的方法与步骤
3.1.1 概念结构设计的方法
本系统采用自底向上的概念结构设计方法。即首先定义各局部应用的概念结构,然后将它们集成起来得到全局概念模式。 3.1.2 概念结构设计的步骤 概念结构设计可分为两个步骤:
1、抽象数据并设计局部视图。就是对需求分析阶段收集到的数据按照E-R模型的要求进行分类、组织,形成实体的属性,标识实体的键,确定实体之间的联系类型,设计分E-R图。 2、集成局部视图,得到全局的概念结构。即将所有的分E-R图综合成一个系统的总E-R图。 3.2 数据抽象与局部视图设计
按照图2.2列车票务管理系统总框架图,设计局部E-R图:
车种列车编号终点站车厢数里程剩余票数卧铺车厢数发时列车到时绝对里程所在省经过车站城市名始发站开车时刻到达时刻车站名定义了售票员进入系统填入工作证号,姓名,密码,车站的登录信息 名 定义了已售出及订出车票的车票编号,售票站名,售票时有关信息 间,旅客身份证号 定义旅客因某种原因退掉的车票编号,旅客身份证号 车票 退票金额 定义了各车站站点的有关信车站名,城市名,省份 息 定义了旅客的基本信息及所旅客姓名,身份证号, 购车票信息 图3.1 列车管理E-R图 1
票价车票编号发站到站发时到时列车车票售票站座位类型座位号购票时间身份证号购票旅客姓名
图3.2 售票E-R图 1
5
票价车票编号发站到站发时到时列车车票售票站座位类型座位号退票旅客姓名退票金额身份证号
图3.3 退票E-R图 2
票价车票编号发站到站发时到时列车车票售票类座位类型座位号订票旅客姓名身份证号
图3.4 订票E-R图
车站名城市名所在省车站工作售票员工作证密码姓名
图3.5 售票员E-R图
身份证号工作证号旅客姓名服务售票员密码姓名 6
图3.6 旅客E-R图 1
3.3 视图的集成
将局部E-R图集成为全局E-R图并优化,如图3.7所示:
车种列车编号终点站车厢数里程剩余票数卧铺车厢数发时城市名列车到时绝对里程工作经过车站所在省工作证号密码姓名始发站开车时刻到达时刻车站名购票时间票价车票编号发站到站发时到时列车车票售票站座位类型座位号购票订票退票退票金额姓名售票员服务旅客身份证号
图3.7 总体概念结构E-R图 逻辑模型设计
4.1 E-R图向关系模型的转化
将图3.6总体概念结构E-R图转化成关系模型如下:
列车(列车编号,车种,始发站,终到站,发时,到时,车厢数,卧铺车厢数,剩余票数,里程,经过车站)
车票(车票编号,发站,到站,发时,到时,票价,座位类型,座位号,售票站名) 售票员(工作证号,姓名,密码,车站名) 旅客(身份证号,姓名,车票编号)
车站 (车站名,售票员工作证号,城市名,所在省)
购票 (车票编号,售票站名,购票时间,旅客身份证号) 订票 (车票编号,售票站名,订票时间,旅客身份证号) 退票 (车票编号,旅客身份证号,退票金额) 经过 (列车编号,车站名,到时,发时,里程) 4.2 数据模型的优化
将转化的关系模式进行优化:
列车(列车编号,车种,始发站,终到站,发时,到时,车厢数,卧铺车厢数,剩余票数,里程,经过车站)
车票(车票编号,发站,到站,发时,到时,票价,座位类型,座位号,售票站名) 售票员(工作证号,姓名,密码) 旅客(身份证号,姓名,车票编号) 车站(车站名,城市名,所在省) 工作(车站名,售票员工作证号)
7
购票 (车票编号,旅客身份证号)
订票 (车票编号,旅客身份证号,订票时间) 退票 (车票编号,旅客身份证号,退票金额) 经过 (列车编号,车站名,到时,发时,里程) 4.3 数据库表格设计
根据优化后的数据模型,设计表格,每个表格表示在数据库中的一个表,如表4.1-表4.7所示。
表4.1 列车信息表 1
字段名 列车编号 车种 始发站 终到站 发时 到时 车厢数 卧铺车厢数 剩余票数 里程 票价
表4.2 车票信息表 1
字段名 车票编号 列车编号 始发站 终到站 发时 到时 票价 座位类型 车票类型 座位号 售票站名
表4.3 车站信息表 1
字段名 车站名 城市名 省份 数据类型 varchar varchar varchar 长度 50 50 12 8
约束 主键 不为空 不为空 数据类型 char char varchar varchar time time Integer integer Integer integer Decimal 长度 30 20 50 50 4 4 4 9 约束 主键 不为空 不为空 不为空 不为空 不为空 不为空 不为空 不为空 不为空 不为空 数据类型 char char varchar varchar time time decimal char char integer varchar 长度 8 30 50 50 9 10 10 50 约束 主键 外键 不为空 不为空 不为空 不为空 不为空 不为空 不为空 不为空 外键