教职员工科研管理系统.docx
- 文档编号:5052805
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:22
- 大小:483.04KB
教职员工科研管理系统.docx
《教职员工科研管理系统.docx》由会员分享,可在线阅读,更多相关《教职员工科研管理系统.docx(22页珍藏版)》请在冰豆网上搜索。
教职员工科研管理系统
数据库课程实训--------教职员工科研管理系统
1.系统描述
1.1背景
高等院校教职员工科研管理信息系统数据库设计案例
高等院校教师除担负正常的教学任务以外,科学研究工作也是教师主要任务之一,科学研究工作可以提高学校的学术水平,并且促进教师的教学水平。
对于教师科学研究工作的管理和量化是十分必要的。
本课题的背景如下:
某高等学校拟建立一套科研管理信息系统,实现对科研工作的信息化管理,要求系统对数据的存储完整,查询迅速,操作方便。
教职员工分属于各个学院下的系或行政机关,学院如材料学院,建筑学院,管理学院,理学院等,在学院的教职员工分属于不同的系,在行政机关的教职员工分属于不同的部门如教务处,人事处,财务处等。
各级单位均有单位名称,单位地址,电话等属性。
教职员工要求有基本信息包括姓名,性别,出生年月,政治面貌,籍贯,毕业院校,所学专业,学历,学位,研究方向,联系电话等信息;教职员工的科研工作主要包括撰写论文,著作和承担课题的研究,发明创造等工作,其研究成果主要包括论文,著作,课题,专利四大类。
撰写的论文主要信息包括论文名称,所有作者姓名,出版刊物名称,刊号,时间,刊物级别(核心期刊,一般期刊,报纸杂志,会议论文),是否被三大索引收录等信息。
著作主要包括书名,出版社,出版时间,著作类别(专著、编著、教材、译著),字数,作者姓名及其分工等。
课题包括三个环节,立项,鉴定,获奖。
课题基本情况包括课题名称,编号,承担单位,合作单位,课题立项情况包括课题来源分为纵向(国家,省部,厅局,一般)横向(其他单位),课题性质(自然科学,软科学,社会科学等),还包括立项时间,完成时间,课题成员,经费等;鉴定包括鉴定时间,鉴定级别(国家,省部,厅局,一般),人员,成果等级(国际先进,国际领先,国内先进,国内领先)等;获奖包括获奖时间,等级(国家,省部,厅局),级别(一等奖,二等奖,三等奖),人员等。
专利包括专利号,名称,专利类型(发明,实用新型,外观设计等),授予时间,人员等。
每位教职员工会参与多项课题,论文,著作和专利。
每项科研也会有多人参加。
教职员工的科研工作成果评价和他参与科研的数量和质量都有关系。
根据科研参与人数的不同和该教职员工的排名不同,他可以获得相应的科研分数,所以科研的总体信息和各人的对应信息必须完整。
最终提供的数据模式可以使用户按照不同年份,人员,单位等各种口径进行查询及统计工作,要求信息完整,设计规范。
各类成果评分规则可自行拟定,如一篇核心期刊论文10分,一个国家级成果100分,等,合作成果评分可参照表1
功能要求:
1、要求能录入、修改和删除个人科研信息详情。
2、要求能按系,学院、部门或科研种类统计所有人员各项科研项目情况。
3、要求可以按时间(某年或某时间段)查询及统计个人、各单位的科研项目详细情况。
4、计算科研得分情况。
按评分规则将计算的得分存储,以便将来统计查询。
5、要求能够修改或设定评分规则。
6、要求可能以从各个口径统计得分,如个人各项得分,各单位各项得分,加上年份控制。
7、要求能使用饼图、柱状图、折线图、趋势图等显示相关信息。
8、输出要求能打印正规报表,能导出到excel或word。
9、要求有权限管理、分级审核功能。
除各单位管理员外,个人只可以维护自己的科研信息。
个人科研信息提交后,由所在单位管理员审核,审核后,个人不能修改和删除已审核的科研信息。
所在单位管理员审核无误后提交学校科研管理员审核,提交后所在单位管理员不能对该记录进行修改和删除。
数据库设计要求:
1)分析系统需求,进行概念结构设计
2)利用powerdesigner实现概念结构设计、逻辑设计、物理设计及实施
3)各数据项的数据类型可自行设计,但尽量与实际接轨。
数据各可自行添加,但每个人的设计及数据应有所不同。
4)综合考虑上述功能要求,建立必要的数据完整性,设计相应的视图、触发器、存储过程,这些对象设计的数量、质量及合理性将作为评分的依据
表1.合作成果科研分分配
位次
比例
人数
主持人
参加人
1
2
3
4
5
6
7
2
70
30
3
60
30
10
4
50
30
10
10
5
50
20
10
10
10
6
50
20
10
10
5
5
7
50
15
10
10
5
5
5
1.2目的和意义
目的是使教职员工科研管理工作更加的简捷,管理更加先进。
其意义是通过系统开发使学生更深入的理解数据库编程知识,同时开发出有实际作用的系统,用实践带动学习积极性。
2.程序功能介绍
2.1E-R图
2.2.数据库-------教职员工科研管理系统
数据库中的所有表
(1).学院及行政机关
(2).系及部门
(3).教职员工
(4).撰写
(5).论文
(6).写作
(7).著作
(8).发明
(9).专利
(10).承担
(11).课题
(12).立项
(13).鉴定
(14).获奖
2.3.视图
2.4.存储过程.
(1).p-教职员工专利得分
createprocedurep_教职员工专利得分@F_noint
as
begin
declare@score2int
declare@O_catagorychar(50)
declare@O_divideworkchar(50)
declare@O_awardtimedatetime
declare@num2int
declare@timelimitint
declare@F_namechar(50)
set@O_catagory=(select专利类型from专利a,发明bwhereb.教职员工编号=@F_noanda.专利号=b.专利号)
set@O_dividework=(select专利分工from专利a,发明bwhereb.教职员工编号=@F_noanda.专利号=b.专利号)
set@O_awardtime=(select授予时间from专利a,发明bwhereb.教职员工编号=@F_noanda.专利号=b.专利号)
set@num2=(selectcount(专利号)from发明awhere专利号=(select专利号from发明bwhere教职员工编号=@F_no))
set@timelimit=(year(getdate())-year(@O_awardtime))
set@F_name=(select教职员工姓名from教职员工a,专利b,发明cwherea.教职员工编号=c.教职员工编号andb.专利号=c.专利号andc.教职员工编号=@F_no)
begin
if@timelimit<=3
begin
if@O_catagory='发明'
set@score2=100
elseif@O_catagory='实用新型'
set@score2=90
else
set@score2=80
begin
if@O_dividework='申请人'
set@score2=@score2*0.6
elseset@score2=@score2*0.4/(@num2-1)
end
end
end
print'职工号:
'+str(@F_no)+'职工名:
'+@F_name+'专利得分为:
'+str(@score2)
end
GO
(2).p-教职员工著作得分
createprocedurep_教职员工著作得分@F_noint
as
begin
declare@score3int
declare@z_catagorychar(50)
declare@z_divideworkchar(50)
declare@z_publishtimedatetime
declare@num3int
declare@timelimitint
declare@F_namechar(50)
set@z_catagory=(select著作类别from著作a,写作bwhereb.教职员工编号=@F_noanda.著作编号=b.著作编号)
set@z_dividework=(select著作分工from著作a,写作bwhereb.教职员工编号=@F_noanda.著作编号=b.著作编号)
set@z_publishtime=(select出版时间from著作a,写作bwhereb.教职员工编号=@F_noanda.著作编号=b.著作编号)
set@num3=(selectcount(著作编号)from写作awhere著作编号=(select著作编号from写作bwhere教职员工编号=@F_no))
set@timelimit=(year(getdate())-year(@z_publishtime))
set@F_name=(select教职员工姓名from教职员工a,著作b,写作cwherea.教职员工编号=c.教职员工编号andb.著作编号=c.著作编号andc.教职员工编号=@F_no)
begin
if@timelimit<=3
begin
if@z_catagory='专著'
set@score3=100
elseif@z_catagory='编著'
set@score3=90
elseif@z_catagory='教材'
set@score3=80
else
set@score3=70
begin
if@z_dividework='主持人'
set@score3=@score3*0.6
elseset@score3=@score3*0.4/(@num3-1)
end
end
end
print'职工号:
'+str(@F_no)+'职工名:
'+@F_name+'著作得分为:
'+str(@score3)
end
GO
(3).p-教职员工论文得分
createprocedurep_教职员工论文得分@F_noint
as
begin
declare@score1int
declare@num1int
declare@S_levelchar(50)
declare@S_recordchar(4)
declare@S_divideworkchar(50)
declare@F_namechar(50)
declare@S_noint
declare@timelimitint
declare@S_publishtimedatetime
set@S_level=(select刊物级别from论文a,撰写bwhereb.教职员工编号=@F_noanda.论文编号=b.论文编号)
set@S_record=(select是否被三大索引收录from论文a,撰写bwhereb.教职员工编号=@F_noanda.论文编号=b.论文编号)
set@S_dividework=(select论文分工from撰写awherea.教职员工编号=@F_no)
set@num1=(selectcount(论文编号)from撰写where论文编号=(select论文编号from撰写where教职员工编号=@F_no))
set@F_name=(select教职员工姓名from教职员工a,撰写bwherea.教职员工编号=@F_noanda.教职员工编号=b.教职员工编号)
set@S_publishtime=(select刊登时间from论文a,撰写bwherea.论文编号=b.论文编号and
b.教职员工编号=@F_no)
set@timelimit=(year(getdate())-year(@S_publishtime))
begin
if@timelimit<=3
begin
if@S_level='核心期刊'set@score1=100
elseif@S_level='一般期刊'set@score1=90
elseif@S_level='报纸杂志'set@score1=80
elseif@S_level='会议论文'set@score1=70
begin
if@S_record='是'set@score1=@score1+10
elseif@S_record='否'set@score1=@score1+0
begin
if@S_dividework='主持人'set@score1=@score1*0.6
elseif@s_dividework='参加人'set@score1=(@score1*0.4)/(@num1-1)
end
end
end
end
print'职工号:
'+str(@F_no)+'姓名:
'+@F_name+'论文得分为:
'+str(@score1,5,1)
end
GO
2.5.触发器
(1).专利触发器
CREATETRIGGER专利触发器ON[dbo].[专利]
FORINSERT,UPDATE
ASBEGIN
UPDATE专利
SET专利得分=100
where专利类型='发明'
UPDATE专利
SET专利得分=80
where专利类型='实用新型'
UPDATE专利
SET专利得分=60
where专利类型='外观设计'
end
专利成员得分触发器
CREATETRIGGER专利成员得分触发器ON[dbo].[发明]
FORINSERT,UPDATE
ASBEGIN
UPDATE发明
SET相应得分=专利得分*0.8
FROM专利,专利编号
where发明.专利分工='主持人'AND专利.专利编号=发明.专利编号
UPDATE发明
SET相应得分=专利得分*0.2
FROM发明,专利编号
where专利分工='参加人'AND专利.专利编号=发明.专利编号
END
当改变专利类型时自动修改专利得分触发器
CREATETRIGGER专利触发器1ON[dbo].[专利]
FORINSERT,UPDATE,DELETE
AS
begin
ifupdate(专利类型)
exec专利得分
end
(2).论文触发器
CREATETRIGGER论文触发器ON[dbo].[论文]
FORINSERT,UPDATE
ASBEGIN
UPDATE论文
SET论文得分=100
where刊物级别='核心期刊'
UPDATE论文
SET论文得分=80
where刊物级别='一般期刊'
UPDATE论文
SET论文得分=60
where刊物级别='报纸杂志'
UPDATE论文
SET论文得分=40
where刊物级别='会议论文'
end
论文成员得分触发器
CREATETRIGGER论文成员得分触发器ON[dbo].[撰写]
FORINSERT,UPDATE
ASBEGIN
UPDATE撰写
SET相应得分=论文得分*0.8
FROM撰写,论文编号
where论文分工='主持人'AND论文.论文编号=撰写.论文编号
UPDATE撰写
SET相应得分=专利得分*0.2
FROM撰写,专利编号
where论文分工='参加人'AND论文.论文编号=撰写.论文编号
END
当论文的属性是否被三大索引收录和刊物级别被改变时自动修改论文得分触发器
CREATETRIGGER论文触发器1ON[dbo].[论文]
FORINSERT,UPDATE,DELETE
AS
begin
ifupdate(是否被三大索引收录)orupdate(刊物级别)
exec论文得分
end
(3).著作触发器
CREATETRIGGER著作触发器ON[dbo].[著作]
FORINSERT,UPDATE
ASBEGIN
UPDATE著作
SET著作得分=100
where著作类别='专著'
UPDATE著作
SET著作得分=80
where著作类别='编著'
UPDATE著作
SET著作得分=60
where著作类别='教材'
UPDATE著作
SET著作得分=40
where著作类别='译著'
end
著作成员得分触发器
CREATETRIGGER著作成员得分触发器ON[dbo].[写作]
FORINSERT,UPDATE
ASBEGIN
UPDATE写作
SET相应得分=专利得分*0.8
FROM写作,著作编号
where著作分工='主持人'AND著作.著作编号=著作.著作编号
UPDATE写作
SET相应得分=专利得分*0.2
FROM写作,著作编号
where著作分工='参加人'AND著作.著作编号=写作.著作编号
END
当著作的著作类别改变时自动修改著作得分触发器
CREATETRIGGER著作触发器1ON[dbo].[著作]
FORINSERT,UPDATE,DELETE
AS
begin
ifupdate(著作类别)
exec著作得分
end
(4).课题得分触发器
CREATETRIGGER课题得分触发器ON[dbo].[课题]
FORINSERT,UPDATE
ASBEGIN
if
UPDATE课题
exec课题得分
SET课题得分=立项得分+鉴定得分+获奖得分
FROM立项,立项得分and鉴定.鉴定得分and获奖.获奖得分
where立项.课题编号=课题.课题编号and鉴定.课题编号=课题.课题编号and获奖.课题编号=课题.课题编号
END
课题成员得分触发器
CREATETRIGGER课题成员得分触发器ON[dbo].[承担]
FORINSERT,UPDATE
ASBEGIN
UPDATE承担
SET相应得分=课题得分*0.8
FROM承担,课题编号
where课题分工='主持人'AND课题.课题编号=承担.课题编号
UPDATE专利成员
SET相应得分=课题得分*0.2
FROM承担,课题编号
where课题分工='参加人'AND课题.课题编号=承担.课题编号
END
(5)教职员工得分触发器
CREATETRIGGER教职员工得分触发器ON[dbo].[教职员工]
FORINSERT,UPDATE
ASBEGIN
UPDATE教职员工
SET相应得分=专利得分*0.25
FROM专利,专利得分
where发明.教职员工编号=教职员工.教职员工编号
UPDATE教职员工
SET相应得分=论文得分*0.25
FROM论文,论文得分
where撰写.教职员工编号=教职员工.教职员工编号
UPDATE教职员工
SET相应得分=著作得分*0.25
FROM著作,著作得分
where写作.教职员工编号=教职员工.教职员工编号
UPDATE教职员工
SET相应得分=课题得分*0.25
FROM课题,课题得分
where承担.教职员工编号=教职员工.教职员工编号
END
(6)系及部门得分触发器
CREATETRIGGER系及部门得分触发器ON[dbo].[系及部门]
FORINSERT,UPDATE
ASBEGIN
UPDATE系及部门
SET系及部门得分=教职员工得分
FROM教职员工,教职员工得分
where系及部门.系及部门编号=教职员工.系及部门编号
END
(7)学院及行政机关得分触发器
CREATETRIGGER学院及行政机关得分触发器ON[dbo].[学院及行政机关]
FORINSERT,UPDATE
ASBEGIN
UPDATE学院及行政机关
SET学院及行政机关得分=系及部门得分
FROM系及部门,系及部门得分
where学院及行政机关.学院及行政机关编号=系及部门.学院及行政机关编号
END
2.6.流程图
(1)论文得分流程图
(2)专利得分流程图
(3)著作得分流程图
(4)课题得分流程图
2.7.用excel生成图
例如,对于专利表
专利名称
专利号
专利类型
授予时间
专利得分
专利1
1044
发明
2010-8-4
100
专利2
1045
实用新型
2010-3-18
80
专利3
1046
外观设计
2010-9-5
60
3.系统实现
3.1.开发环境
本软件适用于windowsxp或windoes2000系统的计算机,内存容量不低于256M,本系统设计采用数据库SQL编程语言,应在SQLSERVER2000,Excel2003等软件条件下运行。
3.2.程序调试情况
在触发器中如果update多个值不知道该怎样处理
3.3.结论
调试基本完成,能计算出各个教职员工,系及部门,学院及行政机关得分,但是在一些问题上仍存在疑问,例如在触发器中能否调用函数,存储过程中的值能否插入表中,触发器能否建立在多个表上等等。
希望对此系统进行合理改进,使之适用于更高级别的电脑系统和软件配置。
4.结束语
这次数据库课程设计使我看到了自己的不足,在很多方面需要改进,但同时,在设计过程中通过与同学以及老师的交流和共同努力,基本上完成了教职员工科研管理系统的开发,很受激励,也很有成就感,希望今后能有更多的机会参加这样的训练,提高自己的专业技能,今后能更有信心的从事本专业的职业。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教职员工 科研 管理 系统