高校教师信息管理系统课程设计报告.docx

上传人:b****1 文档编号:1831022 上传时间:2023-05-01 格式:DOCX 页数:17 大小:22.18KB
下载 相关 举报
高校教师信息管理系统课程设计报告.docx_第1页
第1页 / 共17页
高校教师信息管理系统课程设计报告.docx_第2页
第2页 / 共17页
高校教师信息管理系统课程设计报告.docx_第3页
第3页 / 共17页
高校教师信息管理系统课程设计报告.docx_第4页
第4页 / 共17页
高校教师信息管理系统课程设计报告.docx_第5页
第5页 / 共17页
高校教师信息管理系统课程设计报告.docx_第6页
第6页 / 共17页
高校教师信息管理系统课程设计报告.docx_第7页
第7页 / 共17页
高校教师信息管理系统课程设计报告.docx_第8页
第8页 / 共17页
高校教师信息管理系统课程设计报告.docx_第9页
第9页 / 共17页
高校教师信息管理系统课程设计报告.docx_第10页
第10页 / 共17页
高校教师信息管理系统课程设计报告.docx_第11页
第11页 / 共17页
高校教师信息管理系统课程设计报告.docx_第12页
第12页 / 共17页
高校教师信息管理系统课程设计报告.docx_第13页
第13页 / 共17页
高校教师信息管理系统课程设计报告.docx_第14页
第14页 / 共17页
高校教师信息管理系统课程设计报告.docx_第15页
第15页 / 共17页
高校教师信息管理系统课程设计报告.docx_第16页
第16页 / 共17页
高校教师信息管理系统课程设计报告.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

高校教师信息管理系统课程设计报告.docx

《高校教师信息管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《高校教师信息管理系统课程设计报告.docx(17页珍藏版)》请在冰点文库上搜索。

高校教师信息管理系统课程设计报告.docx

高校教师信息管理系统课程设计报告

学号

《高校教师信息管理系统》

课程设计报告

题目:

高校教师信息管理系统

专业:

网络工程

班级:

姓名:

指导教师:

成绩:

计算机学院

2017年12月8日

2.2逻辑结构设计2

3.4主要代码8

5、参考文献13

1、设计内容及要求

1.1设计内容

(4)逻辑

(1)设计题目确定、申报、素材准备与设计。

(2)系统需求分析与功能设计:

阐明应用系统背景,组织结构情况以及需求分析的过程,并绘制出数据流程图,写出数据字典。

(3)概念结构设计:

根据概念结构设计的基本原则,确定概念模型,并阐明分析步骤和理论依据完成数据库的概念设计,画出E-R图。

结构设计:

根据需求分析和概念模型,将实体及实体间的联系按一定的转换规则转换为关系模型,写出转换步骤及相应的理论依据,并确定主码、外码。

按数据库设计方法和规范化理论得出符合3NF的逻辑模型。

(5)利用SQLServer2005建立相应的数据库对象。

(6)利用SQL语句实现相应功能。

(7)编写数据库课程设计报告并提交相应资料与成果。

1.2设计要求

(1)要求独立完成自己题目的课程设计,如有抄袭,成绩按不及格处理。

(2)要求学生利用数据库原理课程所学知识和方法独立完成所布置题目。

(3)要求所设计的系统规模适中,用SQL语句实现基本的增、删、改、查询功能。

(4)数据库中至少要包含三个表,且每个表都要满足3NF,指明主码、外码等。

(5)尽量多的使用SQLServer2005中的对象,如:

视图、触发器、约束、默认、规则、索引等。

(6)简单的系统与功能分析,建立数据结构表。

(7)每天下机时,要及时将自己的开发拷贝带走;上机期间,学生要服从指导教师的统一安排,遵守机房制度;严格遵守纪律,不迟到,不早退,无故缺勤者,成绩按不及格处理。

2、概要设计

2.1概要简述

在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、更准确地用某一DBMS实现这些需求。

概念结构的主要特点是:

1.能真实、充分地反应现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型;

2.易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键;

3.易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;

4.易于向关系、网状、层次等各种数据模型转换。

概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。

描述概念模型的有力工具是E-R模型。

下面设计高校教职工管理系统的E-R图:

2.2逻辑结构设计:

下面将E-R图转换为关系模型:

员工信息(员工编号,员工姓名,年龄,性别,出生年月,婚姻状态,政治面貌,学历,部门编号,职务,联系方式,备注)主键:

员工编号;外码:

部门编号;

部门信息(部门编号,部门名称,部门人数)主键:

部门编号;

奖惩信息(奖惩编号,员工编号,奖罚时间,奖罚原因,奖罚地点,备注)主键:

