数据库综合实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

专业:嵌入式系统年级: 12级

课程:数据库系统概论实验题目:数据库设计综合应用

实验目的与任务:

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

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

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

实验基本要求:

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

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

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

课程设计题目:工资管理系统。

设计任务与要求:

为工资管理部门建立一个数据库来管理员工的工资。计算员工的工资,考虑不在休假日期以内的假期、工作期间的病假时间、奖金和扣除的部分。指明给每个员工发薪水的方式。大多数的员工是通过银行卡来结算工资的,但是也有一部分人使用现金或支票。如

果是通过银行卡,就需要知道账号和卡的类型。付款方式只可能是一种方式。有几种原因可以扣除工资:例如,个人所得税、国家税、医疗保险、退休保险或者预付款。

设备与环境:

(1) 硬件设备:PC机一台。

(2) 软件环境:安装Windows操作系统,安装数据库管理系统SQL Server2005。

实验内容及步骤:

(一)需求分析

1.数据录入功能

对员工信息和工资信息进行日常的管理。例如,员工基本信息数据的输入、修改、增加、删除。工资信息的输入、查询、修改、增加、删除,迅速准确地完成工资信息的统计计算和汇总。

2.数据的查询功能

1)员工基本信息:工号、姓名、性别、年龄、部门编号、基本工资。

2)部门管理:部门编号、部门名称、基本工资、部门人数。

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

3.数据统计功能

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

(二)概念分析部门实体E-R图

(三)逻辑设计

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

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

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

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

员工表

部门表

工资表

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

AS

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

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

系统已经有的索引有:对每个表的主键系统建立了索引

可以设计的索引有: 为提高检索性能,为表创建符合索引,其索引项为工号、姓名。

(五)实施

1.登录控制:

创建三个登录名:u1,u2,u3以及三个用户名:员工,部门经理 ,数据库管理员 ,并对员工赋予员工表,部门表,工资表的查询权,对部门经理赋予员工表,部门表,工资表的查询权和对工资表的修改权,对数据库管理员赋予所有权利

2.数据完整性:

1)给每个表实施主键约束、非空值约束员工表:工号为主键,此项非空,

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

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

2)实施CHECK约束

员工表中建立检查约束,

即员工性别不是‘男’就是‘女’,CHECK(性别 IN('男','女'),年龄均小于100,CHECK(年龄<100)。alter table 员工表 add constraint sex check(性别 in(‘男’,‘女’));

alter table 员工表 add constraint age check(年龄<100);

3)外键约束

员工表中,部门编号为外键。FOREIGN KEY(部门编号) REFERENCES 部门表(部门编号)

工资表中,员工号为外键。FOREIGN KEY(工号) REFERENCES 员工表(工号)

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

Alter table 工资表 add constraint fk_gno foreign key(工号)references 员工表(工号);

Alter table 员工表 add constraint fk_bh foreign key(部门编号)references 部门表(部门编号);

4)惟一约束

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

对于工资表,因为工号是主键,联系着员工表,所以建立唯一性对于员工表,员工的工号用于识别员工身份,所以建立唯一约束

设置三类用户:员工,部门经理,数据库管理员

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

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

数据库管理员:对数据库进行管理包括对数据的查询、修改、删除等操作Grant select,update on 工资表 to 部门经理;

Grant select on 部门表 to 部门经理;

4. 触发器

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

相关文档
最新文档