华北科技学院计算机系综合性实验
实 验 报 告
课程名称 数据库系统概论 实验学期 2010 至 2011 学年 第 二 学期
学生所在系部 计算机系
年级 09级 专业班级 网络B093
学生姓名 洪然 学号 ************ 任课教师 郭红 实验成绩
计算机系制
华北科技学院计算机系综合性实验报告
实验报告须知
1、 学生上交实验报告时,必须为打印稿(A4纸)。页面空间不够,可以顺延。 2、 学生应该填写的内容包括:封面相关栏目、实验地点、时间、目的、设备环境、
内容、结果及分析等。
3、 教师应该填写的内容包括:实验成绩、教师评价等。
4、 教师根据本课程的《综合性实验指导单》中实验内容的要求,评定学生的综合
性实验成绩;要求在该课程期末考试前将实验报告交给任课教师。综合性实验中,所涉及的程序,文档等在交实验报告前,拷贝给任课教师。任课教师统一刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。 5、 未尽事宜,请参考该课程的实验大纲和教学大纲。
8
华北科技学院计算机系综合性实验报告
《数据库系统概论》课程综合性实验报告
开课实验室:基础六 2011 年 5 月 31日 实验题目 工资管理系统 一、实验目的 利用一种DBMS作为设计平台,理解并应用课程中关于数据库设计的相关理论,能按照数据库设计步骤完成完整的数据库设计,包括需求分析、概念设计、逻辑设计、物理设计和实施。同时能够正确应用各个阶段的典型工具进行表示。 二、设备与环境 (1) 硬件设备:PC机一台 (2) 软件环境:安装Windows操作系统,安装数据库管理系统SQL Server2008。 三、实验内容 (一)需求分析 1.数据录入功能 对员工信息和工资信息进行日常的管理。例如,员工基本信息数据的输入、修改、增加、删除。工资信息的输入、查询、修改、增加、删除,迅速准确地完成工资信息的统计计算和汇总,快速打印出来报表。 2.数据的查询功能 1)员工基本信息:工号、姓名、性别、年龄、身份证号、部门编号、工资级别等 2)部门管理:部门编号、部门名称、上级部门编号、基本工资、部门人数 3)工资管理:工号、日期、基本工资、加班天数、加班工资、缺勤天数、事病假扣款、应发工资、实发工资等 3.数据统计功能 统计每个员工月工资情况 (二)概念分析 部门实体E-R图 上级部门名部门名称 部门人数 基本工资 部门编号 部门
8
华北科技学院计算机系综合性实验报告
员工实体E-R图 身份证号 部门编号 基本工资 员工 年龄 工号 姓名 性别 工资表实体E-R图 事病假扣款 基本工资 实发工资 日期 工资表 应发工资 工号 加班工资 缺勤天数 加班天数
8
华北科技学院计算机系综合性实验报告
实体与实体之间的E-R图 部门 属于 员工 计算工资 员工工资 (三)逻辑设计 将数据库的概念模型转化为关系模型 员工:工号、姓名、性别、年龄、身份证号、部门编号、基本工资 部门表:部门编号、部门名称、上级部门编号、基本工资、部门人数 工资表:工号、日期、基本工资、缺勤天数、事病假扣款、加班天数、加班工资、应发工资、 实发工资 员工信息表 数据类型 含义说明 空值情况 VARCHAR(50) 工号 主键 VARCHAR(50) 姓名 不为空 Char(2) 性别 不为空 Varchar(50) 身份证号 不为空 CHAR(50) 部门编号 不为空 decimal(9) 基本工资 不为空
8
华北科技学院计算机系综合性实验报告
部门表 数据类型 Char(50) Varchar(50) Char(6) decimal(9) decimal(9) 工资表 数据类型 varchar(50) varchar(50) 含义说明 部门编号 部门名称 上级部门编号 基本工资 部门人数 含义说明 员号 日期 基本工资 缺勤天数 事病假扣款 空值情况 主键 不为空 不为空 不为空 空值情况 主键不为空 不为空 不为空 不为空 不为空 不为空 不为空 不为空 不为空 decimal(9) decimal(9) decimal(9) decimal(9) decimal(9) decimal(9) decimal(9) 加班天数 加班工资 应发工资 实发工资 建立一个视图,反映员工姓名及工资情况。 CREATE VIEW 员工_工资 AS SELECT 员工.姓名, 工资.* FROM 员工,工资 WHERE 员工.工号=工资.工号
8
华北科技学院计算机系综合性实验报告
(四)物理设计 系统已经有的索引有:对每个表的主键系统建立了索引 可以设计的索引有: 为提高检索性能,为表创建符合索引,其索引项为工号、姓名。 (五)实施 1.登录控制: 创建三个登录名:u1,u2,u3以及三个用户名:员工,部门经理 ,数据库管理员 ,并对员工赋予员工表,部门表,工资表的查询权,对部门经理赋予员工表,部门表,工资表的查询权和对工资表的修改权,对数据库管理员赋予所有权利
8
华北科技学院计算机系综合性实验报告
2.数据完整性: 1) 给每个表实施主键约束、非空值约束 员工:工号为主键,所以此项非空 部门:部门编号为主键,所以此项非空 工资表:工号为主键,所以此项非空 8
华北科技学院计算机系综合性实验报告
2)实施CHECK约束 员工表中建立检查约束,
8
华北科技学院计算机系综合性实验报告
即员工性别不是‘男’就是‘女’,CHECK(性别 IN('男','女') 姓名不能取空值,年龄小于100,CHECK(年龄<100). 工资表中建立一个对于出勤天数的检查约束,即出勤天数在0-30天之间, check (出勤天数 >=0 and 出勤天数<=30) 3)外键约束 员工信息表中,工号、部门编号为外键。 FOREIGN KEY(工号) REFERENCES 工资(工号) FOREIGN KEY(部门编号) REFERENCES 部门(编号) 通过此键建立3个表的联系 4)惟一约束 每个表的主键需定义为惟一性: 对于工资表,因为工号是主键,联系着员工表,所以建立唯一性 对于员工表,员工的工号、身份证号都是用于识别员工身份,所以建立唯一约束 8
华北科技学院计算机系综合性实验报告
5) 强制约束 对INSERT和UPDATE操作强制约束,表明以后对员工表中的工号、部门编号的添加和更新操作都会分别检查在工资表、部门表中是否存在与此相应的内容。 3. 安全性设计: 设置三类用户:员工,部门经理,数据库管理员 员工:只可以查询本人的基本信息及各个月的工资情况 部门经理:可以查询员工的基本信息及对本部门员工工资的管理 数据库管理员:对数据库进行管理包括对数据的查询、修改、删除等操作 4. 触发器
8
华北科技学院计算机系综合性实验报告
1)在工资表里添加一条新的记录,实发工资会自动更新新的数据。定义这个触发器名称为insert_工资。 代码如下: create trigger insert_工资 on 工资 for insert as declare @i char(20) declare @bb int set @i=case when @bb=0001 then '实发工资' when @bb=0002 then '实发工资' end
8
华北科技学院计算机系综合性实验报告
2)员工新调入 进行员工新调入,操作是在员工信息表中添加一条新的记录,可以为员工信息表设计一个Insert触发器,当员工信息表执行Insert操作后自动更改出部门表相应记录的数据。定义这个触发器名称为staff_insert。 其代码如下: CREATE TRIGGER staff_insert ON 员工 FOR INSERT AS IF (SELECT COUNT(*) FROM 部门,inserted,工资 WHERE 部门.部门编号=inserted.部门编号 AND 工资.工号=inserted.工号)=0 ROLLBACK TRANSACTION 103部门人数由2自动变为3 3)员工调出 进行员工调出,操作是在员工信息表中删除该员工的记录,可以为员工信息表设计一个Delete触发器,当员工信息表执行Delete操作后,工资表、部门表中的记录也将全部删除。定义这个触发器名称为staff_delete。 其实现代码如下: CREATE TRIGGER staff_delete ON 员工 FOR DELETE AS SELECT COUNT(*) FROM 部门,工资,deleted WHERE 部门.部门人数=deleted.部门人数 AND 工资.工号=deleted.工号 工资表中001的记录被全部删除 8
华北科技学院计算机系综合性实验报告
4)禁止删除某些员工,建立触发器 8
华北科技学院计算机系综合性实验报告
四、实验结果及分析 经过一周的时间,在同学和老师的帮助下,基本完成本次课程设计,基本达到了工资管理系统的要求。 本实验用到了索引及触发器,使系统更加的方便和人性化。该系统能够完成工资管理事务的信息添加与查询,基本形成了一个完整的系统。但是由于设计时间较短,加之对于企业工资管理理论及实际应用的研究不够深入,所以该系统还有许多不尽如人意的地方。例如,该系统不能完全解决数据的一致性、系统维护功能不够完善、缺少联机文档、出错处理不够等多方面的问题,这些都有待进一步改善。 这次数据库大作业给我的最大的印象是:流程是一切的根本;架构是重要的,比想像的还要重要;实践比一切空谈和理论更能学到东西。从做这个数据库开始无论遇到什么困难,我都没有一丝的放弃的念头。在设计过程中一定要慎重,仔细,来不得半点马虎。需求分析是整个课程设计的中心,考虑要全面,分析彻底。才会为后来的设计打下良好的基础。否则,前功尽弃,甚至不能完成任务。 最后,再次感谢老师的耐心指导和同学的帮助,没有你们的无私教导和帮助,就没有今天的工资管理系统的实现,衷心感谢你们! 价评师教评定项目 A B C 8
D 评定项目 A B C D
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo2.com 版权所有 湘ICP备2023021991号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务