《高校教师信息管理系统-课程设计报告(共16页).docx》由会员分享,可在线阅读,更多相关《高校教师信息管理系统-课程设计报告(共16页).docx(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上学号高校教师信息管理系统课程设计报告题目:高校教师信息管理系统专业:网络工程班级:姓名:指导教师:成绩:计算机学院2017年12月8日专心-专注-专业目录2.2 逻辑结构设计23.4 主要代码85、参考文献131、设计内容及要求1.1设计内容(4)逻辑(1)设计题目确定、申报、素材准备与设计。(2)系统需求分析与功能设计:阐明应用系统背景,组织结构情况以及需求分析的过程,并绘制出数据流程图,写出数据字典。(3)概念结构设计:根据概念结构设计的基本原则,确定概念模型,并阐明分析步骤和理论依据完成数据库的概念设计,画出E-R图。结构设计:根据需求分析和概念模型,将实体及实
2、体间的联系按一定的转换规则转换为关系模型,写出转换步骤及相应的理论依据,并确定主码、外码。按数据库设计方法和规范化理论得出符合3NF的逻辑模型。(5)利用SQL Server2005建立相应的数据库对象。(6)利用SQL语句实现相应功能。(7)编写数据库课程设计报告并提交相应资料与成果。1.2设计要求(1)要求独立完成自己题目的课程设计,如有抄袭,成绩按不及格处理。(2)要求学生利用数据库原理课程所学知识和方法独立完成所布置题目。(3)要求所设计的系统规模适中,用SQL语句实现基本的增、删、改、查询功能。(4)数据库中至少要包含三个表,且每个表都要满足3NF,指明主码、外码等。(5)尽量多的使
3、用SQL Server2005中的对象,如:视图、触发器、约束、默认、规则、索引等。(6)简单的系统与功能分析,建立数据结构表。(7)每天下机时,要及时将自己的开发拷贝带走;上机期间,学生要服从指导教师的统一安排,遵守机房制度;严格遵守纪律,不迟到,不早退,无故缺勤者,成绩按不及格处理。2、概要设计2.1概要简述在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、更准确地用某一DBMS实现这些需求。概念结构的主要特点是:1. 能真实、充分地反应现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型;2. 易于理解,从而可以用它和不熟悉计算
4、机的用户交换意见,用户的积极参与是数据库设计成功的关键;3. 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;4. 易于向关系、网状、层次等各种数据模型转换。概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。描述概念模型的有力工具是E-R模型。下面设计高校教职工管理系统的E-R图:员工工资奖罚部门获得受到属于编号实发工资基本工资奖金福利备注编号名称人数编号地点原因时间姓名性别职务编号学历备注计算方法联系方式时间婚姻状态出生日期2.2逻辑结构设计:下面将E-R图转换为关系模型:员工信息(员工编号,员工姓名,年龄,性别,出生年月,婚姻状态,政治面貌,
5、学历,部门编号,职务,联系方式,备注) 主键:员工编号; 外码:部门编号;部门信息(部门编号,部门名称,部门人数) 主键:部门编号;奖惩信息(奖惩编号,员工编号,奖罚时间,奖罚原因,奖罚地点,备注) 主键:奖惩编号, 外码:员工编号;薪资信息(薪资编号,员工编号,基本工资,福利,奖金,计算方法,实发工资,发放日期), 主键:薪资编号; 外码:员工编号。2.3物理结构设计:数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库系统确定合理的存储结构和存取方法。所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可
6、能高的速度。主要体现在索引和蔟集的设置。存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。将日志文件和数据库对象(表、索引等)分别放在不同的磁盘,可以改进系统的性能,提高系统的安全性。所以,系统应将日志文件和数据文件存放在不同磁盘上。3、设计过程和代码3.1 视图视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。对其中所引用的基础表来说,视图的作
7、用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。3.2存储过程存储过程就是将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。存储过程的优点:(1)存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。(2)当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时)
8、,可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。 (3)存储过程可以重复使用,可减少数据库开发人员的工作量(4)安全性高,可设定只有某此用户才具有对指定存储过程的使用权。3.3触发器触发器是一种特殊类型的存储过程,它不同于我们前面介绍过的存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如Update、 Insert、 Delete 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。触发器的主要作用就是其能够实现由主键和外键所不能
9、保证的复杂的参照完整性和数据的一致性。除此之外,触发器还有其它许多不同的功能:(1) 强化约束(Enforce restriction)触发器能够实现比CHECK 语句更为复杂的约束。(2) 跟踪变化Auditing changes触发器可以侦测数据库内的操作,从而不允许数据库中未经许可的指定更新和变化。(3) 级联运行(Cascaded operation)。触发器可以侦测数据库内的操作,并自动地级联影响整个数据库的各项内容。例如,某个表上的触发器中包含有对另外一个表的数据操作(如删除,更新,插入)而该操作又导致该表上触发器被触发。(4) 存储过程的调用(Stored procedure i
10、nvocation)。在物理结构中,数据的基本存取单位是存储记录。有了逻辑结构以后,就可以设计存储记录结构,一个存储记录可以与多个逻辑记录相对应。存储记录就包括记录的组成,数据项的类型和长度等。下面是各个信息表:员工信息表列名数据类型大小允许空备注员工编号intNOT NULL主码员工姓名varchar20NOT NULL年龄intNOT NULL性别varchar2NOT NULL出生年月DatetimeNOT NULL婚姻状态varchar4NOT NULL政治面貌varchar20NOT NULL学历varchar20NOT NULL部门编号intNOT NULL外码职务varchar2
11、0NOT NULL联系方式varchar11NOT NULL备注varchar500部门信息表列名数据类型大小允许空备注部门编号intNOT NULL主码部门名称varchar20NOT NULL部门人数intNOT NULL薪资信息表列名数据类型大小允许空备注薪资编号intNOT NULL主码员工编号intNOT NULL外码基本工资intNOT NULL福利intNOT NULL奖金intNOT NULL计算方法intNOT NULL实发工资intNOT NULL发放日期intNOT NULL奖惩信息表列名数据类型大小允许空备注奖惩编号IntNOT NULL主码员工编号IntNOT NUL
12、L外码奖罚原因Varchar100NOT NULL奖罚地点Varchar20NOT NULL奖罚时间DatetimeNOT NULL备注varchar500数据库在SQL Sever2005中显示如下:(1)数据库:(2)员工信息表:(3)部门信息表:(4)薪资信息表:(5)奖惩信息表:(6)视图1:部门部长信息(7)视图2:员工基本信息3.4主要代码:1、创建高校教职工管理数据库:CREATE DATABASE 高校教职工管理ON( NAME=高校教职工管理DAT, FILENAME=D:SQL高校教职工管理DAT.MDF, SIZE=5, MAXSIZE=20, FILEGROWTH=2)
13、LOG ON( NAME=高校教职工管理LOG, FILENAME=D:SQL高校教职工管理LOG.LDF, SIZE=5, MAXSIZE=20, FILEGROWTH=2)-2、创建备份文件sp_addumpdevicedisk,BACKUP1,D:SQL高校教职工管理backup1.datgoBACKUP DATABASE 高校教职工管理TO BACKUP1-3、创建表CREATE TABLE 部门信息表(部门编号INT PRIMARY KEY,部门名称VARCHAR(20) UNIQUE NOT NULL,部门人数INT CHECK(部门人数=0) NOT NULL,)-CREATE
14、TABLE 员工信息表(员工编号INT NOT NULL PRIMARY KEY,员工姓名VARCHAR(20) NOT NULL,年龄INT CHECK(年龄=1) NOT NULL,性别VARCHAR(2) CHECK(性别IN (男,女) NOT NULL,出生年月Datetime NOT NULL,婚姻状态VARCHAR(4) CHECK(婚姻状态IN (已婚,未婚) NOT NULL,政治面貌VARCHAR(20) CHECK(政治面貌IN (清白,团员,党员) NOT NULL,学历VARCHAR(20) NOT NULL,部门编号INT NOT NULL,职务VARCHAR(20
15、) NOT NULL,联系方式VARCHAR(11) UNIQUE NOT NULL,备注VARCHAR(500),FOREIGN KEY (部门编号) REFERENCES 部门信息表(部门编号)-CREATE TABLE 薪资信息表(薪资编号INT PRIMARY KEY,员工编号INT NOT NULL,基本工资INT CHECK(基本工资=0) NOT NULL,福利INT CHECK(福利=0) NOT NULL,奖金INT CHECK(奖金=0) NOT NULL,计算方法VARCHAR(50) NOT NULL,实发工资INT CHECK(实发工资=0), 发放日期Datetim
16、e NOT NULL,FOREIGN KEY(员工编号) REFERENCES 员工信息表(员工编号)-CREATE TABLE 奖惩信息表(奖惩编号INT PRIMARY KEY,员工编号INT NOT NULL, 奖罚时间Datetime NOT NULL,奖罚原因VARCHAR(100) NOT NULL,奖罚地点VARCHAR(20) NOT NULL,备注VARCHAR(500),FOREIGN KEY(员工编号) REFERENCES 员工信息表(员工编号) )-4、创建视图:-视图员工基本信息:CREATE VIEW 员工基本信息(员工姓名,部门名称,职务,联系方式,薪资)AS
17、SELECT 员工姓名,部门名称,职务,联系方式,实发工资FROM 员工信息表,部门信息表,薪资信息表WHERE 员工信息表.部门编号=部门信息表.部门编号 AND 员工信息表.员工编号=薪资信息表.员工编号-视图:各部门部长信息CREATE VIEW 部门部长信息(部门编号,部门名称,员工编号,员工名字)AS SELECT 部门信息表.部门编号,部门名称,员工编号,员工姓名FROM 员工信息表,部门信息表WHERE 员工信息表.部门编号=部门信息表.部门编号 AND 员工信息表.职务=部长-5、创建存储过程-存储过程LOOKWAGE:根据员工提交的员工编号和工资发放时间,查看该员工的薪资信息
18、,- 包括员工编号,姓名,实发薪资,和发放日期。CREATE PROCEDURE LOOKWAGEID INT,TIME DatetimeASSELECT 员工信息表.员工编号,员工姓名,实发工资,发放日期FROM 员工信息表,薪资信息表WHERE 员工信息表.员工编号=薪资信息表.员工编号 AND 员工信息表.员工编号=ID AND 发放日期=TIME-存储过程LOOKREWARDS:根据员工提交的员工编号和奖罚时间,查看该员工的奖罚信息,- 包括员工编号,姓名,奖罚原因,奖罚时间。CREATE PROCEDURE LOOKREWARDSID INT,TIME DatetimeASSELEC
19、T 员工信息表.员工编号,员工姓名,奖罚原因,奖罚时间FROM 员工信息表,奖罚信息表WHERE 员工信息表.员工编号=奖罚信息表.员工编号AND 员工信息表.员工编号=ID AND 发放日期=TIME-存储过程Find_Minister:根据提交的部门编号,查看该部门的部长CREATE PROCEDURE Find_MinisterID INT ASSELECT 部门信息表.部门编号,部门信息表.部门名称,员工信息表.员工编号,员工姓名FROM 员工信息表,部门信息表WHERE 员工信息表.部门编号=部门信息表.部门编号 AND 员工信息表.职务=部长 -6、创建触发器-触发器workeri
20、d:要求员工信息表中的员工编号被修改时,薪资信息表- 奖惩信息表中的员工编号也被修改。CREATE TRIGGER WORKERID ON 员工信息表FOR UPDATEAS BEGIN IF(UPDATE(员工编号)BEGIN UPDATE 薪资信息表SET 薪资信息表.员工编号=(SELECT 员工编号FROM inserted)WHERE 薪资信息表.员工编号=(SELECT 员工编号FROM deleted) UPDATE 奖惩信息表SET 奖惩信息表.员工编号=(SELECT 员工编号FROM inserted)WHERE 奖惩信息表.员工编号=(SELECT 员工编号FROM de
21、leted) ENDEND-触发器CHECK_EXIST:- 向员工信息表插入一条记录时,检查该记录的部门信息在部门信息表- 是否存在,若不存在则不允许插入。CREATE TRIGGER CHECK_EXISTON 员工信息表FOR INSERTAS IF EXISTS(SELECT * FROM inserted a WHERE a.部门编号NOT IN (SELECT 部门信息表.部门编号FROM 部门信息表)BEGINRAISERROR(该部门不存在!,16,1)ROLLBACK TRANSACTION -撤销刚才的操作,恢复到原来的状态END-触发器COUNT_STAFF- 向员工信息
22、表插入一条记录时,该员工所在的部门人数加.CREATE TRIGGER COUNT_STAFFON 员工信息表AFTER INSERTASBEGIN UPDATE 部门信息表SET 部门人数=部门人数+1 WHERE 部门编号IN (SELECT 部门编号FROM inserted)END-触发器departid:要求部门信息中的部门编号被修改时,员工信息表中员工-所属部门编号也被修改。CREATE TRIGGER departid ON 部门信息表FOR UPDATEAS BEGIN IF(UPDATE(部门编号)UPDATE 员工信息表 SET 员工信息表.部门编号=(SELECT 部门编
23、号FROM inserted)WHERE 员工信息表.部门编号=(SELECT 部门编号FROM inserted)END-触发器CHECK_DELETE:删除员工记录时,该员工所在部门人数减.CREATE TRIGGER CHECK_DELETEON 员工信息表FOR DELETEAS BEGINUPDATE 部门信息表SET 部门人数=部门人数-1 WHERE 部门编号IN (SELECT 部门编号FROM inserted)END 4、设计结果与分析4.1需求分析:90年代中期,由于Internet 的迅速普及,使Intranet成为Internet技术在企业管理信息系统中的应用和延伸,
24、形成了集计算机,计算机网络、数据库、分布式计算等于一体的信息技术综合体,它打破了时间和地域的界限,使信息交流变得快捷、准确,为建立现代企业管理信息系统提供了充足的条件。高校教职工管理系统在此基础上延伸、扩展,使之上下、内外全面贯通。高教教职工管理系统是在适应市场需求的客观前提下,为了满足各高校管理自己学校所在的教职员信息而开发的。该系统的是终目的是要将各位职员的信息放到网络上,以方便管理。系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。该系统具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。4.2功能分析:根据分析
25、,该管理系统必须具备如下几个功能:1.能够记录教职工各种基本资料;员工各种信息的输入,包括员工的基本信息,学历信息,婚姻状况信息,职称等2.系统使用者能够查询信息,能进行对各员工各种信息的修改以及对于转出,辞退,退休员工的信息删除;3.保障数据库安全,优化数据库,可以在程序中实现数据库备份和恢复。4.界面的友好性。5、 参考文献1 胡师彦. 微软SQL Server2000数据库的特点及查询优化研究J. 兰州工业高等专科学校学报, 2002,(01). 2 王西文,张广智. 浅谈SQL Server应用方法和技巧J. 山东水利, 2002,(12). 3 何思文. 基于SQL Server 2
26、000的数据仓库的实现J. 广东科技, 2004,(05). 4 白青海,张善勇,郑瑛. ADO与SQL SERVER 2000数据库应用程序开发探讨J. 内蒙古民族大学学报(自然科学版), 2003,(02). 5 李丹. 浅谈SQL Server 2000中高性能的备份与恢复J. 河北工程技术职业学院学报, 2004,(02). 6 李欣苓. SQL Server 2000中几个系统存储过程的应用J. 水利水文自动化, 2003,(01). 7余建英,何旭洪.PwerBuilder数据库系统开发实力导航(第二版).北京.人民邮电出版社.2004.4.179239.8王晟,王松,刘强.数据库开发经典案例解析.北京.清华大学出版社.2005.7.310364.9王珊,萨师煊.数据库系统概论(第四版).北京.高等教育出版社.2006.3.210225.10周新会,周金根.数据库通用模块及典型系统开发实力导航(第一版).北京.人民邮电出版社.2006.2.185214.