分享
分销 收藏 举报 申诉 / 15
播放页_导航下方通栏广告

类型教职工管理系统课程设计.doc

  • 上传人:快乐****生活
  • 文档编号:4916660
  • 上传时间:2024-10-20
  • 格式:DOC
  • 页数:15
  • 大小:340KB
  • 下载积分:8 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    教职工 管理 系统 课程设计
    资源描述:
    课 程 设 计 课程名称 数据库 题目名称 教职工管理系统 学生学院 计算机 专业班级 学 号 学生姓名 指导教师 左亚尧 2013年 1 月 15 日 目  录 1 需求分析 4 2 功能分析 4 3 概念设计 4 4 逻辑结构设计 5 5 物理结构设计 5 6 数据库的实现 6 6.1 视图 6 6.2 存储过程 6 6.3 触发器 6 6.4 表 6 6.5 数据库在SQL Sever2000中显示 8 7 总结 15 8 参考文献 15 一、需求分析、 90年代中期,由于Internet 的迅速普及,使Intranet成为Internet技术在企业管理信息系统中的应用和延伸,形成了集计算机,计算机网络、数据库、分布式计算等于一体的信息技术综合体,它打破了时间和地域的界限,使信息交流变得快捷、准确,为建立现代企业管理信息系统提供了充足的条件。教职工管理系统在此基础上延伸、扩展,使之上下、内外全面贯通。高教教职工管理系统是在适应市场需求的客观前提下,为了满足各高校管理自己学校所在的教职员信息而开发的。该系统的是终目的是要将各位职员的信息放到网络上,以方便管理。 系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。该系统具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。 二、功能分析、 根据分析,该管理系统必须具备如下几个功能: 1.能够记录教职工各种基本资料;员工各种信息的输入,包括员工的基本信息,学历信息,婚姻状况信息,职称等 2.系统使用者能够查询信息,能进行对各员工各种信息的修改以及对于转出,辞退,退休员工的信息删除; 3.保障数据库安全,优化数据库,,可以在程序中实现数据库备份和恢复。 4.界面的友好性。 三、概念设计、 在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、更准确地用某一DBMS实现这些需求。 概念结构的主要特点是: 1. 能真实、充分地反应现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型; 2. 易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键; 3. 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充; 4. 易于向关系、网状、层次等各种数据模型转换。 概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。 描述概念模型的有力工具是E-R模型。 下面设计教职工管理系统的E-R图: 员工 工资 奖罚 部门 获得 受到 属于 编号 实发 工资 基本 工资 奖金 福利 备注 编号 名称 人数 编号 地点 原因 时间 姓名 性别 职务 编号 学历 备注 计算方法 联系方式时间 婚姻状态 出生 日期 四、逻辑结构设计、 下面将E-R图转换为关系模型: 员工信息(员工编号,员工姓名,年龄,性别,出生年月,婚姻状态,政治面貌,学历,部门编号,职务,联系方式,备注) 主键:员工编号; 外码:部门编号; 部门信息(部门编号,部门名称,部门人数) 主键:部门编号; 奖惩信息(奖惩编号,员工编号,奖罚时间,奖罚原因,奖罚地点,备注) 主键:奖惩编号, 外码:员工编号; 薪资信息(薪资编号,员工编号,基本工资,福利,奖金,计算方法,实发工资,发放日期), 主键:薪资编号; 外码:员工编号。 五、物理结构设计、 数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库系统确定合理的存储结构和存取方法。所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。主要体现在索引和蔟集的设置。 存储结构 确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。 将日志文件和数据库对象(表、索引等)分别放在不同的磁盘,可以改进系统的性能,提高系统的安全性。所以,系统应将日志文件和数据文件存放在不同磁盘上。 六、数据库的实现、 6.1 视图 视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。 6.2 存储过程 存储过程就是将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。 存储过程的优点:   (1).存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。   (2).当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。   (3).存储过程可以重复使用,可减少数据库开发人员的工作量   (4).安全性高,可设定只有某此用户才具有对指定存储过程的使用权。 6.3 触发器 触发器是一种特殊类型的存储过程,它不同于我们前面介绍过的存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如Update、 Insert、 Delete 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。 触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。除此之外,触发器还有其它许多不同的功能:   (1) 强化约束(Enforce restriction)   触发器能够实现比CHECK 语句更为复杂的约束。   (2) 跟踪变化Auditing changes   触发器可以侦测数据库内的操作,从而不允许数据库中未经许可的指定更新和变化。   (3) 级联运行(Cascaded operation)。   触发器可以侦测数据库内的操作,并自动地级联影响整个数据库的各项内容。例如,某个表上的触发器中包含有对另外一个表的数据操作(如删除,更新,插入)而该操作又导致该表上触发器被触发。   (4) 存储过程的调用(Stored procedure invocation)。 在物理结构中,数据的基本存取单位是存储记录。有了逻辑结构以后,就可以设计存储记录结构,一个存储记录可以与多个逻辑记录相对应。存储记录就包括记录的组成,数据项的类型和长度等。 6.4下面是各个信息表: 员 工 信 息 表 列名 数据类型 大小 允许空 备注 员工编号 int NOT NULL 主码 员工姓名 varchar 20 NOT NULL 年龄 int NOT NULL 性别 varchar 2 NOT NULL 出生年月 Datetime NOT NULL 婚姻状态 varchar 4 NOT NULL 政治面貌 varchar 20 NOT NULL 学历 varchar 20 NOT NULL 部门编号 int NOT NULL 外码 职务 varchar 20 NOT NULL 联系方式 varchar 11 NOT NULL 备注 varchar 500 部 门 信 息 表 列名 数据类型 大小 允许空 备注 部门编号 int NOT NULL 主码 部门名称 varchar 20 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 NULL 奖 惩 信 息 表 列名 数据类型 大小 允许空 备注 奖惩编号 int NOT NULL 主码 员工编号 int NOT NULL 外码 奖罚原因 varchar 100 NOT NULL 奖罚地点 varchar 20 NOT NULL 奖罚时间 datetime NOT NULL 备注 varchar 500 6.5数据库在SQL Sever2000中显示如下: (1)数据库: (2)员工信息表: (3)部门信息表: (4)薪资信息表: (5)奖惩信息表: (6)视图1:部门部长信息 (7)视图2:员工基本信息 (8)主要代码: 1、创建教职工管理数据库: CREATE DATABASE 教职工管理 ON ( NAME=教职工管理DAT, FILENAME='D:\SQL\database\school\教职工管理DAT.MDF', SIZE=5, MAXSIZE=20, FILEGROWTH=2 ) LOG ON ( NAME=教职工管理LOG, FILENAME='D:\SQL\database\school\教职工管理LOG.LDF', SIZE=5, MAXSIZE=20, FILEGROWTH=2 ) -------------------------------------------------------- 2、创建备份文件 sp_addumpdevice'disk','BACKUP1','D:\SQL\database\school\教职工管理backup1.dat' 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 员工信息表(员工编号) ) ---------------------------------------------------------- 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 LOOKWAGE @ID INT,@TIME Datetime AS SELECT 员工信息表.员工编号,员工姓名,实发工资,发放日期 FROM 员工信息表,薪资信息表 WHERE 员工信息表.员工编号=薪资信息表.员工编号 AND 员工信息表.员工编号=@ID AND 发放日期=@TIME --存储过程LOOKREWARDS:根据员工提交的员工编号和奖罚时间,查看该员工的奖罚信息, -- 包括员工编号,姓名,奖罚原因,奖罚时间。 CREATE PROCEDURE LOOKREWARDS @ID INT,@TIME Datetime AS SELECT 员工信息表.员工编号,员工姓名,奖罚原因,奖罚时间 FROM 员工信息表,奖罚信息表 WHERE 员工信息表.员工编号=奖罚信息表.员工编号 AND 员工信息表.员工编号=@ID AND 发放日期=@TIME --------------------------------------------------------------------- --存储过程Find_Minister:根据提交的部门编号,查看该部门的部长 CREATE PROCEDURE Find_Minister @ID INT AS SELECT 部门信息表.部门编号,部门信息表.部门名称,员工信息表.员工编号,员工姓名 FROM 员工信息表,部门信息表 WHERE 员工信息表.部门编号=部门信息表.部门编号 AND 员工信息表.职务='部长' ------------------------------------------------------------------- --6、创建触发器 --触发器workerid:要求员工信息表中的员工编号被修改时,薪资信息表 -- 奖惩信息表中的员工编号也被修改。 CREATE TRIGGER WORKERID ON 员工信息表 FOR UPDATE AS BEGIN IF(UPDATE(员工编号)) BEGIN UPDATE 薪资信息表 SET 薪资信息表.员工编号=(SELECT 员工编号 FROM inserted) WHERE 薪资信息表.员工编号=(SELECT 员工编号 FROM deleted) UPDATE 奖惩信息表 SET 奖惩信息表.员工编号=(SELECT 员工编号 FROM inserted) WHERE 奖惩信息表.员工编号=(SELECT 员工编号 FROM deleted) END END ------------------------------------------------------------------ --触发器CHECK_EXIST: -- 向员工信息表插入一条记录时,检查该记录的部门信息在部门信息表 -- 是否存在,若不存在则不允许插入。 CREATE TRIGGER CHECK_EXIST ON 员工信息表 FOR INSERT AS IF EXISTS(SELECT * FROM inserted a WHERE a.部门编号NOT IN (SELECT 部门信息表.部门编号 FROM 部门信息表)) BEGIN RAISERROR('该部门不存在!!',16,1) ROLLBACK TRANSACTION --撤销刚才的操作,恢复到原来的状态 END --------------------------------------------------------------------- --触发器COUNT_STAFF -- 向员工信息表插入一条记录时,该员工所在的部门人数加. CREATE TRIGGER COUNT_STAFF ON 员工信息表 AFTER INSERT AS BEGIN UPDATE 部门信息表 SET 部门人数=部门人数+1 WHERE 部门编号IN (SELECT 部门编号FROM inserted) END ------------------------------------------------------------ --触发器departid:要求部门信息中的部门编号被修改时,员工信息表中员工 --所属部门编号也被修改。 CREATE TRIGGER departid ON 部门信息表 FOR UPDATE AS BEGIN IF(UPDATE(部门编号)) UPDATE 员工信息表 SET 员工信息表.部门编号=(SELECT 部门编号 FROM inserted) WHERE 员工信息表.部门编号=(SELECT 部门编号 FROM inserted) END --------------------------------------------------------------- --触发器CHECK_DELETE:删除员工记录时,该员工所在部门人数减. CREATE TRIGGER CHECK_DELETE ON 员工信息表 FOR DELETE AS BEGIN UPDATE 部门信息表 SET 部门人数=部门人数-1 WHERE 部门编号IN (SELECT 部门编号FROM inserted) END 七、 总结、 在本学期对数据库的学习和在课程设计的制作中,非常感谢老师的耐心讲解与指导。在设计过程中运用较多的是老师在上课时候讲解的例子,受益匪浅。同时也学到了对问题的研究和思维方法。这也对本次课程设计的制作起到了积极的帮助和影响。也加深了对数据库的理解,对数据库操作也有了进一步的了解。 在对教职工管理系统的开发过程中,我学到了许多有关数据库管理软件设计的东西。在设计过程中,逐步了解到书本上的知识很重要,作为最基础的部分,带给我的是新的视角。使我重新认识了数据库,对数据库的兴趣也明显增加了许多。最大的收获莫过于对与系统的前期分析。可以从一个大的角度来判断整个系统的性能,从而分析出需要创建哪些表实现整体的功能。 当然在设计中还有很多不足的地方。对于这样的软件开发,由于没有相应的切合实际的需求分析,所以在开发过程中也遇到了许多棘手的问题。对于数据库的操作不够熟练,在整个系统的考虑方面也有些许不足。但是,我会在今后的学习中,加深自己在数据库方面的培养,提高自己对与建立数据库时候的分析以及应用的能力。 八、 参考文献 [1]王珊,萨师煊.数据库系统概论(第四版).北京.高等教育出版社 [2] 李雁翔 .数据库技术及应用 .高等教育出版社 15 / 15
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:教职工管理系统课程设计.doc
    链接地址:https://www.zixin.com.cn/doc/4916660.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork