




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机学院 高校教师信息管理系统课程设计报告学号高校教师信息管理系统课程设计报告题目:高校教师信息管理系统专业:网络工程班级:姓名:指导教师:成绩:计算机学院2017年12月8日目录1、设计内容及要求11.1设计内容11.2设计要求12、概要设计12.1概要简述12.2 逻辑结构设计22.3物理结构设计23、设计过程和代码33.1 视图33.2存储过程33.3触发器33.4 主要代码84、设计结果与分析124.1需求分析:124.2功能分析:135、参考文献131、设计内容及要求1.1设计内容(4)逻辑(1)设计题目确定、申报、素材准备与设计。(2)系统需求分析与功能设计:阐明应用系统背景,组织结构情况以及需求分析的过程,并绘制出数据流程图,写出数据字典。(3)概念结构设计:根据概念结构设计的基本原则,确定概念模型,并阐明分析步骤和理论依据完成数据库的概念设计,画出E-R图。结构设计:根据需求分析和概念模型,将实体及实体间的联系按一定的转换规则转换为关系模型,写出转换步骤及相应的理论依据,并确定主码、外码。按数据库设计方法和规范化理论得出符合3NF的逻辑模型。(5)利用SQL Server2005建立相应的数据库对象。(6)利用SQL语句实现相应功能。(7)编写数据库课程设计报告并提交相应资料与成果。1.2设计要求(1)要求独立完成自己题目的课程设计,如有抄袭,成绩按不及格处理。(2)要求学生利用数据库原理课程所学知识和方法独立完成所布置题目。(3)要求所设计的系统规模适中,用SQL语句实现基本的增、删、改、查询功能。(4)数据库中至少要包含三个表,且每个表都要满足3NF,指明主码、外码等。(5)尽量多的使用SQL Server2005中的对象,如:视图、触发器、约束、默认、规则、索引等。(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 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。除此之外,触发器还有其它许多不同的功能:(1) 强化约束(Enforce restriction)触发器能够实现比CHECK 语句更为复杂的约束。(2) 跟踪变化Auditing changes触发器可以侦测数据库内的操作,从而不允许数据库中未经许可的指定更新和变化。(3) 级联运行(Cascaded operation)。触发器可以侦测数据库内的操作,并自动地级联影响整个数据库的各项内容。例如,某个表上的触发器中包含有对另外一个表的数据操作(如删除,更新,插入)而该操作又导致该表上触发器被触发。(4) 存储过程的调用(Stored procedure invocation)。在物理结构中,数据的基本存取单位是存储记录。有了逻辑结构以后,就可以设计存储记录结构,一个存储记录可以与多个逻辑记录相对应。存储记录就包括记录的组成,数据项的类型和长度等。下面是各个信息表:员工信息表列名数据类型大小允许空备注员工编号intNOT NULL主码员工姓名varchar20NOT NULL年龄intNOT NULL性别varchar2NOT NULL出生年月DatetimeNOT NULL婚姻状态varchar4NOT NULL政治面貌varchar20NOT NULL学历varchar20NOT NULL部门编号intNOT NULL外码职务varchar20NOT 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 NULL外码奖罚原因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)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 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 员工信息表(员工编号)-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 SELECT 员工姓名,部门名称,职务,联系方式,实发工资FROM 员工信息表,部门信息表,薪资信息表WHERE 员工信息表.部门编号=部门信息表.部门编号 AND 员工信息表.员工编号=薪资信息表.员工编号-视图:各部门部长信息CREATE VIEW 部门部长信息(部门编号,部门名称,员工编号,员工名字)AS SELECT 部门信息表.部门编号,部门名称,员工编号,员工姓名FROM 员工信息表,部门信息表WHERE 员工信息表.部门编号=部门信息表.部门编号 AND 员工信息表.职务=部长-5、创建存储过程-存储过程LOOKWAGE:根据员工提交的员工编号和工资发放时间,查看该员工的薪资信息,- 包括员工编号,姓名,实发薪资,和发放日期。CREATE PROCEDURE LOOKWAGEID INT,TIME DatetimeASSELECT 员工信息表.员工编号,员工姓名,实发工资,发放日期FROM 员工信息表,薪资信息表WHERE 员工信息表.员工编号=薪资信息表.员工编号 AND 员工信息表.员工编号=ID AND 发放日期=TIME-存储过程LOOKREWARDS:根据员工提交的员工编号和奖罚时间,查看该员工的奖罚信息,- 包括员工编号,姓名,奖罚原因,奖罚时间。CREATE PROCEDURE LOOKREWARDSID INT,TIME DatetimeASSELECT 员工信息表.员工编号,员工姓名,奖罚原因,奖罚时间FROM 员工信息表,奖罚信息表WHERE 员工信息表.员工编号=奖罚信息表.员工编号AND 员工信息表.员工编号=ID AND 发放日期=TIME-存储过程Find_Minister:根据提交的部门编号,查看该部门的部长CREATE PROCEDURE Find_MinisterID INT ASSELECT 部门信息表.部门编号,部门信息表.部门名称,员工信息表.员工编号,员工姓名FROM 员工信息表,部门信息表WHERE 员工信息表.部门编号=部门信息表.部门编号 AND 员工信息表.职务=部长 -6、创建触发器-触发器workerid:要求员工信息表中的员工编号被修改时,薪资信息表- 奖惩信息表中的员工编号也被修改。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 deleted) 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- 向员工信息表插入一条记录时,该员工所在的部门人数加.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 部门编号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技术在企业管理信息系统中的应用和延伸,形成了集计算机,计算机网络、数据库、分布式计算等于一体的信息技术综合体,它打破了时间和地域的界限,使信息交流变得快捷、准确,为建立现代企业管理信息系统提供了充足的条件。高校教职工管理系统在此基础上延伸、扩展,使之上下、内外全面贯通。高教教职工管理系统是在适应市场需求的客观前提下,为了满足各高校管理自己学校所在的教职员信息而开发的。该系统的是终目的是要将各位职员的信息放到网络上,以方便管理。系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 快递物流配送效率提升实操方案
- 变电站电气设备维护保养指导手册
- 2023年省级中考数学一模试卷解析
- 2023年护理质量改进年度报告
- 项目投资分析与经济效益评估
- 建筑工程清包工合同范本2024版
- 新员工职业素养提升计划
- 企业HSE指标考核方法与实施细则
- 儿童英语单词记忆法总结
- 省级高三理科线上模拟考试解析
- 中医治未病健康宣教
- Ice-O-Matic CIM登峰系列制冰机培训手册
- 《穴位埋线疗法》课件
- 【大型集装箱船舶港口断缆事故预防应急处理及案例探析7500字(论文)】
- 发展汉语-初级读写-第一课-你好
- 律师事务所人事管理制度
- 高中英语完形填空高频词汇300个
- 2023-2025年世纪公园综合养护项目招标文件
- 脑梗塞并出血护理查房
- 男朋友男德守则100条
- 医院感染科室院感管理委员会会议记录
评论
0/150
提交评论