高校教师信息管理系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据库原理课程设计任务书1数据库原理课程设计任务书班级:计算10-02学号:1006010214姓名:年雪贺成绩:电子与信息工程学院计算机科学系数据库原理课程设计任务书27.1设计题目名称高校教师信息管理系统7.2系统概述由于Internet的迅速普及,使Intranet成为Internet技术在企业管理信息系统中的应用和延伸,形成了集计算机,计算机网络、数据库、分布式计算等于一体的信息技术综合体,它打破了时间和地域的界限,使信息交流变得快捷、准确,为建立现代企业管理信息系统提供了充足的条件。高校教职工管理系统在此基础上延伸、扩展,使之上下、内外全面贯通。高教教职工管理系统是在适应市场需求的客观前提下,为了满足各高校管理自己学校所在的教职员信息而开发的。该系统的是终目的是要将各位职员的信息放到网络上,以方便管理。系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。该系统具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。7.3系统功能模块设计1.实现部门、职称、职务的基本信息的管理;2.实现教师信息的管理�3.实现教师家庭关系和教育经历的管理�4.实现教师的奖惩管理;�5.创建规则,使得教师的E-Mail必须符合电子邮箱的格式;�6.创建触发器,实现修改教师所在部门时自动修改相应部门的教师人数;7.创建存储过程,统计各部门各种职称的人数;8.建立数据库相关表之间的参照完整性约束。数据库原理课程设计任务书37.4数据库概念结构设计7.5数据库逻辑结构设计下面将E-R图转换为关系模型:员工信息(员工编号,员工姓名,年龄,性别,出生年月,婚姻状态,政治面貌,学历,部门编号,职务,联系方式,备注)主键:员工编号;外码:部门编号;部门信息(部门编号,部门名称,部门人数)主键:部门编号;奖惩信息(奖惩编号,员工编号,奖罚时间,奖罚原因,奖罚地点,备注)主键:奖惩编号,外码:员工编号;薪资信息(薪资编号,员工编号,基本工资,福利,奖金,计算方法,实发工资,发放日期),主键:薪资编号;外码:员工编号。7.6数据库物理设计名字:基本信息表别名:描述:每一位教师的基本信息记录表定义:基本信息表=编号+姓名+性别+生日+籍贯+档案号+身份证+联系电话+政治面目+住址+任课+备注位置:输出到查询窗口员工工资奖罚部门获得受到属于编号实发工资基本工资奖金福利备注编号名称人数编号地点原因时间姓名性别职务编号学历备注计算方法联系方式时间婚姻状态出生日期数据库原理课程设计任务书4名字:操作员信息表别名:系统管理描述:记录操作员的信息,登录软件时需要验证用户合法性定义:操作员信息表=用户号+用户名+密码+权限位置:登录名字:工资表别名:描述:教师的工资统计表定义:工资表=编号+姓名+职务工资+活工资+奖金+补贴+代扣医疗保险+代扣职保+代扣失业保险+实发工资+备注位置:统计教师工资,显示到查询窗口名字:学历职称表别名:描述:每一位教师的学历职称的记录表定义:学历职称表=编号+姓名+学历+毕业学校+专业+现任职务+职称位置:输出到查询窗口数据库原理课程设计任务书57.7程序运行环境和开发环境数据库原理课程设计任务书67.8主要模块程序流程图非法合法7.9主要功能实现的程序段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登录验证验证合法性管理员普通用户管理员界面普通用户界面退出退出运行软件根据用户权限可用功能不同数据修改,添加,删除等数据库原理课程设计任务书7)--------------------------------------------------------2、创建备份文件sp_addumpdevice'disk','BACKUP1','D:\SQL\高校教职工管理backup1.dat'goBACKUPDATABASE高校教职工管理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,数据库原理课程设计任务书8FOREIGNKEY(员工编号)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,@TIMEDatetimeASSELECT员工信息表.员工编号,员工姓名,实发工资,发放日期FROM员工信息表,薪资信息表WHERE员工信息表.员工编号=薪资信息表.员工编号AND员工信息表.员工编号=@IDAND发放日期=@TIME--存储过程LOOKREWARDS:根据员工提交的员工编号和奖罚时间,查看该员工的奖罚信息,--包括员工编号,姓名,奖罚原因,奖罚时间。数据库原理课程设计任务书9CREATEPROCEDURELOOKREWARDS@IDINT,@TIMEDatetimeASSELECT员工信息表.员工编号,员工姓名,奖罚原因,奖罚时间FROM员工信息表,奖罚信息表WHERE员工信息表.员工编号=奖罚信息表.员工编号AND员工信息表.员工编号=@IDAND发放日期=@TIME-----------------------------------------------------------------------存储过程Find_Minister:根据提交的部门编号,查看该部门的部长CREATEPROCEDUREFind_Minister@IDINTASSELECT部门信息表.部门编号,部门信息表.部门名称,员工信息表.员工编号,员工姓名FROM员工信息表,部门信息表WHERE员工信息表.部门编号=部门信息表.部门编号AND员工信息表.职务='部长'---------------------------------------------------------------------6、创建触发器--触发器workerid:要求员工信息表中的员工编号被修改时,薪资信息表--奖惩信息表中的员工编号也被修改。CREATETRIGGERWORKERIDON员工信息表FORUPDATEASBEGINIF(UPDATE(员工编号))BEGINUPDATE薪资信息表SET薪资信息表.员工编号=(SELECT员工编号FROMinserted)WHERE薪资信息表.员工编号=(SELECT员工编号FROMdeleted)UPDATE奖惩信息表SET奖惩信息表.员工编号=(SELECT员工编号FROMinserted)WHERE奖惩信息表.员工编号=(SELECT员工编号FROMdeleted)ENDEND--------------------------------------------------------------------触发器CHECK_EXIST:--向员工信息表插入一条记录时,检查该记录的部门信息在部门信息表--是否存在,若不存在则不允许插入。CREATETRIGGERCHECK_EXISTON员工信息表FORINSERTAS数据库原理课程设计任务书10IFEXISTS(SELECT*FROMinsertedaWHEREa.部门编号NOTIN(SELECT部门信息表.部门编号FROM部门信息表))BEGINRAISERROR('该部门不存在!!',16,1)ROLLBACKTRANSACTION--撤销刚才的操作,恢复到原来的状态END-----------------------------------------------------------------------触发器COUNT_STAFF--向员工信息表插入一条记录时,该员工所在的部门人数加.CREATETRIGGERCOUNT_STAFFON员工信息表AFTERINSERTASBEGINUPDATE部门信息表SET部门人数=

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功