网络数据库课程设计报告

  • 格式:doc
  • 大小:220.50 KB
  • 文档页数:14

目录

一、项目名称:工资管理系统设计 ...................... 1

二、系统功能的基本要求 .............................. 1

三、课程设计的目的和意义 ............................ 1

四、应掌握的知识点 ................................... 1

五、应训练的能力点 .................................. 1

六、数据库设计内容 .................................. 2

(一)需求分析………………………………………………………………………………….2

(二)概念结构设计………………………………………………………………………..2

(三)逻辑结构设计…………………………………………………………………………3

(四)数据库与数据表设计 ——物理结构设计……………………………………………4

1.数据库与数据表设计…………………………………………………………………...4

2.数据完整性设计………………………………………………………………………...5

七、数据库操作实施与结果——数据库对象的设计 ......... 5

(一)建数据库——工资管理库……………………………………………………………….5

(二)建表——员工信息表、部门信息表、工资信息表…………………………………..6

(三)视图……………………………………………………………………………………..7

(四)存储过程………………………………………………………………………………..7

(五)触发器 …………………………………………………………………………………8

(六)索引……………………………………………………………………………………9

(七)运行和维护……………………………………………………………………………9

1. 关系图的建立………………………………………………………………………...9

2. 简单查询……………………………………………………………………………...9

3. 复杂查询……………………………………………………………………………...11

八、总结 ........................................... 12

九、参考文献 ....................................... 13 一、项目名称:工资管理系统设计

二、系统功能的基本要求:

➢ 员工每个工种基本工资的设定;

➢ 加班津贴管理,根据加班时间和类型给予不同的加班津贴;

➢ 按照不同工种的基本工资情况、员工的考勤情况产生员工的每月的月工资;

➢ 员工年终奖金的生成,员工的年终奖金计算公式=(员工本年度的工资总和+津贴的总和)/12;

企业工资报表。能够查询单个员工的工资情况、每个部门的工资情况、按月的工资统计。三、课程设计的目的和意义

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

实训目的:

 了解数据库系统的理论

 掌握数据库设计的基本方法,熟悉数据库设计的步骤;

 通过设计数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力

 学习基本数据库编程方法

 快速跟踪数据库系统软件的新技术及市场应用动态。

四、应掌握的知识点

 数据库基本原理

 关系数据库的设计方法、设计思路

 初步掌握一种关系数据库语言

五、应训练的能力点

 SQL Server 2000的操作与使用

 数据库的概念设计与逻辑设计

 数据库的建立与管理、数据表的建立与操作

 SQL查询语言的使用与编程

 设计和开发一个数据库应用系统的数据库设计部分

六、数据库设计内容 (一)需求分析

本系统要求实现以下主要功能:

1.数据录入功能

主要任务是对各种工资信息进行日常的管理,如工资信息的输入、查询、修改、增加、删除,迅速准确地完成各种工资信息的统计计算和汇总,快速打印出报表。

2.数据查询功能

系统需要提供以下查询功能:

1) 员工考勤情况

2) 员工工种情况,反映员工的工种、等级,岗位工资等信息

3) 员工津贴信息情况,反映员工的加班时间,加班类别、加班天数、岗位补贴情况等

4) 员工基本信息情况

5) 员工月工资情况:年,月,职工号,姓名,部门名,基本工资,病假扣款,事假扣款,.应发工资,实发工资

3.数据统计功能

1) 统计员工年终奖金

2) 统计每部门月工资情况

(二)概念结构设计

分析前面的系统功能要求,需要一个表来存储和管理员工信息,使系统能够接受员工原始的各项数据,以实现数据录入、查询或统计员工信息等功能。员工是本系统的第一个实体。

为了能实现查询和统计部门内员工情况等功能,必须有一个表来存储和管理所有部门的信息。部门是本系统的第二个实体。

工资是以员工工作情况来制定的。需要建立一个表来记录各种工资、津贴、扣款的信息。它主要为各种查询和统计功能提供工资数据。工资是第3个实体。

据此可以绘出工资管理系统数据库的E-R图如下:

实体属性列表如下:

实体 属性

员工 工号

姓名

性别

年龄

籍贯

学历

工种

工龄

职务等级

部门名称

部门 部门编号

部门名称

部门负责人

部门人数

工资 工号

岗位工资

岗位补贴

出勤天数

加班工时

加班工资

加班天数

加班类别

病假扣款

事假扣款

其他扣款

应发工资

实发工资

部门名称

(三)逻辑结构设计

将数据库的概念模型转换为关系模型:

实体转换成的关系模式有:

员工信息(工号,姓名,性别,年龄,籍贯,学历,工种,工龄,职务等级,部门名称)

关系-----工作(工号,部门名称)

部门(部门编号,部门名称,部门负责人,部门人数)

关系------获得(工号,姓名)

工资(工号,岗位工资,岗位补贴,出勤天数,加班工时,加班工资,加班天数,加班类别,病假扣除,事假扣除,其它扣除,应发工资,实发工资,部门名称)

因为,员工与工资是1:N的关系,所以各关系模式为:

员工信息(工号,姓名,性别,年龄,籍贯,学历,工种,工龄,职务等级,部门名称)

部门(部门编号,部门名称,部门负责人,部门人数) 工资(工号,岗位工资,岗位补贴,出勤天数,加班工时,加班工资,加班天数,加班类别,病假扣除,事假扣除,其它扣除,应发工资,实发工资,部门名称)

带下划线的属性为各关系模式的外码,字体为粗体的属性为各关系模式的主码。

关系规范式 :工资管理系统∈1NF 每个属性均不可再分

(四)数据库与数据表设计 ——物理结构设计

在SQL数据库中需要建立3个数据表:员工信息数据表、部门数据表和工资数据表。

1.数据库与数据表设计

①员工信息数据表定义

其中,“工号”是表的主键,惟一标识。

“部门名称”是外键。“工号”将记录员工的编号,在员工信息表中增加这一列时,虽然增加了数据冗余,但可以在查询每个员工信息时,提高系统的性能。因为员工信息表的记录数相对固定,相比之下,增加这个冗余的列对于整个系统来说是有利的。通过它,系统将引用到工资信息。

此表取名为“员工信息”

②部门数据表定义

其中,部门名称是该表的主键,惟一标识一个部门。

此表取名为“部门”

③工资数据表定义

其中,“工号”作为该表的主键,唯一标识,保证客房信息表数据的参照完整性。

此表表取名为“工资”

根据上面三个数据表的设计,可执行下面的步骤创建数据表

1)打开企业管理器,在本地服务器上创建新的数据库“工资管理库”

2)创建表 员工信息、部门、工资

2.数据完整性设计

1) 给每个表实施主键约束。

①主键约束、非空值约束

员工:工号为主键,所以此项非空

部门:部门名称为主键,所以此项非空

工资:工号为主键,所以此项非空

2)实施CHECK约束

 员工表中建立一个检查约束,即员工性别不是‘男’就是‘女’

CHECK(性别 IN('男','女')

3)外键约束

员工信息表中,部门名称为外键。工号为主键

工资FOREIGN KEY(部门名称) REFERENCES 部门(部门名称)

通过此键建立3个表的联系

4)惟一约束

a) 每个表的主键需定义为惟一性:

对于工资表,因为工号是主键,联系着员工表,所以建立唯一性

alter table 工资add constraint UQ_工号 unique(工号)

b) 对于员工表,员工的工号、部门名称都是用于识别员工身份,所以建立唯一约束

alter table 员工 add constraint UQ_工号 unique(工号)

七、数据库操作实施与结果——数据库对象的设计

(一)建数据库——工资管理库