1、 大型数据库课程设计 设计报告 题题 目:目:火车站票务管理系统后台数据库火车站票务管理系统后台数据库 1 目录 第 1 章 需求分析 2 1.1 需求调查. 2 1.2 系统功能分析 2 1.3 面对用户需求分析 3 第 2 章 面向对象分析和设计 4 类和对象设计如下:. 4 第 3 章 逻辑结构设计 6 3.1 类和对象向关系模式转换. 9 第 4 章 数据库物理结构设计 9 4.1 存取方法设计. 9 4.2 存储结构设计. 9 4.3 物理设计. 9 第 5 章 数据库完整性设计 9 5.1 主键及唯一性索引. 12 5.2 参照完整性设计. 12 5.3 Check 约束 13 5
2、.4 Default 约束 13 5.5 触发器设计. 13 第 6 章 数据库视图设计 13 第 7 章 数据库存储过程设计 15 第 8 章 权限设计 17 总结 19 参考文献: 20 2 第第 1 1 章章 需求分析需求分析 通过对火车站客运量、旅客和业务员的调查,该火车站票务管理系统有如 下需求: 1) 系统管理:实现系统管理人员对系统的管理,包括添加删除用户,更改密 码, 数据备份,数据还原,注销等功能。 2) 票务管理:实现对火车运行站点及时间的管理、对业务员的管理、对余票 的更新及退票的管理。 3) 基本信息:实现显示火车及业务员的基本信息。 4) 售票:在有剩余座位的情况下自
3、动更新剩余的座位数,控制不超员。 5) 查询:包括实现车次查询,业务员查询。可以查询火车的车种、编号、车 厢数等;查询售票员工作的车站名,及其年龄、性别等; 6) 服务器配置:对它进行配置可以使得在其他电脑上也照常使用。这样不必 每次都到数据库中去更改。 7) 帮助系统:帮助系统为用户指明方向。 1.2 系统功能分析 1、车次管理:用于对火车基本信息的录入、查询、修改、维护、删除等常 用功能。 3 2、车次及价格管理(含到各站的价格):可以按照车次或始发站、终点站 两种方式进行查询,只需要输入关键信息即可查到所需的车次的有关信息, 包括车的类型、所剩票的类型、数量、票价等。 3、实现业务员管理
4、:用于对业务员基本信息的录入、查询、修改、维护、 删除等常用功能,并提供工作地点变动、奖惩登记等功能。 4、实现车票销售管理:车票销售时不能超员,并自动修改剩余的座位数(用 触发器实现); 5、创建存储过程统计指定车次指定发车时间的车票销售情况; 6、创建存储过程统计指定日期各业务员车票的销售收入; 7、实现退票管理:由于一些原因,可能造成客户要求退票,系统根据具体 的情况判定是否可以退票,进行退票。退票时自动修改相应车次的剩余座位数。 1.31.3 面对用户需求分析面对用户需求分析 在火车站票务管理系统中, 最主要的功能就是进行一系列的查询和各类数 据的管理。因此,可以将火车站票务管理系统分
5、为管理系统(有数据变化)和 查询系统两个子系统。 而在所设计的火车站票务管理系统中, 主要有三类用户, 即旅客用户、业务员用户、 、系统管理员。各类用户在该系统中的需求不同, 权限也不同。因此,为了更明确,更系统的了解用户需求,我们还可以将管理 系统再细分为旅客管理系统,业务员管理系统,系统管理员管理系统。同样, 将查询系统也按用户职能进行细分。这样细分后,看似把系统需求繁杂化了。 其实不然,细分后使各用户需求更加明确了,并且能更好的把握系统需求。 下面从细分后的各个子系统分析子系统的需求: 1) 车次管理系统,旅客可以通过该系统查询相关车次的基本信息,火车途经 火车站票务管理系统 车 次 管
6、 理 子 系 统 车 次 及 价 格 管 理 子 系 统 业 务 员 管 理 子 系 统 车 票 销 售 管 理 子 系 统 退 票 管 理 子 系 统 4 站点、出发时间、车的种类等。 2) 车次及价格管理系统, 旅客可以按照相关车次及车站查询相对票价及时间。 3)业务员管理系统,该系统中,主要显示业务员的各项基本信息以及对业务 员信息的管理。 4)车票销售管理系统,该系统主要是可以自动更新各个车次的剩余票数。 5) 退票管理系统,对由于各种原因需要退票的旅客提供退票服务,系统根据 具体的情况判定是否可以退票,进行退票。退票时自动修改相应车次的剩余座位 数。 第2章 面向对象分析和设计 类和对象设计如下:类和对象设计如下: 5 6 第第 3 3 章章 逻辑结构设计逻辑结构设计 局部 ER 图 1、车次管理 1 n 2、售票员管理业务员 n 1 3、车票销售系统 员工编号 性别 年龄 始发站 姓名 业务员 车站 途径车站 工 作 车次号 开车时间 到达时间 相对距离 座位数 始发站 途径车站 始发站 发车时间 火车 车站 经过 终点站 终