1、Shanghai Dianji University 课程设计报告 课程名称:_数据库课程设计报告_ 姓 名:_张广琪_ 班级学号:_BX0901_ 指导教师:_沈学东 _ 完成日期:_2011-12-16_ 电 子 信 息 学 院 Electronic Information School 2011 年 12 月 目录 1 概述 3 1.1 设计要求.3 1.2 设计报告要求.3 1.3 课程设计的一般步骤.3 2 设计内容 3 2.1 需求分析3 2.2 划分功能模块5 2.3 数据字典.5 2.4 概念结构设计.8 2.5 逻辑结构设计.10 2.6 物理结构设计.11 2.7 数据的实
2、施和维护.13 3 课程设计小结 23 3.1 设计自我评价和结果分析.23 3.2 致谢.23 参考文献 .24 1 概述 1.1 设计要求 1、需求分析:根据自己的选题,绘制数据流图。 2、概念结构设计:绘制所选题目详细的 E-R 图。 3、逻辑结构设计:将 E-R 图转换成等价的关系模式;按需求对关系模式进行规范化;对规范 化后的模式进行评价,调整模式,使其满足性能、存储等方面要求;根据局部应用需要设 计外模式。 4、设计小结:总结课程设计的过程、体会及建议。 5、其他:参考文献、致谢等。 1.2 设计报告要求 1、问题描述。包括此问题的理论和实际两方面。 2、解决方案。包括:E-R 模
3、型要设计规范、合理,关系模式的设计至少要满足第三范式,数 据库的设计要考虑安全性和完整性的要求。 3、解决方案中所设计的 E-R 模型、关系模式的描述与具体实现的说明。 4、具体的解决实例。 1.3 课程设计的一般步骤 课程设计大体分五个阶段: 1、选题与搜集资料:选择课题,进行系统调查,搜集资料。 2、分析与设计:根据搜集的资料,进行功能与数据分析,并进行数据库、系统功能等设计。 3、程序设计:运用掌握的语言,编写程序,实现所设计的模块功能。 4、调试与测试:自行调试程序,成员交叉测试程序,并记录测试情况。 5、验收与评分:指导教师对每个的数据库系统进行综合验收,结合设计报告,根据课程设计
4、成绩的评定方法,评出成绩。 2 设计内容 2.1 需求分析 随着旅游行业的快速发展,旅游行业的工作人员每天都要面对大量的游客信息、旅 游路线信息以及与旅游相关的交通、食宿等方面的信息。如何科学地管理这些信息是旅游 行业急需解决的问题。本课程设计通过对某旅行社的调查,以用户需求为依据,完成了对 一个小型的国内旅游管理信息系统的数据库设计。 2.11 功能实现 通过对旅游行业业务的了解,与该行业的工作人员的交谈,旅游管理信息系统需要完成的 功能主要有: 有关旅游基本信息的输入,包括旅游线路、旅游班次、旅游团、游客、导游、交通工具、 宾馆以及保险等基本信息的输入。 对旅游线路基本信息的查询、修改。
5、对旅游班次基本信息的查询、修改。 对旅游团基本信息的查询、修改。 对游客基本信息的查询、修改。 对导游基本信息的查询、修改。 对宾馆基本信息的查询、修改。 对保险基本信息的查询、修改。 由以上需求分析可画出旅游管理系统数据流图: 图 1-1 旅游管理系统数据流图 2.12 具体实体需求分析 针对旅游管理信息系统的需求,设计如下面所示的数据项和数据结构: 旅游路线基本信息,包括的数据项有:路线号、起点、终点、天数、主要景点等。 旅游班次基本信息,包括的数据项有:班次号、出发日期、回程日期、旅游标准、报价等。 旅游团基本信息,包括的数据项有:团号、团名、人数、联系人、地址、电话等。 游客基本信息,
6、包括的数据项有:游客编码、姓名、性别、年龄、身份证号码、住址、电 话等。 旅客 班次 旅社 路线 宾馆 导游 保险 旅客记录报名参加 录入数据 旅团 分配游客 更新记录 制定及分配 统计汇总 统一购买 更新记录发单 查询 分配到 导游基本信息,包括的数据项有:导游编号、姓名、性别、年龄、身份证号码、住址、电 话、语种、等级、业绩等。 宾馆基本信息,包括的数据项有:宾馆编号、宾馆名、城市、星级、标准房价、联系人、 职务、地址、电话等。 保险单基本信息,包括的数据项有:保险单编号、保险费、投保日期等。 2.2 划分功能模块 根据系统功能的需求分析和具体旅游管理系统的特点,经过模块化的分析,得到如下
7、图 所示的系统功能模块结构图。 图 1-2 系统功能模块结构图 2.3 数据字典 2.31 数据项 数据字典是各类数据描述的集合,是进行详细的数据收集和数据分析所获得主要的成果, 数据字典是对系统所用到的所有表结构的描述,旅游管理系统的主要数据如下列各表所示: 表 1-1 旅游路线基本信息 Roadline 序号 字段 别名 数据类型 数据长度 码 1 Rnum 路线号 char 10 Y 2 Rstart 起点 varchar 20 N 3 Rend 终点 Varchar 20 N 4 Rdays 天数 smallint N 5 Rscenery 主要景点 varchar 20 N 表 1-
8、2 旅游班次基本信息 Batch 序号 字段 别名 数据类型 数据长度 码 旅游管理系统 基本信息录入 游客信息录入 基本信息查询 系统用户管理 基 本 信 息 录 入 基 本 信 息 修 改 基 本 信 息 删 除 游 客 信 息 录 入 游 客 信 息 修 改 游 客 信 息 删 除 基 本 信 息 查 询 游 客 旅 团 查 询 团 体 班 次 查 询 团 体 路 线 查 询 输 出 相 关 信 息 修 改 密 码 帮 助 信 息 1 Bnum 班次号 char 10 Y 2 Bstart 出发日期 datetime N 3 Breturn 返程日期 datetime N 4 Bstan
9、dard 旅游标准 varchar 10 N 5 Bprice 报价 Int N 6 Rnum 路线号 char 10 F 7 Traffictools 交通工具 Varchar 10 N 表 1-3 旅游团基本信息 Team 序号 字段 别名 数据类型 数据长度 码 1 Tnum 团号 char 10 Y 2 Tname 团名 varchar 20 N 3 Tpersons 人数 int N 4 Tlinkman 联系人 varchar 20 N 5 Ttelephone 电话 Char 11 N 6 Taddr 地址 Varchar 50 N 7 Bnum 班次号 char 10 F 8
10、Gnum 导游编号 Char 10 F 9 Hnum 宾馆编号 Char 10 F 表 1-4 游客基本信息 Visitor 序号 字段 别名 数据类型 数据长度 码 1 Vnum 游客编号 Char 10 Y 2 Vname 姓名 Varchar 20 N 3 Vsex 性别 Char 2 N 4 Vage 年龄 Smallint N 5 Vstatusnum 身份证号码 Char 18 N 6 Vaddr 住址 Varchar 50 N 7 Vtelephone 电话 Char 11 N 8 Tnum 团号 char 10 F 9 Inum 保险单编号 Char 10 F 表 1-5 导游
11、基本信息 Guide 序号 字段 别名 数据类型 数据长度 码 1 Gnum 导游编号 Char 10 Y 2 Gname 姓名 Varchar 20 N 3 Gsex 性别 Char 2 N 4 Gage 年龄 Smallint N 5 Gstatusnum 身份证号码 Char 18 N 6 Gaddr 住址 Varchar 50 N 7 Gtelephone 电话 Char 11 N 8 Gkind 语种 Varchar 10 N 9 Glevel 等级 Char 5 N 10 Gachievement 业绩 Varchar 50 N 表 1-6 宾馆基本信息 Hotel 序号 字段 别
12、名 数据类型 数据长度 码 1 Hnum 宾馆编号 Char 10 Y 2 Hname 宾馆名 Varchar 20 N 3 Hcity 城市 varchar 20 N 4 Hlevel 星级 Char 5 N 5 Hprice 标准房价 Int N 6 Hlinkman 联系人 Varchar 10 N 7 Hposition 职务 Varchar 10 N 8 Haddr 地址 Varchar 50 N 9 Htelephone 电话 Char 11 N 表 1-7 保险单基本信息 Insurence 序号 字段 别名 数据类型 数据长度 码 1 Inum 保险单编号 Char 10 Y
13、2 Iprice 保险费 Int N 3 Idate 投保日期 Datetime N 4 Ieffecttime 有效期限 Datetime N 2.32 数据结构 数据结构反映了数据之间的组合关系。一个数据结构可以有若干个数据项组成,也可以有若 干个数据结构组成,或若干个数据项和数据结构混合组成。经过数据项和需求分析,本系统费数据 结构表可设计如下: 表 1-8 数据结构表 数据结构名 含义说明 组成部分 游客信息管理 描述游客基本信息 游客编码+姓名+性别+年龄+身份证号码+住址+电话 团体信息管理 描述旅游行程信息 团号+团名+人数+联系人+地址+电话+班次号+导游编 号 班次信息管理
14、描述旅游细节信息 班次号+出发日期+回程日期+旅游标准+报价+交通工 具+路线号 系统管理 用户信息更改,帮 助 2.33 数据流 数据流是数据结构在系统中传输的途径。通过对用户的需求分析以及数据项和数据流的设计, 得出相应的数据流描述如下: 表 1-9 数据流定义表 编号 数据流名 组成 流量 备注 01 游客信息 游客编码+姓名+性别+年龄+身份证号码+住址+电 话 大 游客基本信 息 02 团体信息 团号+团名+人数+联系人+地址+电话 一般 团体信息 03 班次信息 班次号+出发日期+回程日期+旅游标准+报价+交 通工具 一般 行程班次信 息 04 路线信息 路线号+起点+终点+天数+
15、主要景点 一般 路线信息 05 宾馆信息 宾馆编号+宾馆名+城市+星级+标准房价+联系人+ 职务+地址+电话 一般 宾馆基本信 息 06 导游信息 导游编号+姓名+性别+年龄+身份证号码+住址+电 话+语种+等级+业绩 一般 导游基本信 息 07 保险信息 保险单编号+保险费+投保日期+有效期截止 一般 保险信息简 介 2.4 概念结构设计 2.41 实体 E-R 图 图 1-3 保险单实体 E-R 图 图 1-4 宾馆实体 E-R 图 保险单 保 险 单 编 号 保 险 费 投 保 日 期 有 效 期 限 出发日期 宾馆 宾 馆 编 号 宾 馆 名 城 市 星 级 标 准 房 价 联 系 人
16、 职务 地 址 电 话 传 真 游客 游 客 编 号 姓 名 性 别 身 份 证 号 住 址 电话 年龄 旅游班次 天数 班次号 旅游标准 报价 返回日期 图 1-5 游客实体 E-R 图 图 1-6 旅游班次实体 E-R 图 图 1-7 导游实体 E-R 图 图 1-8 旅游路线实体 E-R 图 图 1-9 旅游团实体 E-R 图 2.42 系统 E-R 图 导游 导游编号 姓名 性别 身份证号 住址 电话 年龄 语种 等级业绩 旅游路线 路线号 起点 终点 主要景点 旅游团体 团号 团名 人数 联系 人 地址 电话 旅游路线 旅游班次 旅游团体游客 导游 宾馆 保险单 参加 购 买 分 配
17、 配 置 选择 配备 1 n n 1 1 n n 1 1 n 1 1 图 1-10 系统 E-R 图 2.5 逻辑结构设计 2.51 关系模型 将概念结构设计阶段设计好的基本 E-R 图转换为关系模型,如下所示: 1.Roadline 实体可转换为: Roadline(Rnum,Rstart,Rend,Rdays,Rscenery) Rnum-路线号、Rstart-起点、Rend-终点、Rdays-天数、Rsc;enery-主要景点等。 2.Batch 实体可转换为: Batch(Bnum,Bstartdate,Bredate,Bstandard,Bprice,Traffictools) Bn
18、um-班次号、Bstartdate-出发日期、Bredate-回程日期、Bstandard-旅游标准、Bprice-报价, Traffictools-交通工具等。 3.Team 实体可转换为: Team(Tnum,Tname,Tpersons,Tlinkman,Taddr,Ttelephone,Bnum,Hnum,Gnum) Tnum-团号、Tname-团名、Tpersons-人数、Tlinkman-联系人、Taddr-地址、 Ttelephone-电话,Bnum-班次编号,Gnum-导游编号,Hnum-旅馆编号等。 4.Visitor 实体可转换为: Visitor(Vnum ,Vname,
19、Vsex,Vage,Vstatusnum,Vaddr,Vtelephone,Tnum,Inum)Vnun-游客编码、 Vname-姓名、Vsex-性别、Vage-年龄、Vstatusnum-身份证号码、Vaddr-住址、Vtelephone-电话, Tnum- 团号,Inum-保险单号等。 5.Guide 实体模型可转化关系模式: Guide(Gnum,Gname,Gsex,Gage,Gstatusnum,Gaddr,Gtelephone,Gkind,Glevel,Gachievement) Gnum-导游编号、Gname-姓名、Gsex-性别、Gage-年龄、Gstatusnum-身份证号码
20、、Gaddr-住址、 Gtelephone-电话、Gkind-语种、Glevel-等级、Gachievement-业绩等。 6.Hotel 实体模型可转化关系模式: Hotel(Hnum,Hname,Hcity,Hlevel,Hprice,Hlinkman,Hposition,Haddr,Htelephone,) Hnum-宾馆编号、Hname-宾馆名、Hciy 城市、Hlevel 星级、Hprice 标准房价、Hlinkman-联系人、 Hposition-职务、Haddr 地址、Htelephone-电话等。 7.Isurence 实体模型可转化关系模式: Isurence(Inum,Ip
21、rice,Idatetime,Ieffectdate) Inum-保险单编号、Iprice-保险费、Idatetime-投保日期,Ieffectdate-有效期截止日期等。 2.52 物理模型 将生成概念模型通过在 PowerDesigner 工具选择 ToolsGenerate Physical Model 命令就 可以转换成物理模型,由于条件限制,本次设计未能实现这种转换,因而这里不再赘述。 2.6 物理结构设计 2.61 确定数据库的存储结构 由于本系统建立的数据库不是很大,所以数据存储采用的是磁盘的一个分区。 2.62 存取方法和优化方法 常用的存取方法主要有三种:第一种是索引方法;第
22、二种是聚簇方法;第三种方 法是 HASH 法。使用索引法可以大大减少数据的查询时间。但要根据数据库的需求对各种方法 进行择优寻求,视情况而定。 2.7 数据的实施和维护 2.71 数据库的实施 数据库的实施主要是根据逻辑结构和物理结构设计的结果,在计算机系统上建立实际的数 据库结构,导入数据并进行程序调试。 由于没有 PowerDesigner 工具的支持,故这里直接在 SQL server 中直接创建旅游管理系统 基本表的信息。 图 1-11 Batch 表的创建信息结构图 图 1-12 Guide 表的创建信息结构图 图 1-13 Hotel 表的创建信息结构图 图 1-14 Insure
23、nce 表的创建信息结构图 图 1-15 Roadline 表的创建信息结构图 图 1-16 Team 表的创建信息结构图 图 1-17 Visitor 表的创建信息结构图 图 1-18 在 Team 中创建 Bnum 为外键 图 1-19 创建属性约束 图 1-20 在 Batch 实体中创建 Rnum 为外键 2.72 数据的载入 图 1-21 Batch 实体部分基本信息数据图 图 1-22 Guide 实体部分基本信息数据图 图 1-23 Roadline 实体部分基本信息数据图 图 1-24 Team 实体部分基本信息数据图 图 1-25 Visitor 实体部分基本信息数据图 图
24、1-26 Hotel 实体部分基本信息数据图 图 1-27 Insurence 实体部分基本信息数据图 2.73 数据的试运行 (1)数据基本信息查询 图 1-28 数据基本信息查询 (2)数据基本信息的插入 图 1-29 数据基本信息的插入 (3)数据基本信息的删除 图 1-30 数据基本信息的删除 (4)数据基本信息的更新 图 1-31 数据基本信息的更新 2.74 数据库的运行和维护 数据库试运行合格后,数据库开发工作就基本完成,即可以投入正式运行了。但是,由 于环境不断在变化,数据库运行过程中物理存储业会不断变化,对以数据库设计进行评价、调 整、维修和改善等工作是一个长期的任务,也是设
25、计工作的继续和提高。 在数据库运行阶段。对数据经常性的维护工作主要是有 DBA 完成的,主要包括: 数据库的存储和恢复 数据库的安全性、完整性控制 数据库性能的监督、分析和改造 数据库的重组与重构造。 3 课程设计小结 3.1 设计自我评价和结果分析 首先对自己这次设计的这个数据库进行做一下诚恳的评价。总的来说,这次课设的效果 不好,主要是因为平时理论没跟能跟得上实践,从而造成了两手都不抓,什么都抓不住的现状! 从数据库的物理结构来讲,没能实现其很好的存取和优化方法,其功能中也没有涉及使用触发 器的,其实我根本不知道触发器是用来干嘛的。对数据库的安全机制,角色管理使用权限我也 模棱两可的,不知
26、道究竟这些功能实现了没有。其次,从数据库概念结构来看,我觉得(我是 说我自认为,我不敢肯定的)我这方面做的还可以,基本上关系模式可以达到第三范式了,我 实在发不现里面有哪些因素不具备 3 范式的遗传特性,因而我就私下里这么认为了。最后,从 外形框架上看,我的数据库其实不配叫数据库了,如果是,他也就像人群中的木偶一样,只具 有数据库最原始的模样,而没有其现代化的功能模块调用机制。说我不会设计前台吧,我觉得 有点亏,毕竟我对 C#情有独钟,即使是不能顺利设计出来,但经历了风雨,总归能看见彩虹。 可我就是没有心思去做,那就恭维一下自己力有余而心不足吧。 结果分析,对于这次的数据库实现的功能,我觉得还
27、算行吧。不会做和不想做的也就算 了,凡是做过了的总归有点成果吧。本数据库可以进行一些简单的查询、插入、删除、更新等 小操作,而且做起来也很简单。但是对数据库运行和维护做的不好,因为我根本就是不知道如 何运行和维护,更何况数据库的运行在我看来是要以软件来作为精神寄托的,没有软件的依托, 再好的数据库也是空中楼阁,不屑一顾的。因而,对其运行我不多做解释。至于维护,那就更 好说了。压根就没有投入使用数据库,那何来对其进行维护呢? 3.2 致谢 首先我们先好好感谢一下我们敬爱的老师,是他每周不拉课的给我们教授每一章节的内 容,让我们有机会坐在这里优哉游哉的做着数据库的课程设计。我依然清晰的记得,老师想教 授幼儿园小学生那样一遍遍的问我们听懂了没有,对不对啊?很好当时我觉得是很搞,但 事后自行想想,是老师含辛茹苦,不辞辛劳的培育,让我们收敛一下那张狂的个性,从新像小 学生那样好好听课,多学点东东。其次我要感谢一下同甘共苦的同学,是他们时时刻刻在帮助 我成长和学习,在此次课设过程中,多亏了他们的大力支持帮助,我才顺利完成实验报告和数 据库设计。总之,要感谢还有很多,这里纸张有限,不再赘述。 参考文献 数据库应用与技术中国铁道出版社,贾铁军主编; SQL sever2005 经典实例教程电子工业出版社,袁然,王诚梅编著;