网络数据库(工资管理系统设计)项目设计报告

上传人:cn****1 文档编号:563058695 上传时间:2022-09-28 格式:DOC 页数:15 大小:223KB
返回 下载 相关 举报
网络数据库(工资管理系统设计)项目设计报告_第1页
第1页 / 共15页
网络数据库(工资管理系统设计)项目设计报告_第2页
第2页 / 共15页
网络数据库(工资管理系统设计)项目设计报告_第3页
第3页 / 共15页
网络数据库(工资管理系统设计)项目设计报告_第4页
第4页 / 共15页
网络数据库(工资管理系统设计)项目设计报告_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《网络数据库(工资管理系统设计)项目设计报告》由会员分享,可在线阅读,更多相关《网络数据库(工资管理系统设计)项目设计报告(15页珍藏版)》请在金锄头文库上搜索。

1、精选优质文档-倾情为你奉上网络数据库课程项目设计课程名称 网络数据库 设计题目 工资管理系统 专业班级 计应0602班 学生姓名 XXX 学号 18 指导教师 YYYY QQQQ年 P 月R日目录一、项目名称:工资管理系统设计1二、系统功能的基本要求1三、课程设计的目的和意义1四、应掌握的知识点1五、应训练的能力点1六、数据库设计内容2 (一)需求分析.2 (二)概念结构设计.2 (三)逻辑结构设计3 (四)数据库与数据表设计 物理结构设计4 1.数据库与数据表设计.4 2.数据完整性设计.5七、数据库操作实施与结果数据库对象的设计5 (一)建数据库工资管理库.5 (二)建表员工信息表、部门信

2、息表、工资信息表.6 (三)视图.7(四)存储过程.7(五)触发器 8(六)索引9(七)运行和维护9 1. 关系图的建立.9 2. 简单查询.93. 复杂查询.11八、总结12九、参考文献13专心-专注-专业一、项目名称:工资管理系统设计二、系统功能的基本要求: 员工每个工种基本工资的设定; 加班津贴管理,根据加班时间和类型给予不同的加班津贴; 按照不同工种的基本工资情况、员工的考勤情况产生员工的每月的月工资; 员工年终奖金的生成,员工的年终奖金计算公式(员工本年度的工资总和津贴的总和)/12;企业工资报表。能够查询单个员工的工资情况、每个部门的工资情况、按月的工资统计。三、课程设计的目的和意

3、义网络数据库是实践性教学环节之一,是网络数据库课程的辅助教学课程。通过课程设计,使学生掌握数据库的基本概念,结合实际的操作和设计,巩固课堂教学内容,使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现,把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力。实训目的:l 了解数据库系统的理论l 掌握数据库设计的基本方法,熟悉数据库设计的步骤;l 通过设计数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力l 学习

4、基本数据库编程方法l 快速跟踪数据库系统软件的新技术及市场应用动态。四、应掌握的知识点l 数据库基本原理l 关系数据库的设计方法、设计思路l 初步掌握一种关系数据库语言五、应训练的能力点l SQL Server 2000的操作与使用l 数据库的概念设计与逻辑设计l 数据库的建立与管理、数据表的建立与操作l SQL查询语言的使用与编程l 设计和开发一个数据库应用系统的数据库设计部分六、数据库设计内容(一)需求分析本系统要求实现以下主要功能:1.数据录入功能 主要任务是对各种工资信息进行日常的管理,如工资信息的输入、查询、修改、增加、删除,迅速准确地完成各种工资信息的统计计算和汇总,快速打印出报表

5、。2.数据查询功能系统需要提供以下查询功能:1) 员工考勤情况2) 员工工种情况,反映员工的工种、等级,岗位工资等信息3) 员工津贴信息情况,反映员工的加班时间,加班类别、加班天数、岗位补贴情况等4) 员工基本信息情况5) 员工月工资情况:年,月,职工号,姓名,部门名,基本工资,病假扣款,事假扣款,.应发工资,实发工资3.数据统计功能1) 统计员工年终奖金2) 统计每部门月工资情况(二)概念结构设计分析前面的系统功能要求,需要一个表来存储和管理员工信息,使系统能够接受员工原始的各项数据,以实现数据录入、查询或统计员工信息等功能。员工是本系统的第一个实体。为了能实现查询和统计部门内员工情况等功能