奖惩编号,外码:

员工编号;

薪资信息(薪资编号,员工编号,基本工资,福利,奖金,计算方法,实发工资,发放日期),主键:

薪资编号;外码:

员工编号。

2.3物理结构设计:

数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库系统确定合理的存储结构和存取方法。

所谓的“合理”主要有两个含义:

一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。

主要体现在索引和蔟集的设置。

存储结构

确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。

将日志文件和数据库对象(表、索引等)分别放在不同的磁盘,可以改进系统的性能,提高系统的安全性。

所以,系统应将日志文件和数据文件存放在不同磁盘上。

3、设计过程和代码

3.1视图

视图是一个虚拟表,其内容由查询定义。

同真实的表一样,视图包含一系列带有名称的列和行数据。

但是,视图并不在数据库中以存储的数据值集形式存在。

行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。

对其中所引用的基础表来说,视图的作用类似于筛选。

定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。

分布式查询也可用于定义使用多个异类源数据的视图。

3.2存储过程

存储过程就是将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来,那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。

存储过程的优点:

  

(1)存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。

  

(2)当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。

 (3)存储过程可以重复使用,可减少数据库开发人员的工作量

  (4)安全性高,可设定只有某此用户才具有对指定存储过程的使用权。

3.3触发器

触发器是一种特殊类型的存储过程,它不同于我们前面介绍过的存储过程。

触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。

当对某一表进行诸如Update、Insert、Delete这些操作时,SQLServer就会自动执行触发器所定义的SQL语句,从而确保对数据的处理必须符合由这些SQL语句所定义的规则。

触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。

除此之外,触发器还有其它许多不同的功能:

  

(1)强化约束(Enforcerestriction)

  触发器能够实现比CHECK语句更为复杂的约束。

  

(2)跟踪变化Auditingchanges

  触发器可以侦测数据库内的操作,从而不允许数据库中未经许可的指定更新和变化。

  (3)级联运行(Cascadedoperation)。

  触发器可以侦测数据库内的操作,并自动地级联影响整个数据库的各项内容。

例如,某个表上的触发器中包含有对另外一个表的数据操作(如删除,更新,插入)而该操作又导致该表上触发器被触发。

  (4)存储过程的调用(Storedprocedureinvocation)。

在物理结构中,数据的基本存取单位是存储记录。

有了逻辑结构以后,就可以设计存储记录结构,一个存储记录可以与多个逻辑记录相对应。

存储记录就包括记录的组成,数据项的类型和长度等。

下面是各个信息表:

员工信息表

列名

数据类型

大小

允许空

备注

员工编号

int

NOTNULL

主码

员工姓名

varchar

20

NOTNULL

年龄

int

NOTNULL

性别

varchar

2

NOTNULL

出生年月

Datetime

NOTNULL

婚姻状态

varchar

4

NOTNULL

政治面貌

varchar

20

NOTNULL

学历

varchar

20

NOTNULL

部门编号

int

NOTNULL

外码

职务

varchar

20

NOTNULL

联系方式

varchar

11

NOTNULL

备注

varchar

500

部门信息表

列名

数据类型

大小

允许空

备注

部门编号

int

NOTNULL

主码

部门名称

varchar

20

NOTNULL

部门人数

int

NOTNULL

薪资信息表

列名

数据类型

大小

允许空

备注

薪资编号

int

NOTNULL

主码

员工编号

int

NOTNULL

外码

基本工资

int

NOTNULL

福利

int

NOTNULL

奖金

int

NOTNULL

计算方法

int

NOTNULL

实发工资

int

NOTNULL

发放日期

int

NOTNULL

奖惩信息表

列名

数据类型

大小

允许空

备注

奖惩编号

Int

NOTNULL

主码

员工编号

Int

NOTNULL

外码

奖罚原因

Varchar

100

NOTNULL

奖罚地点

Varchar

20

NOTNULL

奖罚时间

Datetime

NOTNULL

备注

varchar

500

数据库在SQLSever2005中显示如下:

(1)数据库:

(2)员工信息表:

(3)部门信息表:

(4)薪资信息表:

(5)奖惩信息表:

(6)视图1:

部门部长信息

(7)视图2:

员工基本信息

3.4主要代码:

1、创建高校教职工管理数据库:

CREATEDATABASE高校教职工管理

ON

