ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:22.93KB ,
资源ID:21568002      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21568002.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(高校教师信息管理系统课程设计报告文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、根据概念结构设计的基本原则,确定概念模型,并阐明分析步骤和理论依据完成数据库的概念设计,画出 E-R 图。结构设计:根据需求分析和概念模型, 将实体及实体间的联系按一定的转换规则转换为关系模型,写出转换步骤及相应的理论依据,并确定主码、外码。按数据库设计方法和规范化理论得出符合 3NF 的逻辑模型。(5)利用 SQL Server2005建立相应的数据库对象。(6)利用 SQL 语句实现相应功能。(7)编写数据库课程设计报告并提交相应资料与成果。1.2 设计要求(1)要求独立完成自己题目的课程设计,如有抄袭,成绩按不及格处理。(2)要求学生利用数据库原理课程所学知识和方法独立完成所布置题目。(

2、3)要求所设计的系统规模适中,用 SQL 语句实现基本的增、删、改、查询功能。( 4)数据库中至少要包含三个表, 且每个表都要满足 3NF,指明主码、外码等。(5)尽量多的使用 SQL Server2005中的对象, 如:视图、触发器、约束、 默认、规则、索引等。(6)简单的系统与功能分析,建立数据结构表。(7)每天下机时,要及时将自己的开发拷贝带走;上机期间,学生要服从指导教师的统一安排,遵守机房制度;严格遵守纪律,不迟到,不早退,无故缺勤者,成绩按不及格处理。2、概要设计2.1 概要简述在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构, 才能更好地、更准确地用某一 DBMS 实现

3、这些需求。概念结构的主要特点是:1.能真实、充分地反应现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型;2.易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键;3.易于更改,当应用环境和应用要求改变时, 容易对概念模型修改和扩充;4.易于向关系、网状、层次等各种数据模型转换。概念结构是各种数据模型的共同基础, 它比数据模型更独立于机器、 更抽象,从而更加稳定。描述概念模型的有力工具是 E-R 模型。下面设计高校教职工管理系统的 E-R 图:编 奖 福 备人编 姓 性 职 学实 基计 员工 编 名发 本算时 地备 出

4、 联 婚注 生 系 姻编 原2.2逻辑结构设计:下面将 E-R 图转换为关系模型:员工信息(员工编号,员工姓名,年龄,性别,出生年月,婚姻状态,政治面貌,学历,部门编号,职务,联系方式,备注) 主键:员工编号; 外码:部门编号;部门信息(部门编号,部门名称,部门人数) 主键:奖惩信息(奖惩编号,员工编号,奖罚时间,奖罚原因,奖罚地点,备注)主键:奖惩编号, 外码:薪资信息(薪资编号,员工编号,基本工资,福利,奖金,计算方法,实发工资,发放日期), 主键:薪资编号;员工编号。2.3物理结构设计:数据库物理设计阶段的任务是根据具体计算机系统 (DBMS 和硬件等 )的特点,为给定的数据库系统确定合

5、理的存储结构和存取方法。 所谓的“合理” 主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间, 另一个对数据库的操作具有尽可能高的速度。主要体现在索引和蔟集的设置。存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。将日志文件和数据库对象 (表、索引等 )分别放在不同的磁盘,可以改进系统的性能,提高系统的安全性。 所以,系统应将日志文件和数据文件存放在不同磁盘上。3、设计过程和代码3.1 视图视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图

6、并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。3.2 存储过程存储过程就是将常用的或很复杂的工作,预先用 SQL 语句写好并用一个指定的名称存储起来 , 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时 ,只需调用 execute,即可自动完成命令。存储过程的优点:(1)存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般 SQL 语句每执

7、行一次就编译一次 ,所以使用存储过程可提高数据库执行速度。(2)当对数据库进行复杂操作时 (如对多个表进行 Update,Insert,Query,Delete时 ),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。(3)存储过程可以重复使用 ,可减少数据库开发人员的工作量(4)安全性高 ,可设定只有某此用户才具有对指定存储过程的使用权。3.3 触发器触发器是一种特殊类型的存储过程,它不同于我们前面介绍过的存储过程。触发器主要是通过事件进行触发而被执行的, 而存储过程可以通过存储过程名字而被直接调用。 当对某一表进行诸如 Update、 Insert、 Delete 这些操

8、作时, SQLServer 就会自动执行触发器所定义的 SQL 语句,从而确保对数据的处理必须符合由这些 SQL 语句所定义的规则。触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。除此之外,触发器还有其它许多不同的功能:(1) 强化约束 (Enforce restriction)触发器能够实现比 CHECK 语句更为复杂的约束。(2) 跟踪变化 Auditing changes触发器可以侦测数据库内的操作, 从而不允许数据库中未经许可的指定更新和变化。(3) 级联运行 (Cascaded operation)。触发器可以侦测数据库内的操作, 并自动地级联影

9、响整个数据库的各项内容。例如,某个表上的触发器中包含有对另外一个表的数据操作 (如删除,更新,插入 )而该操作又导致该表上触发器被触发。(4) 存储过程的调用 (Stored procedure invocation)。在物理结构中, 数据的基本存取单位是存储记录。 有了逻辑结构以后, 就可以设计存储记录结构, 一个存储记录可以与多个逻辑记录相对应。 存储记录就包括记录的组成,数据项的类型和长度等。下面是各个信息表:员工信息表列名 数据类型 大小 允许空 备注员工编号 int NOT NULL 主码员工姓名 varchar 20 NOT NULL年龄 int NOT NULL性别 varcha

10、r 2 NOT NULL出生年月 Datetime NOT NULL婚姻状态 varchar 4 NOT NULL政治面貌varchar20NOTNULL学历部门编号int外码职务联系方式11备注500部门信息表列名数据类型大小允许空主码部门名称部门人数 int NOT NULL薪资信息表薪资编号 int NOT NULL 主码员工编号 int NOT NULL 外码基本工资 int NOT NULL福利 int NOT NULL奖金 int NOT NULL计算方法 int NOT NULL实发工资 int NOT NULL发放日期 int NOT NULL奖惩信息表奖惩编号 Int NOT

11、 NULL 主码员工编号 Int NOT NULL 外码奖罚原因 Varchar 100 NOT NULL奖罚地点 Varchar 20 NOT NULL奖罚时间 Datetime NOT NULL备注 varchar 500数据库在 SQL Sever2005中显示如下:(1)数据库:(2)员工信息表:(3)部门信息表:(4)薪资信息表:(5)奖惩信息表:(6)视图 1:部门部长信息(7)视图 2:员工基本信息3.4 主要代码:1、创建高校教职工管理数据库:CREATE DATABASE 高校教职工管理ON( NAME = 高校教职工管理 DAT ,FILENAME = 高校教职工管理 DA

12、T.MDF ,SIZE= 5,MAXSIZE = 20,FILEGROWTH = 2)LOG ON( NAME = 高校教职工管理 LOG ,FILENAME = 高校教职工管理 LOG.LDF-2、创建备份文件sp_addumpdevicedisk,BACKUP1, 高校教职工管理 backup1.datgoBACKUP DATABASE 高校教职工管理 TO BACKUP1-3、创建表CREATE TABLE 部门信息表(部门编号 INT PRIMARY KEY ,部门名称 VARCHAR(20) UNIQUE NOT NULL,部门人数 INT CHECK (部门人数 = 0) NOT

13、NULL,-CREATE TABLE 员工信息表员工编号 INT NOT NULL PRIMARY KEY ,员工姓名 VARCHAR(20) NOT NULL,年龄 INT CHECK (年龄 = 1) NOT NULL,性别 VARCHAR(2) CHECK (性别 IN (男女) NOT NULL,出生年月 DatetimeNOT NULL,婚姻状态 VARCHAR(4) CHECK (婚姻状态 IN (已婚 未婚 政治面貌 VARCHAR(20) CHECK (政治面貌 IN (清白 团员 党员 学历 VARCHAR(20) NOT NULL,部门编号 INT NOT NULL,职务

14、VARCHAR(20) NOT NULL,联系方式 VARCHAR(11) UNIQUE NOT NULL,备注 VARCHAR(500),FOREIGN KEY (部门编号 ) REFERENCES 部门信息表 (部门编号 )-CREATE TABLE 薪资信息表薪资编号 INT PRIMARY KEY ,员工编号 INT NOT NULL,基本工资 INT CHECK (基本工资 福利 INT CHECK (福利 奖金 INT CHECK (奖金 计算方法 VARCHAR(50) NOT NULL,实发工资 INT CHECK (实发工资 = 0),发放日期 DatetimeNOT NUL

15、L,FOREIGN KEY (员工编号 ) REFERENCES 员工信息表 (员工编号 )-CREATE TABLE 奖惩信息表奖惩编号 INT PRIMARY KEY ,奖罚时间 DatetimeNOT NULL,奖罚原因 VARCHAR(100) NOT NULL,奖罚地点 VARCHAR(20) NOT NULL,-4、创建视图:-视图员工基本信息:CREATE VIEW 员工基本信息 (员工姓名 ,部门名称 ,职务 ,联系方式 ,薪资 )AS SELECT 员工姓名 ,部门名称 ,职务 ,联系方式 ,实发工资FROM 员工信息表 ,部门信息表 ,薪资信息表WHERE 员工信息表 .部

16、门编号 = 部门信息表 .部门编号AND 员工信息表 .员工编号 =薪资信息表 .员工编号-视图:各部门部长信息CREATE VIEW 部门部长信息 (部门编号 ,部门名称 ,员工编号 ,员工名字 )AS SELECT 部门信息表 .部门编号 ,部门名称 ,员工编号 ,员工姓名FROM 员工信息表 ,部门信息表AND 员工信息表 .职务 = 部长 -5、创建存储过程-存储过程 LOOKWAGE: 根据员工提交的员工编号和工资发放时间,查看该员工的薪资信息,- 包括员工编号,姓名,实发薪资,和发放日期。CREATE PROCEDURE LOOKWAGEID INT ,TIME DatetimeA

17、SSELECT 员工信息表 .员工编号 ,员工姓名 ,实发工资 ,发放日期FROM 员工信息表 ,薪资信息表WHERE 员工信息表 .员工编号 = 薪资信息表 .员工编号AND 员工信息表 .员工编号 =ID AND 发放日期 = TIME-存储过程 LOOKREWARDS: 根据员工提交的员工编号和奖罚时间 ,查看该员工的奖罚信息,- 包括员工编号,姓名,奖罚原因,奖罚时间。CREATE PROCEDURE LOOKREWARDSSELECT 员工信息表 .员工编号 ,员工姓名 ,奖罚原因 ,奖罚时间FROM 员工信息表 ,奖罚信息表WHERE 员工信息表 .员工编号 = 奖罚信息表 .员工

18、编号AND 员工信息表 .员工编号 = ID AND 发放日期 = TIME-存储过程 Find_Minister:根据提交的部门编号,查看该部门的部长CREATE PROCEDURE Find_MinisterID INTSELECT 部门信息表 .部门编号 ,部门信息表 .部门名称 ,员工信息表 .员工编号 ,员工姓名-6、创建触发器-触发器 workerid:要求员工信息表中的员工编号被修改时,薪资信息表- 奖惩信息表中的员工编号也被修改。CREATE TRIGGER WORKERID ON 员工信息表FOR UPDATEBEGINIF(UPDATE (员工编号 )UPDATE 薪资信息

19、表SET 薪资信息表 .员工编号 =(SELECT 员工编号 FROM inserted)WHERE 薪资信息表 .员工编号 =( SELECT 员工编号 FROM deleted)UPDATE 奖惩信息表SET 奖惩信息表 .员工编号 =(SELECT 员工编号 FROM inserted)WHERE 奖惩信息表 .员工编号 =( SELECT 员工编号 FROM deleted)END-触发器 CHECK_EXIST :-向员工信息表插入一条记录时,检查该记录的部门信息在部门信息表-是否存在,若不存在则不允许插入。CREATE TRIGGER CHECK_EXISTON 员工信息表FOR

20、INSERTIF EXISTS(SELECT * FROM inserted aWHERE a.部门编号 NOT IN (SELECT 部门信息表 .部门编号 FROM部门信息表 )RAISERROR(该部门不存在! ,16,1)ROLLBACK TRANSACTION -撤销刚才的操作,恢复到原来的状态-触发器 COUNT_STAFF-向员工信息表插入一条记录时 ,该员工所在的部门人数加 .CREATE TRIGGER COUNT_STAFF ON 员工信息表AFTER INSERTUPDATE 部门信息表SET 部门人数 = 部门人数 + 1WHERE 部门编号 IN (SELECT 部门编号 FROM inserted)-触发器 departid:要求部门信息中的部门编号被修改时,员工信息表中员工-所属部门编号也被修改。CREATE TRIGGER departid ON 部门信息表IF(UPDATE (部门编号 )UPDATE 员工信息表SET 员工信息表 .部门编号 =(SELECT 部门编号 FROM inserted)WHERE 员工信息表 .部门编号 =( SELECT 部门编号 FROM i

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1