
科研项目管理系统
-
2023年3月17日发(作者:二建专业对照表)--.
--考试资料.
编号:
xxxx大学
课程设计说明书
课程名称:
数据库系统原理
题目:
高校科研管理系统
学院:
专业:
计算机科学与技术
学号:
姓名:
指导教师:
--.
--考试资料.
摘要
关键词:科研信息;SQLServer2005,信息管理;
在此次课程设计中,本组的题目是高校科研管理系统。
本系统采用SQLServer2005来设计数据库,论文主要介绍开发背景,重点说明系统
设计的思想。
数据库管理员利用此系统对数据库进行管理包括:更新、修改科研信息以及删除错误
的科研信息等。主要功能包括:科研常规事务的管理,课题的申请、审批、验收的管
理,查询、统计功能等。
该系统能够实时反映高校的科研活动,为日常事务的处理和管理职能提供重要支持。
高校科研信息管理通常是比较复杂,由于各类信息繁多难归集,利用计算机支持高校
高效率完成信息管理,是适应现代高等学校制度要求,推动高校科研信息管理走向科
学化、社会化、规范化和自动化,从而提高高校科研项目的成功率,提高整体科研水
品和管理科研的水平。
目录
第一章系统概述3
1.1系统功能概述3
第二章系统分析4
2.1系统可行性分析4
2.1.1目标可行性4
2.1.2技术可行性4
2.1.3经济可行性4
2.2系统需求分析5
2.2系统功能结构图5
2.3开发环境及工具6
第三章系统设计6
3.1系统设计思想6
第四章数据库设计7
4.1数据库需求分析7
4.2数据库概念结构设计7
4.3数据库逻辑结构设计错误!未定义书签。
4.4触发器设计10
4.4.1科研计划表添加科研记录时,修改其验收状态为“未验收”10
图4.4.2科研计划表修改触发器11
4.4.3科研计划表禁止修改科研计划表中“科研编号”等重要的字段11
--.
--考试资料.
4.5存储过程设计11
4.5.1部门管理存储过程12
4.6视图设计14
4.6.1查询职务视图15
第五章系统的测试及结果16
结论19
参考文献19
附录20
第一章系统概述
1.1系统功能概述
经过实际考察和分析,高等院校学籍管理系统包括八个模块,相应能实现以下主要功能:
科研人员信息管理:包括科研人员信息数据的录入、修改与删除等功能。
科研项目信息管理:包括科研项目信息的录入、修改与删除等功能。
科研论文信息管理:包括科研人员录入的论文信息的录入、修改与删除等功能。
科研著作信息管理:包括科研人员录入的著作信息的录入、修改与删除等功能。
获奖信息管理:包括科研人员获奖信息的录入、修改与删除等功能。
年度科研分的计算:根据科研人员获奖给予科研分,并对其进行统计。
系统管理员管理:包括系统用户数据的录入、修改与删除等功能。
数据查询:包括科研人员信息的查询和科研人员个人论文和著作的查询以及科研人员获奖情
况的查询等功能。
1.2系统的开发环境
1.2.1开发环境的选择
开发与运行的环境的选择会影响到数据库设计,本系统开发与运行环境如下:
➢开发环境:Windows10企业版
➢数据库管理系统:SQLServer2014
本系统在Windows10企业版开发环境下,并使用SQLServer2014作为数据库管理系统,来
实现高校科研管理系统的各个模块和它们的功能,形成一个令多数学校满意的科研管理系统。
1.2.2SQLserver2014简介
MicrosoftSQLServer2014已经内置最新的安全、功能更新。微软将在愚人节,即Build2014
开发者大会期间开放SQLServer2014资源下载服务。
--.
--考试资料.
MicrosoftSQLServer2014为市场带来了部署到核心数据库中的新内存功能,包括内存OLTP,
它是对市场上大多数综合内存数据库解决方案的现有内存数据仓库和BI功能的补充。
SQLServer2014还提供新的云功能,以简化SQL数据库对云技术的采用并帮助您开创新的
混合方案。
第二章系统分析
2.1系统可行性分析
2.1.1目标可行性
随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长,因此对
教育行业的多元信息进行有效的管理工作,一套现代化、自动化、智能化、人性化的学生成绩管
理系统可减轻了学院教务人员管理的工作量,缩小开支,提高工作效率和准确率,使其变得更具
有条理性,科学性。
由于本系统管理的对象简单,且每个数据内容之间都具有较强的关联性,涉及过程并不是很
复杂。因此比较适合于采用数据库管理。
2.1.2技术可行性
本系统采用目前被广泛使用的C#开发技术、SQLServer2008数据库技术和WindowsForms
窗体进行开发设计,是一个客户机/服务器(C/S)模式。首先,c#是微软为.NET量身定做的开发语
言集合了C/C++和VB的双重优点,具有简易型、灵活性、移植性强等特点,同时使用VisualStudio
2008作为开发平台,对于开发中小系统来说,这种开发环境是完全没有问题的。其次,本系统采
用SQLServer2008数据库。到目前为止,SQL数据库仍然是使用最广泛的一种数据库语言,因此
本系统采用SQLServer2008,在系统安全性、可用性和高稳定性上又有了很大的提升。再次,本
系统的操作环境采用Windows操作系统,可以为本系统的开发提供良好的稳定性。最后,考虑
到三者兼容的问题,由于三者都属于微软公司的产品,所以兼容性上不存在问题。硬件方面,采
用标准的服务器硬件配置,能满足本系统的要求。综上所述,本系统的技术可行性不存在问题。
2.1.3经济可行性
完成本系统需要硬件和软件两方面的支持。硬件方面需要开发服务器一台,个人电脑在此可
作为服务器使用;软件方面,由于本系统属于小型管理系统,利用VisualStudio2008和SQLServer
2008数据库开发工具即可实现。开发时间短,经济成本低。
--.
--考试资料.
2.2系统需求分析
高校科研管理所设计的事务非常繁杂,涉及到校科研处、各个院系的科研管理以及个人对科
研信息的查询统计等。所设计的系统既要有利于科研处的监督管理又要有利于各个系及教师的分
工协作。系统功能主要包括校科研处科研管理、院系(或部门)科研管理、个人科研信息查询、校
级科研项目整体信息管理。可以划分为科研信息维护、科研信息查询与统计、科研信息报表、科
研信息分析、校级课题申报、审批、结题、其它处理等操作;其中科研信息应细分为学术论文、
科研项目、科研成果、科研奖励等信息。
由于本系统是直接面向网上办公的,必须适应所服务环境的各类操作人员,主要包括学校科
研处、各院系(或部门)、普通教师个人(或其他浏览者)。
①普通教师个人(或其他浏览者)
普通教师个人(或其他浏览者)只能按姓名来浏览个人的科研信息、进行统计打印,个人的科
研信息(论文、著作、项目成果等)必须提交本部门审核入录。
②各院系(或部门)
各院系(或部门)主要职责是对本部门员工的论文、科研项目、科研成果、奖励等信息进行审
核后输入到本系统数据库中,查询本部门在某时间内的科研信息、统计科研情况、打印相关资料
等,同时对本部门的错误录入信息进行修改和维护。
③科研处
主要管理本校的员工信息、论文、各级各类科研项目和成果、科研奖励等常规工作,同时,
管理校级课题的申报、审批、结题等管理,同时,监控系统运行和各部门的情况。
2.2系统功能结构图
--.
--考试资料.
图2.2系统功能结构图
2.3开发环境及工具
本系统开发时所使用的相关开发环境和工具如下:
操作系统:MicrosoftWindows10企业版
数据库:MicrosoftSQLServer2014
绘图软件:MicrosoftVisio2005
第三章系统设计
3.1系统设计思想
随着网络的日益普遍化,网络的安全将显得非常重要,从数据库级、服务器级和应用程序级
综合考虑,在科研管理系统中要根据不同用户,设置不同的权限、不同的初始化菜单。在本系统
中,数据库的安全主要通过数据库的存取控制机制实现的。首先定义各类管理人员的操作权限即
高校科
部门教师科研计系部职称职务
部门号
部门名
教师编号
教师姓名
职务
教师编号
职称
教师姓名
系部号
系部名
部门名
教师编号
教师姓名
系部号
科研编号
系部号
教师编号
教师姓名
是否申报
审批管理
验收标志
完成数量
--.
--考试资料.
角色,其次定义数据库登录,最后依据用户权限表将登录分配为相应的角色。
第四章数据库设计
4.1数据库需求分析
经过实际考察和分析,高等院校学籍管理系统包括八个模块,相应能实现以下主要功能:
科研人员信息管理:包括科研人员信息数据的录入、修改与删除等功能。
科研项目信息管理:包括科研项目信息的录入、修改与删除等功能。
科研论文信息管理:包括科研人员录入的论文信息的录入、修改与删除等功能。
科研著作信息管理:包括科研人员录入的著作信息的录入、修改与删除等功能。
获奖信息管理:包括科研人员获奖信息的录入、修改与删除等功能。
年度科研分的计算:根据科研人员获奖给予科研分,并对其进行统计。
系统管理员管理:包括系统用户数据的录入、修改与删除等功能。
数据查询:包括科研人员信息的查询和科研人员个人论文和著作的查询以及科研人员获奖情
况的查询等功能。
4.2数据库概念结构设计
概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形
成一个独立于具体的概念模型。根据数据库需求分析的结果,就可以确认程序中所包含的实体及
实体间的关系,作为数据库逻辑结构设计的基础与指导。根据本系统的需要,可以归纳出以下实
体:部门、职务、职称、系部和科研项目。各实体间的E-R图如下所示。
部门E-R图如图4.1(1)所示:
部门E-R图4.1(1)
部门
部门号部门名
--.
--考试资料.
主要实体E-R图如图4.2(2)所示
主要实体E-R图如图4.2(2)
职务E-R图如图4.3(3)所示:
职务E-R图如图4.3(3)
教师编号
教师姓名
职
务
职务
部门
职务
职称
系部
教师
科研项目
部门名
部
门
参加
教师编号
教师
姓名
职称
教师
编号
教师姓名
职务
系部号
部门号
系部名
审批管理
科研
编号
系部号
教师编号
教师姓名
是否申报
完成
数量
验收标志
--.
--考试资料.
4.3数据字典
department
字段名数据类型长度是否为Null是否主属性
DeptNoIntNoYes
DeptNamechar20NoNo
Faculty
字段名数据类型长度是否为Null是否主属性
DeptNumberIntNoYes
DeptNoIntNoNo
FacultyNameChar20NoNo
Teacher
--.
--考试资料.
字段名数据类型长度是否为Null是否主属性
TeacherNumberIntNoYes
TitleNumberchar20NoNo
TeacherNametextNoNo
SexChar20NoNo
ContactNumberChar14NoNo
InFacultyNumberIntNoNo
Employee
字段名数据类型长度是否为Null是否主属性
TeacherNumberIntNoNo
TeacherNameChar20NoNo
postChar20NoNo
Title
字段名数据类型长度是否为Null是否主属性
TeacherNumberIntNoNo
TeacherNameChar20NoNo
TitleNameChar20NoNo
Project
字段名数据类型长度是否为Null是否主属性
ProjectNumberIntNoYes
DeptNumberIntNoNo
TeacharNumberIntNoNo
TeacherNameChar20NoNo
Reportchar2NoNo
approvalChar20NoNo
CheckingChar20NoNo
ProjectAmountIntNo
4.4触发器设计
4.4.1科研计划表添加科研记录时,修改其验收状态为“未验收”
createtrigger[dbo].[tgr_project_insert]
onproject
forinsert--插入触发
as
updateproject
setChecking='未验收'
--.
--考试资料.
创建成功,如图4.4.1所示:图4.4.1科研计划表修改触发器
4.4.2科研计划表验收项目时自动修改项目的验收标志为“验收通过”
createtrigger[dbo].[tgr_project_insert_mark]
onproject
forupdate
as
begin
ifupdate(Checking)
updateprojectsetChecking='验收通过'
end
创建成功,如图4.4.2所示:图4.4.2科研计划表修改触发器
4.4.3部门表禁止修改部门表中“部门名”“部门号”等重要的字段
createtrigger[dbo].[update_department]
ondepartment
forupdate
as
if(update(DeptNo)orupdate(DeptName))
begin
print'你想作甚,基本数据不能修改!!!'
rollbacktransaction
end
else
print'修改成功'
select*fromdepartment
创建成功,如图4.4.3所示:图4.4.3科研计划表修改触发器
4.5存储过程设计
存储过程是SQL语句和可选控制流语句的预编译集合,以一个名称存储并作为一
个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行。它有如下
优点:
(1)允许模块化程序设计。存储过程一旦创建,以后即可在程序中调用任意多
次
(2)可以减少网络通信流量,一个需要数百行Transact-SQL代码的操作可以通
过一条执行过程代码的语句执行,而不需要在网络中发送数百行代码。
(3)允许更快执行。存储过程只在第一次执行时需要编译且被存储在存储器中,
其他次执行不必由数据引擎再编译,提高了执行速度。
--.
--考试资料.
(4)可作为安全机制使用。即时对于没有直接执行存储过程中语句的权限的用
户,也可授予他们执行该存储过程的权限。
由上可知,存储过程具有独特的便利性,因此根据该系统的功能要求,设计了如
下的存储过程。
4.5.1添加部门管理存储过程
createprocedure[dbo].[insert_department]
(
DeptNoint,--部门号
DeptNamechar(50)--部门名
)
as
mentvalues(DeptNo,DeptName)
创建成功,如图4.5.1所示:图4.5.1部门管理存储过程
4.5.2删除部门管理存储过程
createprocedure[dbo].[delete_department]
(
DeptNoint--部门号
)
as
mentwhereDeptNo=DeptNo
--添加教师信息表存储过程
createprocedure[dbo].[insert_teacher]
(TeacherNumberint,--教师编号
TitleNumberchar(10),--职称编号
TeacherNametext,--
Sexchar(10),--性别
ContactNumberchar(10),--联系电话
InFacultyNumberint--所属院系编号
)
as
rvalues
(
TeacherNumber,TitleNumber,TeacherName,Sex,ContactNumber,InFacultyNumber
)
--.
--考试资料.
创建成功,如图4.5.2所示:
图4.5.2添加教师信息表存储过程
--删除教师信息表存储过程
createprocedure[dbo].[delete_teacher]
(
TeacherNumberint--教师编号
)
as
deletefromteacherwhereTeacherNumber=TeacherNumber
execute[dbo].[delete_teacher]TeacherNumber=10
--科研项目存储过程
createprocedure[dbo].[insert_project]
(
ProjectNumberint,--科研编号
DeptNumberint,--系部号
TeacherNumberint,--教师编号
TeacherNamechar(12),--教师姓名
Reportchar(12),--是否申报
approvalchar(12),--审批管理
Checkingchar(12),--验收标致
ProjectAmountint--科研数量
)
as
insertinto[dbo].[insert_project]values
(
ProjectNumber,DeptNumber,TeacherNumber,TeacherName,Report,approval,Checking,ProjectAmount
)
创建成功,如图4.5.3所示:
--.
--考试资料.
图4.5.3添加科研项目存储过程
4.6视图设计
删除科研项目存储过程
createprocedure[dbo].[delete_project]
(
TeacherNumberint--教师编号
)
as
deletefromprojectwhereTeacherNumber=TeacherNumber
go
execute[dbo].[delete_project]9
科研项目查询
createprocedure[dbo].[check_project]
(
TeacherNumberint
)
as
--.
--考试资料.
select
ProjectNumber,DeptNumber,TeacherNumber,TeacherName,Report,approval,Checking,ProjectAmount
t
whereTeacherNumber=TeacherNumber
查询成功如图4.5.4所示:
图4.5.4查询结果
4.6.1创建教师表视图
createview[view_teacher]
as
selectTeacherName,ContactNumberfromteacher
创建成功,如图4.6.1所示:图4.6.1查询职务视图
4.6.2查询教师视图
createview[view_project]
as
select*fromproject
创建成功,如图4.6.2所示:
图4.6.2查询教师视图
--.
--考试资料.
第五章系统的测试及结果
--1--创建触发器,添加科研记录时,修改其验收状态为“未验收”;
--2--创建触发器,验收项目时自动修改项目的验收标志为“验收通过”;
--3--创建触发器,禁止修改department表中“部门号”“部门名”等重要的字段。
--.
--考试资料.
(1)--创建存储过程插入一条信息到部门管理
(2)--创建存储过程删除一条信息到部门管理
(3)--创建存储过程插入一条信息到教师信息的管理
--.
--考试资料.
(4)--创建存储过程插入一条信息到科研项目申报管理
(4)--创建存储过程,统计各院系科研项目的申报和完成数量;
--.
--考试资料.
--1创建教师联系电话视图
--2创建科研表视图
结论
本次课程设计题目是:高校科研管理系统
该系统的功能贯穿了科研管理的全过程,使高校的科研管理工作能够快速、方便、
准确、安全的得以实现。
经过课时的学习努力,这个系统总算完成了。由于知识能力和时间的欠缺,我们
小组初步实现了一些基本的管理系统功能,尽管它是一个半成品,系统还有许多不尽
如人意的地方,存在很多不足,有待改善。但它是我们小组独立完成的一个项目设计。
通过这次课程设计,我们了解了科研项目的大致流程,熟悉数据库的使用,使我
得到不少提高。在存储器的开发中,我认为是最重要和最困难的部分,知识的欠缺造
成了对项目设计的修修补补,在老师的帮助下,这些问题基本得已解决,也衷心感谢
老师的指导。
参考文献
[1]苗雪兰,宋歌,刘瑞新等.数据库系统原理及应用教程[M].机械工业出版社.2010
--.
--考试资料.
[2]冯建华,周主柱,宋歌,等.数据库系统设计与原理[M].清华大学出版社.2006
[3]萨师煊,王珊.数据库系统概论(第四版)[M].:高等教育出版社.2000
[4]李德奇.程序设计[M].人民邮电出版社明日科技.2007
[5]萨师煊,王珊.数据库系统概论[M].:高等教育出版社,2000
附录
(这里给出建立数据库和数据表的SQL代码,如果有前台设计,适当粘贴关键部分的
设计代码)
CreateDataBaseUSRMS--Universityscientificresearchmanagementsystem
UseUSRMS
createtabledepartment(--部门表
DeptNointconstraintpk_bmhprimarykey,--部门号
DeptNamechar(80)notnull--部门名字
)
createtablefaculty(--系信息
DeptNumberintNotNullprimarykey,--系部号
DeptNointNotNull,--部门号
FacultyNamechar(20)NotNull--院系名称
)
createtableteacher(--教师信息表
TeacherNumberintNotNullprimarykey,--教师编号
TitleNumberchar(20)NotNull,--职称编号
postNochar(20)NotNull,--职务编号
TeacherNametextNotNull,--
Sexchar(20)NotNull,--性别
ContactNumberchar(20)NotNull,--联系电话
InFacultyNumberintNotNull--所属院系编号
)
createtableEmployee(--职务表
postNochar(20)NotNull,--职务编号
postchar(20)NotNull--职务
)
createtableTitle(--职称表
TitleNumberchar(20)NotNull,--职称编号
TitleNamechar(20)NotNull--职务名称
)
createtableproject(--科研计划表
--.
--考试资料.
ProjectNumberintNotNullprimarykey,--科研编号
TeacherNamechar(12)NotNull,--教师姓名
approvalchar(12)NotNull,--审批状态
Checkingchar(12)NotNull,--验收状态
add_timedatatimeNotNull,--申请时间,
新起个名称datatimeNotNull,--审批时间,
新起个名称datatimeNotNull,--验收时间,
)
insertdepartmentvalues('01','StanfordUniversity')
insertdepartmentvalues('02','HarvardUniversity')
insertdepartmentvalues('03','YaleUniversity')
insertdepartmentvalues('04','ColumbiaUniversity')
insertfacultyvalues('01','01','计算机')
insertfacultyvalues('02','01','电气工程')
insertfacultyvalues('03','02','冶金')
insertfacultyvalues('04','02','化学')
insertfacultyvalues('05','03','计算数学')
insertfacultyvalues('06','03','应用数学')
insertfacultyvalues('07','04','物流管理')
insertfacultyvalues('08','04','财务管理')
insertteachervalues('01','01','于立宏','男','001','01')
insertteachervalues('02','02','张秀凤','女','002','01')
insertteachervalues('03','03','姜历历','男','003','02')
insertteachervalues('04','04','王晓慧','女','004','02')
insertteachervalues('05','05','张丽珍','女','005','03')
insertteachervalues('06','06','乐其奇','女','006','03')
insertteachervalues('07','07','郭彬滨','男','007','04')
insertteachervalues('08','08','关龙马','男','008','04')
insertEmployeevalues('01','于立宏','国家级教练')
insertEmployeevalues('02','张秀凤','高级关务监督')
insertEmployeevalues('03','姜历历','高级工艺美术师')
insertEmployeevalues('04','王晓慧','编审')
insertEmployeevalues('05','张丽珍','一级律师')
insertEmployeevalues('06','乐其奇','译审')
insertEmployeevalues('07','郭彬滨','高级工程师')
insertEmployeevalues('08','关龙马','研究员')
insertTitlevalues('01','于立宏','教授')
insertTitlevalues('02','张秀凤','博士')
--.
--考试资料.
insertTitlevalues('03','姜历历','研究生')
insertTitlevalues('04','王晓慧','副教授')
insertTitlevalues('05','张丽珍','助教')
insertTitlevalues('06','乐其奇','教授')
insertTitlevalues('07','郭彬滨','博士')
insertTitlevalues('08','关龙马','讲师')
insertprojectvalues('01','01','01','于立宏','是','已审批','未验收','1')
insertprojectvalues('02','02','02','张秀凤','是','未审批','验收','3')
insertprojectvalues('03','03','03','姜历历','是','已审批','未收','5')
insertprojectvalues('04','04','04','王晓慧','是','已审批','验收','7')
insertprojectvalues('05','05','05','张丽珍','是','未审批','未验收','2')
insertprojectvalues('06','06','06','乐其奇','是','已审批','验收','4')
insertprojectvalues('07','07','07','郭彬滨','是','未审批','未验收','6')
insertprojectvalues('08','08','08','关龙马','是','已审批','验收','8')
select*fromEmployee--员工职务表
select*fromTitle--员工职称
select*fromproject--科研计划表
select*fromteacher--教师信息表
select*fromfaculty--系部门
select*fromdepartment--部门表
--建立数据库相关表之间的参照完整性约束。
Altertablefaculty
AddconstraintKY_facult_Dept
Foreignkey(DeptNo)referencesdepartment(DeptNo)
Altertableteacher
AddconstraintKY_teacher_Dept
Foreignkey(InFacultyNumber)referencesdepartment(DeptNo)
AltertableEmployee
AddconstraintKY_Employee_teacher
Foreignkey(TeacherNumber)referencesteacher(TeacherNumber)
AltertableTitle
AddconstraintKY_Title_teacher
Foreignkey(TeacherNumber)referencesteacher(TeacherNumber)
Altertableproject
AddconstraintKY_project_teacher
Foreignkey(TeacherNumber)referencesteacher(TeacherNumber)
--.
--考试资料.
Altertableproject
AddconstraintKY_project_Dept
Foreignkey(DeptNumber)referencesfaculty(DeptNumber)
--添加部门存储过程
createprocedure[dbo].[insert_department]
(
DeptNoint,--部门号
DeptNamechar(40)--部门名
)
as
mentvalues(DeptNo,DeptName)
go
execute[dbo].[insert_department]9,'BerkleeCollegeofMusic'
select*fromdepartmentwhereDeptNo=9
--删除部门
createprocedure[dbo].[delete_department]
(
DeptNoint--部门号
)
as
mentwhereDeptNo=DeptNo
go
execute[dbo].[delete_department]9
select*fromdepartmentwhereDeptNo=9
--添加教师信息表存储过程
createprocedure[dbo].[insert_teacher]
(TeacherNumberint,--教师编号
TitleNumberchar(10),--职称编号
TeacherNametext,--
Sexchar(10),--性别
ContactNumberchar(10),--联系电话
InFacultyNumberint--所属院系编号
)
as
rvalues
(
TeacherNumber,TitleNumber,TeacherName,Sex,ContactNumber,InFacultyNumber
--.
--考试资料.
)
go
execute[dbo].[insert_teacher]14,14,'俄洛伊','女','1811111111',4
execute[dbo].[insert_teacher]10,10,'孙悟空','女','1517700676',2
execute[dbo].[insert_teacher]11,11,'杜启燕','女','1517766666',1
execute[dbo].[insert_teacher]9,9,'梁','女','1211111182',1
execute[dbo].[insert_teacher]100,109,'','男','1357896211',4
--删除教师信息表存储过程
createprocedure[dbo].[delete_teacher]
(
TeacherNumberint--教师编号
)
as
deletefromteacherwhereTeacherNumber=TeacherNumber
select*fromteacherwhereTeacherNumber=14
execute[dbo].[delete_teacher]100
--科研项目存储过程
createprocedure[dbo].[insert_project]
(
ProjectNumberint,--科研编号
DeptNumberint,--系部号
TeacherNumberint,--教师编号
TeacherNamechar(12),--教师姓名
Reportchar(12),--是否申报
approvalchar(12),--审批管理
Checkingchar(12),--验收标致
ProjectAmountint--科研数量
)
as
insertinto[dbo].[insert_project]values
(
ProjectNumber,DeptNumber,TeacherNumber,TeacherName,Report,approval,Checking,ProjectAmount
)
go
execute[dbo].[insert_project]12,4,100,'','是','已审批','未验收',5
select*fromproject
--.
--考试资料.
--删除科研项目存储过程
createprocedure[dbo].[delete_project]
(
TeacherNumberint--教师编号
)
as
deletefromprojectwhereTeacherNumber=TeacherNumber
go
execute[dbo].[delete_project]9
--科研项目查询
createprocedure[dbo].[check_project]
(
TeacherNumberint
)
as
select
ProjectNumber,DeptNumber,TeacherNumber,TeacherName,Report,approval,Checking,ProjectAmoun
t
whereTeacherNumber=TeacherNumber
--调用
execute[dbo].[check_project]5
--创建存储过程统计教师系科研项目的完成数量
createprocedure[dbo].[up_project](DeptNumberint)
AS
begin
mber,Report,ProjectAmountfromproject
mber=DeptNumberandReport='是'
end
execute[dbo].[up_project]4
--创建触发器,添加科研记录时候,修改状态为“未验收”
createtrigger[dbo].[tgr_project_insert]
onproject
forinsert--插入触发
as
updateproject
setChecking='未验收'
go
--.
--考试资料.
insertintoprojectvalues('10','2','10','孙悟空','是','未审批','已验收','10')
select*fromprojectwhereTeacherName='孙悟空'
--创建触发器,验收项目时自动修改项目的验收标志为'验证通过'
createtrigger[dbo].[tgr_project_insert_mark]
onproject
forupdate
as
begin
ifupdate(Checking)
updateprojectsetChecking='验收通过'
end
insertintoprojectvalues(11,1,11,'杜启燕','否','已审批','未验收','2')
select*fromprojectwhereTeacherNumber=11orTeacherNumber=10
--高校科研管理表department表创建一触发器
createtrigger[dbo].[update_department]
ondepartment
forupdate
as
if(update(DeptNo)orupdate(DeptName))
begin
print'你想作甚,基本数据不能修改!!!'
rollbacktransaction
end
else
print'修改成功'
select*fromdepartment
updatedepartmentsetDeptName='党校'
execsp_rename'','DeptN01'
--触发器教师信息插入
createtrigger[dbo].[insert_teachaer]
onteacher
forinsert
as
declarestrvarchar
setstr='数据输入成功!'
printstr
insertintoteachervalues('12','12','王宏','男','','4')
select*fromteacher
--.
--考试资料.
--查看数据库已有触发器
select*fromsysobjectswherextype='TR'
--创建教师联系电话视图
createview[view_teacher]
as
selectTeacherName,ContactNumberfromteacher
select*from[view_teacher]
--创建科研表视图
createview[view_project]
as
select*fromproject
select*from[view_project]
1、