完整word版数据库综合实验报告.docx

上传人:b****8 文档编号:28405204 上传时间:2023-07-13 格式:DOCX 页数:17 大小:1.70MB
下载 相关 举报
完整word版数据库综合实验报告.docx_第1页
第1页 / 共17页
完整word版数据库综合实验报告.docx_第2页
第2页 / 共17页
完整word版数据库综合实验报告.docx_第3页
第3页 / 共17页
完整word版数据库综合实验报告.docx_第4页
第4页 / 共17页
完整word版数据库综合实验报告.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

完整word版数据库综合实验报告.docx

《完整word版数据库综合实验报告.docx》由会员分享,可在线阅读,更多相关《完整word版数据库综合实验报告.docx(17页珍藏版)》请在冰豆网上搜索。

完整word版数据库综合实验报告.docx

完整word版数据库综合实验报告

计算机与信息工程学院实验报告

专业:

嵌入式系统年级:

12级

课程:

数据库系统概论实验题目:

数据库设计综合应用

实验目的与任务:

1.掌握数据库设计和实现的基本过程。

2.掌握数据库模式设计、分析和实现的方法。

3.了解数据库应用系统软件开发的一般过程。

实验基本要求:

(1)学习相关的预备知识。

(2)按照数据库设计与实现过程完成数据库的设计,应用程序的开发,上机调试、运行。

(3)写出课程设计报告。

课程设计题目:

工资管理系统。

设计任务与要求:

为工资管理部门建立一个数据库来管理员工的工资。

计算员工的工资,考虑不在休假日期以内的假期、工作期间的病假时间、奖金和扣除的部分。

指明给每个员工发薪水的方式。

大多数的员工是通过银行卡来结算工资的,但是也有一部分人使用现金或支票。

如果是通过银行卡,就需要知道账号和卡的类型。

付款方式只可能是一种方式。

有几种原因可以扣除工资:

例如,个人所得税、国家税、医疗保险、退休保险或者预付款。

设备与环境:

(1)硬件设备:

PC机一台。

(2)软件环境:

安装Windows操作系统,安装数据库管理系统SQLServer2005。

实验内容及步骤:

(一)需求分析

1.数据录入功能

对员工信息和工资信息进行日常的管理。

例如,员工基本信息数据的输入、修改、增加、删除。

工资信息的输入、查询、修改、增加、删除,迅速准确地完成工资信息的统计计算和汇总。

2.数据的查询功能

1)员工基本信息:

工号、姓名、性别、年龄、部门编号、基本工资。

2)部门管理:

部门编号、部门名称、基本工资、部门人数。

3)工资管理:

工号、基本工资、奖金、个人所得税、国家税、医疗保险、退休保险、请假天数、扣除工资、应发工资、实发工资、发薪方式、银行卡号、银行卡类型。

3.数据统计功能

统计每个员工月工资情况。

(二)概念分析

部门实体E-R图

 

 

 

(三)逻辑设计

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

员工:

工号、姓名、性别、年龄、部门编号、基本工资。

部门:

部门编号、部门名称、基本工资、部门人数。

工资:

工号、基本工资、奖金、个人所得税、国家税、医疗保险、退休保险、请假天数、扣款工资、应发工资、实发工资、发薪方式、银行卡号、银行卡类型。

员工表

列名

数据类型

备注

工号

char(5)

主键

姓名

char(20)

不为空

性别

char

(2)

不为空

年龄

char

(2)

不为空

部门编号

char

(2)

不为空

基本工资

decimal(9,2)

不为空

部门表

列名

数据类型

备注

部门编号

char

(2)

主键

部门名称

char(20)

不为空

基本工资

decimal(9,2)

不为空

部门人数

char(3)

不为空

工资表

列名

数据类型

备注

工号

char(5)

主键不为空

基本工资

decimal(9,2)

不为空

奖金

decimal(9,2)

不为空

个人所得税

decimal(9,2)

不为空

国家税

decimal(9,2)

不为空

医疗保险

decimal(9,2)

不为空

退休保险

decimal(9,2)

不为空

请假天数

char

(2)

不为空

扣除工资

decimal(9,2)

不为空

应发工资

decimal(9,2)

不为空

实发工资

decimal(9,2)

不为空

发薪方式

char(10)

不为空

银行卡号

char(19)

不为空

银行卡类型

char(20)

不为空

建立一个视图,反映员工姓名及工资情况。

CREATEVIEWg_sal

AS

SELECT员工表.姓名,工资表.*

FROM员工表,工资表

WHERE员工表.工号=工资表.工号

 

(四)物理设计

系统已经有的索引有:

对每个表的主键系统建立了索引

可以设计的索引有:

为提高检索性能,为表创建符合索引,其索引项为工号、姓名。

(五)实施

1.登录控制:

创建三个登录名:

u1,u2,u3以及三个用户名:

员工,部门经理,数据库管理员,并对员工赋予员工表,部门表,工资表的查询权,对部门经理赋予员工表,部门表,工资表的查询权和对工资表的修改权,对数据库管理员赋予所有权利

 

2.数据完整性:

1)给每个表实施主键约束、非空值约束

员工表:

工号为主键,此项非空,

部门表:

部门编号为主键,此项非空

工资表:

工号为主键,此项非空

 

2)实施CHECK约束

员工表中建立检查约束,

即员工性别不是‘男’就是‘女’,CHECK(性别IN('男','女'),年龄均小于100,CHECK(年龄<100)。

altertable员工表addconstraintsexcheck(性别in(‘男’,‘女’));

altertable员工表addconstraintagecheck(年龄<100);

 

3)外键约束

员工表中,部门编号为外键。

FOREIGNKEY(部门编号)REFERENCES部门表(部门编号)

工资表中,员工号为外键。

FOREIGNKEY(工号)REFERENCES员工表(工号)

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

Altertable工资表addconstraintfk_gnoforeignkey(工号)references员工表(工号);

Altertable员工表addconstraintfk_bhforeignkey(部门编号)references部门表(部门编号);

4)惟一约束

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

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

对于员工表,员工的工号用于识别员工身份,所以建立唯一约束

3.安全性设计:

设置三类用户:

员工,部门经理,数据库管理员

员工:

只可以查询本人的基本信息及各个月的工资情况

部门经理:

可以查询员工的基本信息及对本部门员工工资的管理

数据库管理员:

对数据库进行管理包括对数据的查询、修改、删除等操作

Grantselect,updateon工资表to部门经理;

Grantselecton部门表to部门经理;

4.触发器

为工资表创建一个基于UPDATE操作的触发器,当修改了该表中的发薪方式时,触发器被激活生效,显示相关的操作信息。

显示工号,改变前和改变后的发薪方式。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1