当前位置:文档之家› 高校教师信息管理系统课程设计报告

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

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

高校教师信息管理系统

课程设计报告

This model paper was revised by LINDA on December 15, 2012.

统》

课程设计报告

题目:高校教师信息管理系统

专业:网络工程

班级:

姓名:

指导教师:

成绩:

计算机学院

2017年12月8日

目录

1、设计内容及要求 (1)

设计内容 (1)

设计要求 (1)

2、概要设计 (1)

概要简述 (1)

逻辑结构设计 (2)

物理结构设计 (2)

3、设计过程和代码 (3)

视图 (3)

存储过程 (3)

触发器 (3)

主要代码 (8)

4、设计结果与分析 (12)

需求分析: (12)

功能分析: (13)

5、参考文献 (13)

1、设计内容及要求

设计内容

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

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

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

结构设计:根据需求分析和概念模型,将实体及实体间的联系按一定的转换规则转换为关系模型,写出转换步骤及相应的理论依据,并确定主码、外码。按数据库设计方法和规范化理论得出符合3NF的逻辑模型。

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

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

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

设计要求

(1)要求独立完成自己题目的课程设计,如有抄袭,成绩按不及格处理。(2)要求学生利用数据库原理课程所学知识和方法独立完成所布置题目。(3)要求所设计的系统规模适中,用SQL语句实现基本的增、删、改、查询功能。

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

(5)尽量多的使用SQL Server2005中的对象,如:视图、触发器、约束、默认、规则、索引等。

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

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

2、概要设计

概要简述

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

概念结构的主要特点是:

1.能真实、充分地反应现实世界,包括事物和事物之间的联系,能满足用

户对数据的处理要求,是对现实世界的一个真实模型;

2.易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极

参与是数据库设计成功的关键;

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

充;

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

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

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

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

逻辑结构设计:

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

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

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

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

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

物理结构设计:

数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库系统确定合理的存储结构和存取方法。所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。主要体现在索引和蔟集的设置。

存储结构

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

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

3、设计过程和代码

视图

视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。

存储过程

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

存储过程的优点:

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

(2)当对数据库进行复杂操作时(如对多个表进行

Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。

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

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

触发器

触发器是一种特殊类型的存储过程,它不同于我们前面介绍过的存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如Update、 Insert、 Delete 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。除此之外,触发器还有其它许多不同的功能:(1) 强化约束(Enforce restriction) 触发器能够实现比CHECK 语句更为复杂的约束。(2) 跟踪变化Auditing changes 触发器可以侦测数据库内的操作,从而不允许数据库中未经许可的指定更新和变化。(3) 级联运行(Cascaded operation)。触发器可以侦测数据库内的操作,并自动地级联影响整个数据库的各项内容。例如,某个表上的触发器中包含有对另外一个表的数据操作(如删除,更新,插入)而该操作又导致该表上触发器被触发。(4) 存储过程的调用(Stored procedure invocation)。

在物理结构中,数据的基本存取单位是存储记录。有了逻辑结构以后,就可以设计存储记录结构,一个存储记录可以与多个逻辑记录相对应。存储记录就包括记录的组成,数据项的类型和长度等。

下面是各个信息表:

数据库在SQL Sever2005中显示如下:(1)数据库:

(2)员工信息表:

(3)部门信息表:

(4)薪资信息表:

(5)奖惩信息表:

(6)视图1:部门部长信息

(7)视图2:员工基本信息

主要代码:

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

ON

(NAME=高校教职工管理DAT, FILENAME='D:\SQL\高校教职工管理', SIZE=5,

MAXSIZE=20,

FILEGROWTH=2

)

LOG ON

(NAME=高校教职工管理LOG, FILENAME='D:\SQL\高校教职工管理', SIZE=5,

MAXSIZE=20,

FILEGROWTH=2

)

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

2、创建备份文件

sp_addumpdevice'disk','BACKUP1','D:\SQL\高校教职工管理'

go

BACKUP DATABASE高校教职工管理TO BACKUP1

--------------------------------------------------------------------3、创建表

CREATE TABLE部门信息表

(

部门编号INT PRIMARY KEY,

部门名称VARCHAR(20)UNIQUE NOT NULL,

部门人数INT CHECK(部门人数>=0)NOT NULL,

)

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

CREATE 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)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),

发放日期Datetime NOT NULL,

FOREIGN KEY(员工编号)REFERENCES员工信息表(员工编号)

相关主题
文本预览
相关文档 最新文档