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