排班子系统设计与实现_第1页
排班子系统设计与实现_第2页
排班子系统设计与实现_第3页
排班子系统设计与实现_第4页
排班子系统设计与实现_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连大学信息工程学院 数据库系统课程设计数据库系统课程设计报告报告 题 目 客运公司营运信息管理系统 排班子系统设计与实现 计 作 者 姓 名 罗乐 陆倩倩 专业 班级 软件 131 班 学 号 13427003 13427027 指 导 教 师 张 敏 完 成 日 期 2015 6 25 目录目录 1 需求分析 2 1 1 引言 2 1 2 需求分析阶段的目标与任务 2 1 2 1 处理对象 2 1 2 2 处理功能及要求 2 1 2 3 安全性和完整性要求 2 1 3 需求分析阶段成果 2 1 3 1 数据流图 2 1 3 2 数据字典 4 2 数据库结构设计 1 2 1 概念设计 1 2 2 逻辑设计 1 2 2 1 建立关系模式 1 2 2 2 关系及函数依赖 2 2 2 3 关系模式规范化处理 3 2 2 4 用户子模式建立 3 2 2 5 关系模式逻辑结构定义 3 3 数据库物理设计 1 3 1 索引的设计 1 3 2 存储过程的设计 1 3 3 触发器的设计 1 3 4 视图的设计 1 4 数据库实施与测试 1 4 1 数据库实施 1 4 1 1 数据库及数据库对象建立 1 4 1 2 数据入库 1 4 2 数据库测试 1 4 2 1 视图 1 4 2 2 存储过程测试 1 4 2 3 触发器测试 3 5 总结 5 附录 1 关系模式说明 1 附录 2 SQl 数据定义语句 1 1 需求分析 1 11 1 引言引言 需求分析的任务是通过详细调查现实世界要处理的对象 充分了解原系统的工作概况 明确 用户的需求 在此基础上确定系统功能 通过调查获得用户的信息要求 处理要求 安全性要求 与完整性处理 我们负责客运管理系统营运子系统中的排班工作 在这项工作中 分为线路及站点统计 驾 驶员信息管理 班次的统计以及根据班次 路线对驾驶员进行排班这四个步骤 1 21 2 需求分析阶段的目标与任务需求分析阶段的目标与任务 1 2 1 处理对象 驾驶员 车辆 线路 站点 班次 排班 1 2 2 处理功能及要求 根据线路 驾驶员 运行车辆 驾驶员休假情况以及车辆维修情况进行排班 1 2 3 安全性和完整性要求 1 安全性要求 系统安全性要求体现在数据库安全性 信息安全性和系统平台的安全性等方面 安全性先通 过视图机制 不同的用户只能访问系统授权的视图 这样可提供系统数据一定程度上的安全性 再通过分配权限 设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性 系统平台的安全性体现在操作系统的安全性 计算机系统的安全性和网络体系的安全性等方面 2 完整性要求 系统完整性要求包括实体完整性 参照完整性 用户自定义完整性 其中 实体完整性是通 过建立主键来实现 参照完整性是通过外键来实现的 用户自定义完整性是使用 check 约束实现 的 除此之外 还可以通过使用触发器和级联更新 1 31 3 需求分析阶段成果需求分析阶段成果 1 3 1 数据字典 一 数据项 数据项是不可再分的数据单位 数据项条目 数据项名称 与上一站间隔 编号 DI 1 别名 interval 类型长度 float 描述 两个相邻站点的间隔 数据项条目 数据项名称 休假结束时间 编号 DI 2 别名 vacation EndDate 类型长度 Date 2 2基本表的定义 排班表 create table arrange arrangeNum int identity car id varchar 10 not null route id varchar 10 null order num int null Employees id varchar 10 not null arrangedate datetime null constraint PK ARRANGE primary key nonclustered arrangeNum Go 职工表 create table Employees Employees id varchar 10 not null route id varchar 10 not null Employees name varchar 20 null Employees department varchar 50 null Employees title varchar 50 null constraint PK EMPLOYEES primary key nonclustered Employees id Go 车辆信息表 create table car info car id varchar 10 not null route id varchar 10 null license number varchar 15 null constraint PK CAR INFO primary key nonclustered car id Go 线路表 create table route route id varchar 10 not null route name varchar 30 null constraint PK ROUTE primary key nonclustered route id Go 线路运行班次时间表 create table routeTime route id varchar 10 not null order num int not null leave time datetime null constraint PK ROUTETIME primary key nonclustered route id order num Go 线路站点表 create table route station route id varchar 10 not null station id varchar 10 not null interval float null constraint PK ROUTE STATION primary key route id station id Go 站点表 create table station station id varchar 10 not null station name varchar 30 null constraint PK STATION primary key nonclustered station id Go 休假时间表 create table vacation vacation id varchar 10 null vacation StartDate datetime null vacation EndDate datetime null Go 2 3 视图的定义 查看排班信息 USE test1 GO CREATE VIEW 排班信息 AS SELECT a arrangedate r route name rt order num rt leave time e Employees name ci license number FROM Employees e car info ci route r routeTime rt arrange a WHERE e Employees id a Employees id and ci car id a car id and r route id rt route id and rt route id a route id and rt order num a order num GO 2 4 存储过程定义 推迟发车时间 CREATE PROCEDURE IncreaseRouteTime IncreaseTime int AS BEGIN update routeTime set leave time DATEADD HH IncreaseTime leave time END GO 提前发车时间 USE test1 GO CREATE PROCEDURE dbo DecreaseRouteTime DecreaseTime int AS BEGIN SET DecreaseTime 0 DecreaseTime update routeTime set leave time DATEADD mi DecreaseTime leave time END GO routeTime 表插入数据 USE test1 GO SET ANSI NULLS ON GO SET QUOTED IDENTIFIER ON GO CREATE PROCEDURE dbo InsterDate routeTime routeID varchar 10 orderNum int leaveTime datetime AS BEGIN DECLARE orderNum1 int 判断同线路是否已存在该班次序号 select orderNum1 order num FROM routeTime WHERE order num orderNum AND route id routeID IF orderNum1 IS NOT NULL BEGIN UPDATE routeTime SET order num order num 1 WHERE order num orderNum 1 AND route id routeID END INSERT INTO routeTime route id order num leave time VALUES routeID orderNum leaveTime END GO 2 5 触发器定义 插入班次 SET ANSI NULLS ON GO SET QUOTED IDENTIFIER ON GO Author Create date Description CREATE TRIGGER inster routeTime ON routeTime INSTEAD OF INSERT AS DECLARE orderNum int DECLARE orderNum1 int DECLARE routeID varchar 10 DECLARE leaveTime0 datetime DECLARE leaveTime1 datetime DECLARE leaveTime2 datetime 获取插入线路编号及班次序号 select leaveTime0 leave time orderNum order num routeID route id FROM inserted 判断同线路是否已存在该班次序号 select orderNum1 order num FROM routeTime WHERE order num orderNum AND route id routeID IF orderNum1 IS NOT NULL BEGIN PRINT 该线路已经存在该班次序号 提示错误信息 raiserror 该线路已经存在该班次序号 16 1 print orderNum print routeID ROLLBACK TRANSACTION 回滚 END ELSE BEGIN select leaveTime1 leave time FROM routeTime WHERE order num orderNum 1 AND route id routeID select leaveTime2 leave time FROM routeTime WHERE order num orderNum 1 AND route id routeID IF leaveTime1 IS NULL BEGIN set leaveTime1 leaveTime0 END IF leaveTime2 IS NULL BEGIN set leaveTime2 leaveTime0 END IF leaveTime0 leaveTime2 BEGIN raiserror 发车时间输入有误 比上一序号时间小或比下一序号发车时间大 16 1 PRINT 发车时间输入有误 比上一序号时间小或比下一序号发车时间大 ROLLBACK TRANSACTION END ELSE BEGIN INSERT INTO routeTime route id order num leave time VALUES routeID orderNum leaveTime0 END END 更新班次 USE test1 GO SET ANSI NULLS ON GO SET QUOTED IDENTIFIER ON GO CREATE TRIGGER dbo update routeTime ON dbo routeTime AFTER UPDATE AS DECLARE orderNum int DECLARE orderNum1 int DECLARE routeID varchar 10 DECLARE leaveTime0 datetime DECLARE leaveTime1 datetime DECLARE leaveTime2 datetime 获取插入线路编号及班次序号 select leaveTime0 leave time orderNum order num routeID route id FROM inserted 判断同线路是否已存在该班次序号 select orderNum1 order num FROM routeTime WHERE order num orderNum AND route id routeID IF orderNum1 IS NOT NULL BEGIN PRINT 该线路已经存在该班次序号 提示错误信息 raiserror 该线路已经存在该班次序号 16 1 print orderNum print routeID ROLLBACK TRANSACTION 回滚 END ELSE BEGIN select leaveTime1 leave time FROM routeTime WHERE order num orderNum 1 AND route id routeID select leaveTime2 leave time FROM routeTime WHERE order num orderNum 1 AND route id routeID IF leaveTime1 IS NULL BEGIN set leaveTime1 leaveTime0 END IF leaveTime2 IS NULL BEGIN set leaveTime2 leaveTime0 END IF leaveTime0 leaveTime2 BEGIN raiserror 发车时间输入有误 比上一序号时间小或比下一序号发车时间大 16 1 ROLLBACK TRANSACTION END END GO 附录 3 全局 E R 图 车辆年检 驾驶员 车辆年检 消防 驾驶员 违章 驾驶员 事故 车辆 车辆年检 驾驶员 驾驶证 事故 保险 事故 理赔 车辆 保险 发生事故 保险 费用 车辆保险 事故车辆保险 事故车辆 事故 事故 应急预案 0 n 1 n 辞职 请假 调动 签到 培训 签订 违章 合同关系 D 申报 隶属 使用 发布 考评 奖励依据 出库 入库 保管 被借阅 被归还 借阅 归还 被传阅 责任人 接收 损坏 维修小票 被投诉 请求采购 包含 包含 维修 发送 处罚 1 n 1 n 线路 运行班次 运行班次 排班 驾驶员 排班 车辆 排班 路线编号 考核路线 驾驶员 稽查 车辆自编号 稽查 车辆信息 车辆编号 路单 路线 驾驶员 标兵 稽查员工号 考核 调度员 路单 调度站 调度轮休 调度站 流动红旗卫生考核调度室 调度员 卫生考核调度室 线路

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论