1、目 录1、开发背景12、系统描述13、数据分析23.1、数据流图23.2、数据字典24、概念模型设计55。 逻辑模型设计及优化86、应用程序设计(前台)97、课程设计心得体会6参考文献1691. 开发背景随着社会和经济不断的发展,数据和信息也随之告诉增长起来,为有效地组织和管理庞大的数据和信息,严密科学合理的数据管理技术也就成为迫切的技术问题之一。数据库技术是20世纪60年代末在文件系统基础上发展起来的数据管理新技术,它解决了过去对数据管理和组织中存在的数据冗余和独立性问题,实现了数据的共享性、完整性、安全性、有效性目标。数据库技术的发展和广泛使用,为人类社会进入信息化社会奠定了坚实的基础。大
2、学生就业管理系统是在实现如今越来越多的大学生提供就业资源,方便大学生,同时也实现企业寻求人才的搜索,该系统最终的目的是方便毕业生进行就业信息检索,可将就业信息在网上进行发布。2 系统描述针对以上的功能分析,对数据库的设计做了以下分析。考虑到就业查询的特殊要求,数据库的设计应该包含以下信息:(1)对用人单位的基本信息进行录入、修改、删除等.(2)实现毕业生专业信息的维护。(3)定时发布用人单位的毕业生需求信息。(4)方便的实现对人才需求信息的检索。(5)对用人单位的级别能够自动进行变更。(6)能够对历年的毕业需求信息进行统计、分析。(7)具有数据备份和数据恢复功能。3数据分析3.1 数据流图数据
3、流图简称DFD图,数据流图有四种成分:源点或终点、处理、数据存储表和数据流.图中没有任何具体的物理元素,只是描述信息在系统中的流动和处理情况,即使不是专业的计算机技术人员也容易理解,是极好的理解工具.它能精确的描述系统的逻辑模型,描述数据在MIS中有输入经过存储、加工处理最后输出的全过程,是设计者和用户交流的很好的工具。S001学生P001学生信息判断P002用人单位信息查询P003学生信息发布图1 学生就业查询流图3.2 数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有的元素定义的集合.数据字典的作用是在软件的分析和设计过程中提供关于数据的描述信息。一般来说,数据字典应该
4、由下列四类元素构成:数据元素,数据流,数据存储和数据处理.3.2。1数据流的描述数据流是数据结构在系统内传输的路径.对数据流的描述通常包括如下内容:数据流名,说明,编号,数据流来源,数据流去向,组成(数据结构)。数据流编号: D001数据流名称: 大学生就业查询信息 简述:大学生所要就业的单位数据流来源:大学生数据流去向:大学生信息判断数据流组成:大学生号+单位号+专业号码等数据流量:1000/天高峰流量:3000/天数据流编号: D001数据流名称: 用人单位信息 简述:用人单位的招聘信息数据流来源:大学生信息判断数据流去向:用人单位信息查询数据流组成:大学生号+专业号+地区号等数据流量:1
5、000/天高峰流量:3000/天3。2.2处理逻辑的描述处理过程的具体处理逻辑通常在详细设计过程中用判定表或判定树来描述。在数据字典中,只无原则描述处理过程的说明性信息,通常包括以下内容:处理过程名,说明,输入数据流,输出数据流,处理处理逻辑编号:P001处理逻辑名称:大学生信息判断 简述:判断大学生信息的合法性输入的数据流:大学生查询信息处理描述:根据大学生提供的个人信息,判断是否为有效用户输出的数据流: D001用人单位要求处理频率: 10次/天处理逻辑编号:P002处理逻辑名称:用人信息判断 简述:判断用人信息的合法性输入的数据流:大学生查询信息处理描述:根据大学生提供的个人信息,判断是
6、否为有效用户输出的数据流: D001用人单位要求处理频率: 10次/天3。2.3 数据存储的描述数据存储是数据结构停留或保存的地方.也是数据流的来源和去向之一,可以是手工文档或手工凭单,也可以是计算及文档。一般而言,应包括如下内容:数据存储名,说明,编号,输入的数据流,输出的数据流,组成(数据结构),数据量,存取频度,存取方式。数据存储编号:F001数据存储名称:大学生信息 简述:大学生的基本信息数据存储组成:学生姓名,性别,年龄,电话,专业,学号关键字:学号相关联的处理:P001数据存储编号:F002数据存储名称:用人信息 简述:用人单位本信息数据存储组成:单位名称,单位号码关键字:单位号码
7、相关联的处理:P0013.2.4 外部实体的描述外部实体编号:S001外部实体名称:学生简 述:找工作的人输入的数据流:D002,D003输出的数据流:D0014 概念模型设计大学生就业管理系统在我负责的管理员这一模块上一共设计了五张表用来存储所有的用人单位信息和招聘信息:company表(包含属性:单位号码、单位名称、电话号码)、major表(包含属性:专业信息、专业号码)、region表(包含属性:地区号码、地区名称)、belong表(包含属性:用人单位号码、地区号)、request表(包含属性:用人单位号码、专业号码、年份、人数、专业、学历).并为每个表设置了能唯一确定各个表的属性。其中
8、company表里设置属性(单位号码)为主关键字,并在major表里设置属性(专业号码)为主关键字,在region表里设置属性(地区号码)为主关键字,在belong表里设置属性(用人单位号码、地区号)为主关键字,在request表里设置属性(用人单位号码)为主关键字。表间对应的局部和整体ER图如下:用人单位单位号码电话号码单位名称图2 用人单位属性图地区地区号码地区名称图3 地区属性图学生姓名性别年龄电话专业学号图4 学生属性图要求用人单位号码专业号码年份人数专业学历图5 单位要求图专业信息专业号码专业名称图6 专业信息属性图用人单位要求专业信息地区属于nnmm人数年份学历专业招聘学生图7 整
9、体E-R图把上面的ER图转换为关系模型为(关系的码用下横线黑体标出) 用人单位(单位号码,单位名称,电话号码); 要求(用人单位号码,专业号码,年份,人数,专业,学历); 专业信息(专业号码,专业名称); 属于(用人单位号码,地区号); 地区(地区号码,地区名称);学生(学号,姓名,年龄,专业,电话)5 逻辑结构模型设计及其优化(1)下面是将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定:1) company表,如表1所示。表1 company表字段名数据类型主关键字外部关键字参照的表取值说明单位号码nchar(10)Yes不允许为空
10、单位名称nchar(10)不允许为空电话号码nchar(10)不允许为空2)belong表,如表2所示。表2 belong表字段名数据类型主关键字外部关键字参照的表取值说明用人单位号码nchar(10)Yes不允许为空地区号码nrchar(10)不允许为空 3)major表,如表3所示。表3 major表字段名数据类型主关键字外部关键字参照的表取值说明专业号码nchar(10)Yes不允许为空专业信息nrchar(10)不允许为空 4)region表,如表4所示。表4 region表字段名数据类型主关键字外部关键字参照的表取值说明地区号码nchar(10)Yes不允许为空地区名称nrchar(
11、10)不允许为空 5)request表,如表5所示。表5 request表字段名数据类型主关键字外部关键字参照的表取值说明专业号码nchar(10)Yes不允许为空用人单位号码nrchar(10)Yes不允许为空年份nrchar(10)不允许为空人数nrchar(10)不允许为空专业nrchar(10)不允许为空学历nrchar(10)不允许为空6)student 表,如表6所示字段名数据类型主关键字外部关键字参照的表取值说明姓名nchar(10)不允许为空学号nchar(10)yes不允许为空年龄nchar(10)不允许为空专业nchar(10)不允许为空性别nchar(10)不允许为空(2
12、)所有表之间的关系图,如图2所示.图2 表之间的关系图6 应用程序设计a) 建立存储过程create procedure dbo。b地区名称 nchar(10)asbeginselect 单位名称,电话号码,地区名称,专业信息,学历,人数,年份from belong,company,region,major,requestwhere 地区名称=地区名称 and belong.用人单位号码 =request。用人单位号码 and belong.用人单位号码 =company。单位号码 and company 。单位号码 =request .用人单位号码 and belong .地区号 =regi
13、on .地区号码 and major 。专业号码 =request 。专业号码endGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOcreate procedure dbo。a单位名称 nchar(10)asbeginselect 单位名称,电话号码,地区名称,专业信息,学历,人数,年份from belong,company,region,major,requestwhere 单位名称=单位名称 and belong.用人单位号码 =request。用人单位号码 and belong.用人单位号码 =company。单位号码 and company
14、 .单位号码 =request 。用人单位号码 and belong 。地区号 =region .地区号码 and major .专业号码 =request .专业号码endGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOcreate procedure dbo。c专业信息 nchar(10)asbeginselect 单位名称,电话号码,地区名称,专业信息,学历,人数,年份from belong,company,region,major,requestwhere 专业信息=专业信息 and belong。用人单位号码 =request.用人单位号
15、码 and belong.用人单位号码 =company。单位号码 and company .单位号码 =request .用人单位号码 and belong .地区号 =region 。地区号码 and major .专业号码 =request .专业号码endGOb) 建立触发器了实现表间数据的一致性和完整性,创建了触发器,具体代码如下:/*company表触发器/create trigger danweihaomaon companyafter updateasbegin update request set 单位号码=(select 单位号码 from inserted) where
16、单位号码 in ( select 单位号码 from deleted) ENDG 图三 程序截图7。 课程设计总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.通过这次课程设计增加很多认识,在拿到课程设计题目时,没有像以前一样马上开始动手写代码,我先做了整体的分析,把要设计的表,表的属性,表间的关系全部弄清楚,并画了相应的关系图和E-R图,从而也就基本形成了这次设计的整体构架.在写代码的过程中明显感觉到很轻松,就是照着所设计的思路一步一步地进行。并得到以下总结:首先,流程是一切的根源,进度控制是项目顺利进行
17、的基础.没有大局观,面对问题和变更就会不知所措了。其次,构架是很重要的,整体框架搭好,具体细节实现起来就是顺理成章的事了。最后,实践比一切空谈和理论更能学到东西.平时学的那些理论都不过是皮毛罢了,一旦不用很快就忘记,始终要在实践中才会发现问题才会努力去解决才能成长。看到题目后就一直在思考怎么设计好这个数据库,从理论到实践,在这些日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,
18、才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,毕竟是第一次做这样的设计,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,例如在设计整体架构设计各表之间的关系时,总是考虑不够周到,数据的完整性和一致性把握不准。理论不够规范化,关系模式不够优越。为了实现这些,我也参阅了很多关于数据库设计方面的书,从中受益匪浅。在这次课程设计过程中,也有很多没有想到的地方,通过和张老师的交流,完善了不少的功能。在此表示感谢。最后,在这次课程设计过程中,深刻感觉到自己知识的缺乏,还需要课外继续学习,不断完善和增加自身的知识和经验。参考文献1 钱雪忠、李京.数据库原理及应用(第三版).北京邮电大学出版社,2010。2 钱雪忠、陈国俊。数据库原理及应用实验指导(第2版)。北京邮电大学出版社,2010。3 贾讽波。杨树青、杨玉顺数据库应用实例北京:人民邮电出版社.2006.4 王珊、萨师煊。数据库系统概论. 北京.高等教育出版社。20065 Mattison R。Web仓库工程与知识管理。北京.清华大学出版社,2003。6 Bain T等.SQL Server 2000数据仓库与Analysis Services.北京.中国电力出版社,2003.谢辞