经济管理学院数据库综合训练课程设计课程设计题目:教职工科研信息管理专业班级:信管L102学生姓名:XXX学号:10L0201204指导教师:瞿英张冬丽刘紫玉2013年1月22日11问题描述1.1背景本课程设计是根据现有技术水平,为了方便对教职工科研项目的管理,从而实现实现对科研工作的信息化管理,设计结果要求系统对数据的存储完整,查询迅速,操作方便。教职员工分属于各个学院下的系或行政机关,学院如材料学院,建筑学院,管理学院,理学院等,在学院的教职员工分属于不同的系,在行政机关的教职员工分属于不同的部门如教务处,人事处,财务处等。各级单位均有单位名称,单位地址,电话等属性。教职员工要求有基本信息包括姓名,性别,出生年月,政治面貌,籍贯,毕业院校,所学专业,学历,学位,研究方向,联系电话等信息;教职员工的科研工作主要包括撰写论文,著作和承担课题的研究,发明创造等工作,其研究成果主要包括论文,著作,课题,专利四大类。撰写的论文主要信息包括论文名称,所有作者姓名,出版刊物名称,刊号,时间,刊物级别(核心期刊,一般期刊,报纸杂志,会议论文),是否被三大索引收录等信息。著作主要包括书名,出版社,出版时间,著作类别(专著、编著、教材、译著),字数,作者姓名及其分工等。课题包括三个环节,立项,鉴定,获奖。课题基本情况包括课题名称,编号,承担单位,合作单位,课题立项情况包括课题来源分为纵向(国家,省部,厅局,一般)横向(其他单位),课题性质(自然科学,软科学,社会科学等),还包括立项时间,完成时间,课题成员,经费等;鉴定包括鉴定时间,鉴定级别(国家,省部,厅局,一般),人员,成果等级(国际先进,国际领先,国内先进,国内领先)等;获奖包括获奖时间,等级(国家,省部,厅局),级别(一等奖,二等奖,三等奖),人员等。专利包括专利号,名称,专利类型(发明,实用新型,外观设计等),授予时间,人员等。每位教职员工会参与多项课题,论文,著作和专利。每项科研也会有多人参加。教职员工的科研工作成果评价和他参与科研的数量和质量都有关系。根据科研参与人数的不同和该教职员工的排名不同,他可以获得相应的科研分数,所以科研的总体信息和各人的对应信息必须完整。最终提供的数据模式可以使用户按照不同年份,人员,单位等各种口径进行查询及统计工作,要求信息完整,设计规范。1.2数据需求功能要求:1、要求能录入、修改和删除个人科研信息详情。2、要求可以按时间(某年或某时间段)查询及统计个人、各单位的科研项目详细情况。3、计算科研得分情况。按评分规则将计算的得分存储,以便将来统计查询。4、要求能够修改或设定评分规则。5、要求可能以从各个口径统计得分,如个人各项得分,各单位各项得分,加上年份控制。6、要求有权限管理、分级审核功能。除各单位管理员外,个人只可以维护自己的科研信息。个人科研信息提交后,由所在单位管理员审核,审核后,个人不能修改和删除已审核的科研信息。所在单位管理员审核无误后提交学校科研管理员审核,提交后所在单位管理员不能对该记录进行修改和删除。2数据库要求:1、分析系统需求,进行概念结构设计2、利用powerdesigner实现概念结构设计、逻辑设计、物理设计及实施3、各数据项的数据类型可自行设计,但尽量与实际接轨。数据各可自行添加,但每个人的设计及数据应有所不同。4、综合考虑上述功能要求,建立必要的数据完整性,设计相应的视图、触发器、存储过程,这些对象设计的数量、质量及合理性将作为评分的依据(各类成果评分规则可自行拟定,如一篇核心期刊论文10分,一个国家级成果100分,等,合作成果评分可参照表1)表1.合作成果科研分分配位次比例人数主持人参加人123456727030360301045030101055020101010650201010557501510105551.3事务需求通过这次课程设计,目的是为了使教职员工科研管理工作更加的简捷,管理更加先进。其意义是通过系统开发使学生更深入的理解数据库编程知识,同时开发出有实际作用的系统,用实践带动学习积极性。1.解决方案(或数据库系统设计)2.1E-R模型设计32.2.数据库-------教职员工科研管理系统4(1).学院及行政机关(2).教职员工(3).表局部图示2.系统实现3.1开发环境通过ASP.NET与数据库的连接,实现了教师可以查看自己的个人信息,对于自己的论文、著作等进行添加、修改、删除操作。管理员可以对所有教师的信息进行添加、修改、删除操作,教师和管理员通过默认密码进入系统后,可以对自己的密码进行更改。3.2系统流程图5(1)论文得分流程图教职职工编号刊物级别核心刊物100分一般期刊80分报纸杂志60分会议论文40分得分为零是否被三大索引收录是,得10分否,得0分分工主持人得分*60%参加人得分*40%/参加人人数最终得分空非空6(2)专利得分流程图教职员工编号得分为零专利类别发明100分实用新型80分外观设计60分分工主持人得分*60%参加人得分*40%/参加人人数最终得分非空空7(3)著作得分流程图教职员工编号著作类别得分为零专著100分编著80分教材60分译著40分分工主持人得分*60%参加人得分*40%/参加人人数最终得分非空空8(4)课题得分流程图3.3程序调试情况一般用户和管理员登陆时,登录界面如何跳转到各自的操作页面。使用GRIDVIEW从数据库中读取数据,向数据库中插入数据。实现一般用户和管理员的密码修改。3.4结论9一般用户和管理员登陆时,登录界面如何跳转到各自的操作页面。使用GRIDVIEW从数据库中读取数据,向数据库中插入数据。教师和管理员的密码修改。3.结束语经过这段时间的课程设计,不仅对以前所学的知识进行了进一步的整理和复习,同时也体会到要对所学内容充分理解掌握才能熟练运用,在这两个星期里,遇到了很多问题,从一开始的无从下手慢慢的掌握的设计的思路和方法,通过向老师和同学请教,反复的查看书本,最终完成了设计。在这个过程中,收获的不仅仅是知识和经验,还有处理事情的态度:坚持、合作,最后,要感谢这几个星期来帮助我的老师和同学,相信这次课程设计会成为我们以后工作的良好奠基。是我的专业知识得到了很好的补充!!附录:源代码清单触发器基本代码获奖触发器CREATETRIGGER[dbo].[获奖触发器]ON[dbo].[获奖]FORINSERT,UPDATEASBEGINUPDATE获奖SET获奖得分=100where获奖等级='国家'and获奖级别='一等奖'UPDATE获奖SET获奖得分=80where获奖等级='国家'and获奖级别='二等奖'UPDATE获奖SET获奖得分=60where获奖等级='国家'and获奖级别='三等奖'UPDATE获奖SET获奖得分=80where获奖等级='省部'and获奖级别='一等奖'UPDATE获奖SET获奖得分=60where获奖等级='省部'and获奖级别='二等奖'UPDATE获奖SET获奖得分=40where获奖等级='省部'and获奖级别='三等奖'UPDATE获奖SET获奖得分=60where获奖等级='厅局'and获奖级别='一等奖'UPDATE获奖10SET获奖得分=40where获奖等级='厅局'and获奖级别='二等奖'UPDATE获奖SET获奖得分=20where获奖等级='厅局'and获奖级别='三等奖'end课题成员得分触发器CREATETRIGGER[dbo].[课题成员得分触发器]ON[dbo].[承担]FORINSERT,UPDATEASBEGINUPDATE承担SET相应得分=课题得分*0.8FROM承担,课题where课题分工='主持人'AND课题.课题编号=承担.课题编号UPDATE专利成员SET相应得分=课题得分*0.2FROM承担,课题where课题分工='参加人'AND课题.课题编号=承担.课题编号END专利成员得分触发器CREATETRIGGER[dbo].[专利成员得分触发器]ON[dbo].[发明]FORINSERT,UPDATEASBEGINUPDATE发明SET相应得分=专利得分*0.8FROM发明,专利where发明.发明分工='主持人'AND专利.专利号=发明.专利号UPDATE发明SET相应得分=专利得分*0.2FROM发明,专利where发明分工='参加人'AND专利.专利号=发明.专利号END鉴定触发器setANSI_NULLSONsetQUOTED_IDENTIFIERONGOALTERTRIGGER[dbo].[鉴定触发器]ON[dbo].[鉴定]FORINSERT,UPDATEASBEGINUPDATE鉴定SET鉴定得分=100where鉴定级别='国家'and成果等级='国际先进'UPDATE鉴定11SET鉴定得分=90where鉴定级别='国家'and成果等级='国际领先'UPDATE鉴定SET鉴定得分=80where鉴定级别='国家'and成果等级='国内先进'UPDATE鉴定SET鉴定得分=70where鉴定级别='国家'and成果等级='国内领先'uPDATE鉴定SET鉴定得分=90where鉴定级别='省部'and成果等级='国际先进'UPDATE鉴定SET鉴定得分=80where鉴定级别='省部'and成果等级='国际领先'UPDATE鉴定SET鉴定得分=70where鉴定级别='省部'and成果等级='国内先进'UPDATE鉴定SET鉴定得分=60where鉴定级别='省部'and成果等级='国内领先'uPDATE鉴定SET鉴定得分=80where鉴定级别='厅局'and成果等级='国际先进'UPDATE鉴定SET鉴定得分=70where鉴定级别='厅局'and成果等级='国际领先'UPDATE鉴定SET鉴定得分=60where鉴定级别='厅局'and成果等级='国内先进'UPDATE鉴定SET鉴定得分=50where鉴定级别='厅局'and成果等级='国内领先'end课题触发器setANSI_NULLSONsetQUOTED_IDENTIFIERONGOALTERTRIGGER[dbo].[课题得分触发器]ON[dbo].[课题]FORINSERT,UPDATEASBEGINUPDATE课题SET课题得分=(立项得分)+(鉴定得分)+(获奖得分)FROM立项,鉴定,获奖,课题where立项.课题编号=课题.课题编号and鉴定.课题编号=课题.课题编号and获奖.课题编号=课题.课12题编号END立项触发器setANSI_NULLSONsetQUOTED_IDENTIFIERONGOALTERTRIGGER[dbo].[立项触发器]ON[dbo].[立项]FORINSERT,UPDATEASBEGINUPDATE立项SET立项得分=100where课题来源='国家'and课题性质='自然科学'UPDATE立项SET立项得分=90where课题来源='国家'and课题性质='软科学'UPDATE立项SET立项得分=80where课题来源='国家'and课题性质='社会科学'UPDATE立项SET立项得分=90where课题来源='省部'and课题性质='自然科学'UPDATE立项SET立项得分=80where课题来源='省部'and课题性质='软科学'UPDATE立项SET立项得分=70where课题来源='省部'and课题性质='社会科学'UPDATE立项SET立项得分=80where课题来源='厅局'and课题性质='自然科学'UPDATE立项SET立项得分=70where课题来源='厅局'and课题性质='软科学'UPDATE立项SET立项得分=60where课题来源='厅局'and课题性质='社会科学'end论文触发器setANSI_NULLSONsetQUOTED_IDENTIFIERONGOALTERTRIGGER[dbo].[论文触发器]ON[dbo].[论文]13FORINSERT,UPDATEASBEGINUPDATE论文SET论文得分=10