6、,必须有一个表来存储和管理所有部门的信息。部门是本系统的第二个实体。工资是以员工工作情况来制定的。需要建立一个表来记录各种工资、津贴、扣款的信息。它主要为各种查询和统计功能提供工资数据。工资是第3个实体。据此可以绘出工资管理系统数据库的E-R图如下:实体属性列表如下:实体属性员工工号姓名性别年龄籍贯学历工种工龄职务等级部门名称部门部门编号部门名称部门负责人部门人数工资工号岗位工资岗位补贴出勤天数加班工时加班工资加班天数加班类别病假扣款事假扣款其他扣款应发工资实发工资部门名称(三)逻辑结构设计将数据库的概念模型转换为关系模型:实体转换成的关系模式有:员工信息(工号,姓名,性别,年龄,籍贯,学历,

7、工种,工龄,职务等级,部门名称)关系-工作(工号,部门名称)部门(部门编号,部门名称,部门负责人,部门人数)关系-获得(工号,姓名)工资(工号,岗位工资,岗位补贴,出勤天数,加班工时,加班工资,加班天数,加班类别,病假扣除,事假扣除,其它扣除,应发工资,实发工资,部门名称)因为,员工与工资是1:N的关系,所以各关系模式为:员工信息(工号,姓名,性别,年龄,籍贯,学历,工种,工龄,职务等级,部门名称)部门(部门编号,部门名称,部门负责人,部门人数)工资(工号,岗位工资,岗位补贴,出勤天数,加班工时,加班工资,加班天数,加班类别,病假扣除,事假扣除,其它扣除,应发工资,实发工资,部门名称)带下划线

8、的属性为各关系模式的外码,字体为粗体的属性为各关系模式的主码。关系规范式 :工资管理系统1NF 每个属性均不可再分(四)数据库与数据表设计 物理结构设计在SQL数据库中需要建立3个数据表:员工信息数据表、部门数据表和工资数据表。1.数据库与数据表设计员工信息数据表定义其中,“工号”是表的主键,惟一标识。“部门名称”是外键。“工号”将记录员工的编号,在员工信息表中增加这一列时,虽然增加了数据冗余,但可以在查询每个员工信息时,提高系统的性能。因为员工信息表的记录数相对固定,相比之下,增加这个冗余的列对于整个系统来说是有利的。通过它,系统将引用到工资信息。此表取名为“员工信息” 部门数据表定义 其中

9、,部门名称是该表的主键,惟一标识一个部门。此表取名为“部门”工资数据表定义其中,“工号”作为该表的主键,唯一标识,保证客房信息表数据的参照完整性。此表表取名为“工资”根据上面三个数据表的设计,可执行下面的步骤创建数据表 1)打开企业管理器,在本地服务器上创建新的数据库“工资管理库”2)创建表 员工信息、部门、工资2.数据完整性设计1)给每个表实施主键约束。主键约束、非空值约束员工:工号为主键,所以此项非空部门:部门名称为主键,所以此项非空工资:工号为主键,所以此项非空2)实施CHECK约束l 员工表中建立一个检查约束,即员工性别不是男就是女CHECK(性别 IN(男,女)3)外键约束员工信息表

10、中,部门名称为外键。工号为主键工资FOREIGN KEY(部门名称) REFERENCES 部门(部门名称)通过此键建立3个表的联系4)惟一约束a) 每个表的主键需定义为惟一性:对于工资表,因为工号是主键,联系着员工表,所以建立唯一性 alter table 工资add constraint UQ_工号 unique(工号)b) 对于员工表,员工的工号、部门名称都是用于识别员工身份,所以建立唯一约束 alter table 员工 add constraint UQ_工号 unique(工号)七、数据库操作实施与结果数据库对象的设计(一)建数据库工资管理库IF EXISTS(SELECT * F

11、ROM sysdatabases WHERE name=工资管理库) drop database 工资管理库GOCREATE DATABASE 工资管理库 ON PRIMARY(NAME=工资管理库,FILENAME=D:工资管理库_data.mdf,SIZE=4MB,MAXSIZE=6MB,FILEGROWTH=2MB)LOG ON (NAME =工资管理库_log, FILENAME =D:工资管理库.ldf, SIZE=1MB,MAXSIZE=25MB,FILEGROWTH=10%)(二)建表员工信息表、部门信息表、工资信息表l IF EXISTS(SELECT * FROM sysob

12、jects WHERE name=员工) DROP TABLE 员工 GOcreate table 员工信息(工号 int NOT NULL primary key,姓名 VARCHAR(50) NOT NULL,性别 CHAR(2) DEFAULT男CHECK(性别 IN(男,女),年龄 int NOT NULL,籍贯 VARCHAR(50) NOT NULL,学历 VARCHAR(50),工种 VARCHAR(50),工龄 VARCHAR(50) NOT NULL,职务等级 VARCHAR(50),部门名称 char(10) NOT NULL foreign key references 部门(部门名称) )GOl IF EXISTS(SELECT * FROM sysobjects WHERE name=部门) DROP TABLE 部门 GOcreate table 部门( 部门编号 int, 部门名称 char(10) primary key, 部门负责人 VARCHAR(50) NOT NULL, 部门人数 VARCHAR(50) GOl IF EXISTS(SELECT * FROM sysobjects WHERE name=工资)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号