(NAME=高校教职工管理DAT,

FILENAME='D:

\SQL\高校教职工管理DAT.MDF',

SIZE=5,

MAXSIZE=20,

FILEGROWTH=2

LOGON

(NAME=高校教职工管理LOG,

FILENAME='D:

\SQL\高校教职工管理LOG.LDF',

SIZE=5,

MAXSIZE=20,

FILEGROWTH=2

--------------------------------------------------------

2、创建备份文件

sp_addumpdevice'disk','BACKUP1','D:

\SQL\高校教职工管理backup1.dat'

go

BACKUPDATABASE高校教职工管理TOBACKUP1

--------------------------------------------------------------------

3、创建表

CREATETABLE部门信息表

部门编号INTPRIMARYKEY,

部门名称VARCHAR(20)UNIQUENOTNULL,

部门人数INTCHECK(部门人数>=0)NOTNULL,

-------------------------------------------

CREATETABLE员工信息表

员工编号INTNOTNULLPRIMARYKEY,

员工姓名VARCHAR(20)NOTNULL,

年龄INTCHECK(年龄>=1)NOTNULL,

性别VARCHAR

(2)CHECK(性别IN('男','女'))NOTNULL,

出生年月DatetimeNOTNULL,

婚姻状态VARCHAR(4)CHECK(婚姻状态IN('已婚','未婚'))NOTNULL,

政治面貌VARCHAR(20)CHECK(政治面貌IN('清白','团员','党员'))NOTNULL,

学历VARCHAR(20)NOTNULL,

部门编号INTNOTNULL,

职务VARCHAR(20)NOTNULL,

联系方式VARCHAR(11)UNIQUENOTNULL,

备注VARCHAR(500),

FOREIGNKEY(部门编号)REFERENCES部门信息表(部门编号)

---------------------------------------------------------

CREATETABLE薪资信息表

薪资编号INTPRIMARYKEY,

员工编号INTNOTNULL,

基本工资INTCHECK(基本工资>=0)NOTNULL,

福利INTCHECK(福利>=0)NOTNULL,

奖金INTCHECK(奖金>=0)NOTNULL,

计算方法VARCHAR(50)NOTNULL,

实发工资INTCHECK(实发工资>=0),

发放日期DatetimeNOTNULL,

FOREIGNKEY(员工编号)REFERENCES员工信息表(员工编号)

----------------------------------------------------------

CREATETABLE奖惩信息表

奖惩编号INTPRIMARYKEY,

员工编号INTNOTNULL,

奖罚时间DatetimeNOTNULL,

奖罚原因VARCHAR(100)NOTNULL,

奖罚地点VARCHAR(20)NOTNULL,

备注VARCHAR(500),

FOREIGNKEY(员工编号)REFERENCES员工信息表(员工编号)

---------------------------------------------------------------

4、创建视图:

--视图员工基本信息:

CREATEVIEW员工基本信息(员工姓名,部门名称,职务,联系方式,薪资)

ASSELECT员工姓名,部门名称,职务,联系方式,实发工资

FROM员工信息表,部门信息表,薪资信息表

WHERE员工信息表.部门编号=部门信息表.部门编号

AND员工信息表.员工编号=薪资信息表.员工编号

-----------------------------------------------------

--视图:

各部门部长信息

CREATEVIEW部门部长信息(部门编号,部门名称,员工编号,员工名字)

ASSELECT部门信息表.部门编号,部门名称,员工编号,员工姓名

FROM员工信息表,部门信息表

WHERE员工信息表.部门编号=部门信息表.部门编号

AND员工信息表.职务='部长'

--------------------------------------------------------------

5、创建存储过程

--存储过程LOOKWAGE:

根据员工提交的员工编号和工资发放时间,查看该员工的薪资信息,

--包括员工编号,姓名,实发薪资,和发放日期。

CREATEPROCEDURELOOKWAGE

@IDINT,@TIMEDatetime

AS

SELECT员工信息表.员工编号,员工姓名,实发工资,发放日期

FROM员工信息表,薪资信息表

WHERE员工信息表.员工编号=薪资信息表.员工编号

AND员工信息表.员工编号=@IDAND发放日期=@TIME

--存储过程LOOKREWARDS:

根据员工提交的员工编号和奖罚时间,查看该员工的奖罚信息,

--包括员工编号,姓名,奖罚原因,奖罚时间。

CREATEPROCEDURELOOKREWARDS

@IDINT,@TIMEDatetime

AS

SELECT员工信息表.员工编号,员工姓名,奖罚原因,奖罚时间

FROM员工信息表,奖罚信息表

WHERE员工信息表.员工编号=奖罚信息表.员工编号

AND员工信息表.员工编号=@IDAND发放日期=@TIME

---------------------------------------------------------------------

--存储过程Find_Minister:

根据提交的部门编号,查看该部门的部长

CREATEPROCEDUREFind_Minister

@IDINT

AS

SELECT部门信息表.部门编号,部门信息表.部门名称,员工信息表.员工编号,员工姓名

FROM员工信息表,部门信息表

WHERE员工信息表.部门编号=部门信息表.部门编号

AND员工信息表.职务='部长'

-------------------------------------------------------------------

--6、创建触发器

--触发器workerid:

要求员工信息表中的员工编号被修改时,薪资信息表

--奖惩信息表中的员工编号也被修改。

CREATETRIGGERWORKERIDON员工信息表

FORUPDATE

AS

BEGIN

IF(UPDATE(员工编号))

BEGIN

UPDATE薪资信息表

SET薪资信息表.员工编号=(SELECT员工编号FROMinserted)

WHERE薪资信息表.员工编号=(SELECT员工编号FROMdeleted)

UPDATE奖惩信息表

SET奖惩信息表.员工编号=(SELECT员工编号FROMinserted)

WHERE奖惩信息表.员工编号=(SELECT员工编号FROMdeleted)

END

END

------------------------------------------------------------------

--触发器CHECK_EXIST:

--向员工信息表插入一条记录时,检查该记录的部门信息在部门信息表

--是否存在,若不存在则不允许插入。

CREATETRIGGERCHECK_EXIST

ON员工信息表

FORINSERT

AS

IFEXISTS(SELECT*FROMinserteda

WHEREa.部门编号NOTIN(SELECT部门信息表.部门编号FROM部门信息表))

BEGIN

RAISERROR('该部门不存在!

',16,1)

ROLLBACKTRANSACTION--撤销刚才的操作,恢复到原来的状态

END

---------------------------------------------------------------------

--触发器COUNT_STAFF

--向员工信息表插入一条记录时,该员工所在的部门人数加.

CREATETRIGGERCOUNT_STAFF

ON员工信息表

AFTERINSERT

AS

BEGIN

UPDATE部门信息表

SET部门人数=部门人数+1

WHERE部门编号IN(SELECT部门编号FROMinserted)

END

------------------------------------------------------------

--触发器departid:

要求部门信息中的部门编号被修改时,员工信息表中员工

--所属部门编号也被修改。

CREATETRIGGERdepartidON部门信息表

FORUPDATE

AS

BEGIN

IF(UPDATE(部门编号))

UPDATE员工信息表

SET员工信息表.部门编号=(SELECT部门编号FROMinserted)

WHERE员工信息表.部门编号=(SELECT部门编号FROMinserted)

END

---------------------------------------------------------------

--触发器CHECK_DELETE:

删除员工记录时,该员工所在部门人数减.

CREATETRIGGERCHECK_DELETE

ON员工信息表

FORDELETE

AS

BEGIN

UPDATE部门信息表

SET部门人数=部门人数-1

WHERE部门编号IN(SELECT部门编号FROMinserted)

END

4、设计结果与分析

4.1需求分析:

90年代中期,由于Internet的迅速普及,使Intranet成为Internet技术在企业管理信息系统中的应用和延伸,形成了集计算机,计算机网络、数据库、分布式计算等于一体的信息技术综合体,它打破了时间和地域的界限,使信息交流变得快捷、准确,为建立现代企业管理信息系统提供了充足的条件。

高校教职工管理系统在此基础上延伸、扩展,使之上下、内外全面贯通。

高教教职工管理系统是在适应市场需求的客观前提下,为了满足各高校管理自己学校所在的教职员信息而开发的。

该系统的是终目的是要将各位职员的信息放到网络上,以方便管理。

系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。

该系统具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。

4.2功能分析:

根据分析,该管理系统必须具备如下几个功能:

1.能够记录教职工各种基本资料;员工各种信息的输入,包括员工的基本信息,学历信息,婚姻状况信息,职称等

2.系统使用者能够查询信息,能进行对各员工各种信息的修改以及对于转出,辞退,退休员工的信息删除;

3.保障数据库安全,优化数据库,,可以在程序中实现数据库备份和恢复。

4.界面的友好性。

5、参考文献

[1]胡师彦.微软SQLServer2000数据库的特点及查询优化研究[J].兰州工业高等专科学校学报,2002,(01).

[2]王西文,张广智.浅谈SQLServer应用方法和技巧[J].山东水利,2002,(12).

[3]何思文.基于SQLServer2000的数据仓库的实现[J].广东科技,2004,(05).

[4]白青海,张善勇,郑瑛.ADO与SQLSERVER2000数据库应用程序开发探讨[J].内蒙古民族大学学报(自然科学版),2003,(02).

[5]李丹.浅谈SQLServer2000中高性能的备份与恢复[J].河北工程技术职业学院学报,2004,(02).

[6]李欣苓.SQLServer2000中几个系统存储过程的应用[J].水利水文自动化,2003,(01).

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2