数据库原理及应用课程设计报告学校工资管理系统.doc
《数据库原理及应用课程设计报告学校工资管理系统.doc》由会员分享,可在线阅读,更多相关《数据库原理及应用课程设计报告学校工资管理系统.doc(25页珍藏版)》请在沃文网上搜索。
1、目录第1章需求分析11.1需求调查11.2 系统功能分析11.3 面对用户需求分析2第2章面向对象分析和设计3第3章逻辑结构设计6类和对象向关系模式转换7第4章数据库物理结构设计94.1存取方法设计94.2存储结构设计94.3物理设计9第5章数据库完整性设计125.1 主键及唯一性索引125.2参照完整性设计125.3Check约束125.4Default约束125.5触发器设计13第6章 数据库视图设计16第7章 数据库存储过程设计17总结21参考文献:21数据库原理及应用课程设计报告第1章需求分析1.1需求调查通过对高校各个职员的调查,该学校的工资管理系统有如下需求:1)学校职员信息的管理
2、:职员的基本信息,职员职位的变更,职员信息的修改2)职员出勤情况的控制与管理:对员工的加班、缺勤情况进行限制,调查出勤情况3)职员工资的核算与发放:对于不同职称的职员基本工资也不同,对于加班和缺勤的职员要对其工资进行相应的增加与减少,对于职位变更的职员,工资也要及时更新4)工资历史的查询:职员如果对自己的工资有疑问,可以通过工资历史表进行相关查询,对以往的工资发放情况也可以进行查询。学校的工资管理系统1.2 系统功能分析工资发放管理考勤情况管理工资历史管理职员信息管理信息修改管理1)职员信息管理:职员的基本信息要进行统一的管理,具体包括了职工编号,姓名,性别、年龄、系别、职称。2)信息修改管理
3、:信息修改包括很多内容的变更,比如职位的修改,系别的修改。修改之后要及时对职员信息经行更新。3)考勤情况的管理:为实现学校的工作的高效,要对职工的出勤情况进行限制与管理,对职工的加班与缺勤情况要及时的记录下来,并对每一天职工加班以及缺勤的次数进行限制与约束。4)工资发放的管理:由于职称的不同,各个职员的基本工资也不一样。由于又涉及到职员信息的变更以及出勤的情况的不同要对加班以及缺勤的职员进行相应的工资变动,保证正确的核算与发放。5)工资历史的管理:职员如果对自己的工资发放有疑问,可以查询工资历史表,里面列明了每一项工资发放的情况,还可以对以往的工资发放进行查询1.3 面对用户需求分析 学校的工
4、资管理系统主要为学校的职员以及管理者查询、发放工资提供需求。具体实施过程其实包含了很多细节。首先,学校的职工信息要实现统一管理,在管理过程中涉及到职员信息的变更,这就需要对职员信息修改更新;其次,对于职员的出勤情况也要进行及时的统计,还要限制职员加班缺勤的次数;再者就是工资的管理与发放了,由于职员可能有职位的变更、有出勤情况的不同,我们就应该对应相应的职工情况进行工资核算与发放,工资发放完了之后用户可能对之前的工资发放有疑问,就可以查询自己工资发放的具体细节,还可以查询之前的工资发放情况,所以工资历史表就会为用户提供需求。这些功能涵盖了所有用户的基本需求。第2章面向对象分析和设计 类和对象设计
5、如下: 高校职员职工编号 char(9) primary key,姓名 varchar(12),性别 varchar(9),年龄 tinyint,系别 varchar(20),职称 varchar(20),添加()删除()查询()修改()考勤表职工编号 char(9),出勤情况 varchar(10) 日期 date ,foreign key (职工编号) references 高校职员(职工编号),添加()修改()删除()查询()职位变更职工编号 char(9),初始职位 varchar(10),现在职位 varchar(10),变更日期 date,查询()添加()修改()工资参照表职称 v
6、archar(20) primary key ,金额 int ,添加()修改()工资表职工编号 char(9) primary key ,基本工资 int default(0),加班工资 int default(0),应扣工资 int default(0),应发工资 int default(0),查询()发放()更新()工资历史职工编号 char(9),发放金额 tinyint,发放日期 date ,查询()加班情况查询职工编号 char(9),姓名 varchar(12),加班 varchar(12),日期 date,查询()修改()工资核对职工编号 char(9) primary key
7、,基本工资 int default(0),应发工资 int default(0)发放金额 int default(0),日期 date查询()修改() 缺勤情况查询职工编号 char(9),姓名 varchar(12),缺勤 varchar(12),日期 date,查询()删除()职位统计职工编号 char(9),姓名 varchar(12),系别 varchar(20),职称 varchar(20),查询()第3章逻辑结构设计局部E-R图 图3-1 高校职员 图3-2 出勤情况 图3-3 职位变更 图3-4 工资表 图3-5 工资历史 图 3-6 财务主管全局E-R图:类和对象向关系模式转换
8、高校职员(职工编号,姓名,性别,年龄,系别,职称)职位变更(流水码,职工编号,初始职位,现在职位,变更日期)考勤表(流水码,职工编号,出勤情况,日期)工资参照表(职称,金额)工资表(职工编号,基本工资,加班工资,应扣工资,应发工资)工资历史(职工编号,发放金额,发放日期)第4章数据库物理结构设计4.1 存取方法设计数据库系统是多用户共享的系统,对同一个关系要建立多条存储路径才能满足多用户的多种应用要求。对于学校的工资管理系统来说,为了提高某些属性(如:职工编号,姓名,出勤情况,工资发放)的查询速度,可以选择聚簇存取的方法,即把这些属性上具有相同值的元组集中放在连续的物理块上。4.2存储结构设计
9、学校的工资管理系统是一个大型复杂的计算机网络信息系统,采用基于浏览器/服务器(B/S),客户端/服务器(C/S)混合的应用体系结构来建设教务管理系统。数据库管理系统采用Microsoft 公司推出的SQL Server 2012 或以上版本,并用SQL进行数据库的建立和数据库中数据的维护和查询。4.3物理设计实现该设计的环境为Windows win7 + SQL Server 2012或以上版本。1、 建立教务管理数据库create database 学校的工资管理系统2、 建立高校职员表create table 高校职员职工编号 char(9) primary key,姓名 varchar(
10、12),性别 varchar(9) check (性别in (男女), /check约束年龄 tinyint,系别 varchar(20),职称 varchar(20),3、 建立考勤表create table 考勤表流水码 bigint primary key identity(1,1),职工编号 char(9),出勤情况 varchar(10)check (出勤情况 in (加班缺勤), /check约束日期 date ,foreign key (职工编号) references 高校职员(职工编号),4、建立工资历史表create table 工资历史流水码 bigint primary
11、 key identity(1,1),职工编号 char(9),发放金额 tinyint,发放日期 date ,foreign key (职工编号) references 高校职员(职工编号),建立开设课程表Create table 开设课程(课程号 varchar(12) primary key,教职工号 char(12),开课年度 int,开课学期 varchar(10) default(春季) check (开课学期in (春季夏季秋季冬季),开课学院 varchar(20),开课班级 varchar(20),上课地点 varchars(20),上课时间 varchar(20),班级限制
12、人数 int)4、 建立职位变更表create table 职位变更(流水码 bigint primary key identity(1,1),职工编号 char(9),初始职位 varchar(10),现在职位 varchar(10),变更日期 date,foreign key (职工编号) references 高校职员(职工编号), /参照完整性);5、 建立工资参照表create table 工资参照表(职称 varchar(20) primary key ,金额 int ,);6、 建立工资表create table 工资表(职工编号 char(9) primary key ,基本工
13、资 int default(0),加班工资 int default(0),应扣工资 int default(0),应发工资 int default(0),foreign key (职工编号) references 高校职员(职工编号), /参照完整性);第5章数据库完整性设计5.1 主键及唯一性索引表名主键建立唯一性索引高校职员(职工编号)create unique index 高校职员 on 高校职员 (职工编号)考勤信息(职工编号)create unique index 考勤信息 on 考勤表 (职工编号)工资表(职工编号)create unique index 工资表 on 工资表 (职
14、工编号)工资历史(职工编号)create unique index 工资历史 on 工资历史 (职工编号5.2 参照完整性设计1、 考勤表的职工编号设计为外键foreign key (职工编号) references 高校职员(职工编号),2、工资历史表中将工资编号为外键foreign key (职工编号) references 高校职员(职工编号),3、职位变更表中将职工编号设计为外键foreign key (职工编号) references 高校职员(职工编号),4、工资表中将职工编号设计为外键foreign key (职工编号) references 高校职员(职工编号),5.3Chec
15、k约束1、高校职员表中将性别进行check约束:check (性别in (男女)2、考勤表中将缺勤情况进行check约束:check (出勤情况in (加班缺勤) ,5.4Default约束1、工资表中基本工资默认值设为:0。default(0)2、工资表中加班工资默认值设为:0。default(0)3、工资表中应扣工资默认值设为:0。default(0)4、工资表中应发工资默认值设为:0。default(0)5.5 触发器设计1、在考勤表表中建立插入考勤信息触发器create trigger 插入考勤信息 on 考勤表for insert as begindeclare num int se
16、lect num=inserted.流水码 from inserted select 信息插入成功 提示,该职员缺勤 提示select 考勤表.职工编号,考勤表.日期,考勤表.出勤情况,高校职员.姓名 from 考勤表,高校职员where num=考勤表.流水码 endgo2、在高校职员表中建立员工信息插入触发器create trigger 员工信息插入 on 高校职员for insert asbegindeclare 职工编号 int select 职工编号=inserted.职工编号 from inserted select 职员信息插入成功 提示,以下为该职员信息提示 select *
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 应用 课程设计 报告 学校 工资管理 系统