《数据库实验报告(工资管理).pdf》由会员分享,可在线阅读,更多相关《数据库实验报告(工资管理).pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课程设计报告课程设计报告(20142015 年度第 2 学期)名称:数据库原理课程设计题目:工资管理信息系统院系:计算机系班级:学号:学生姓名:指导教师:设计周数:1成绩:日期:2015 年 7 月 10 日数据库原理课程设计课程设计数据库原理课程设计课程设计任任务务书书一、目的与要求目的与要求1.本实验是为计算机系学生在学习数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节.通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力.为后继课程和毕业设计打下良好基础。2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力.3.通过对一个数据库系统的设计,培养
2、学生对数据库需求分析、数据库方案设计、系统编码、界面设计和软件调试等各方面的能力。是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验.二、二、主要内容主要内容针对一个具有实际应用场景的中小型系统(见题目附录)进行数据库设计,重点分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。大致分为如下步骤:1。理解系统的数据库需求,分析实体及实体间联系,画出ER 图:1 分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的定义。2 设计实体之间的联系,包括联系类型和联系的属性。最后画出完整的E-R 图。2根据设计好的 E
3、R 图及关系数据库理论知识设计数据库模式:1)把 E-R 图转换为逻辑模式;2)规范化设计.使用关系范式理论证明所设计的关系至少属于3NF 并写出证明过程;如果不属于 3NF 则进行模式分解,直到该关系满足3NF 为止,要求写出分解过程。3)设计关系模式间的参照完整性,要求实现级联删除和级联更新。4)用 SQL 语言完成数据库内模式的设计.3数据库权限的设计:1)根据系统分析,完成授权操作;2)了解学习收回权限的操作。4完成用户界面的设计,对重要数据进行加密.5连接数据库,用宿主语言实现系统所需的各种操作:1)实现数据记录的录入、删除、查询和修改。2)以视图的形式完成复杂查询,比如多表、多条件
4、等。三、三、进度计划进度计划序号序号设计设计(实验)内容实验)内容完成时间完成时间备注备注12345根据任务书完成信息模型(概念模型、逻辑模型、完整性、规范化)的设计,并基于选用的DBMS 实现该信息模型,然后录入初始数据根据任务书完成各种数据定义和数据操作,并保留所有 SQL 语句。数据库权限设计,用户界面设计用可视化开发工具环境开发学生选定的信息系统(C/S 或者 B/S 模式)系统的完善与验收周一周二周三周四周五四、四、设计(实验)成果要求设计(实验)成果要求1 在 DBMS(如 oracle,SQL Server 2005/2008,DB2等)上完成完整的数据库的设计;2 使用可视化开
5、发平台完成信息系统,要求可以正确运行;3 完成实验报告。五、五、考核方式考核方式1 在微机上检查数据库模式的设计、三大完整性的设计、关系属于几范式等;2 在微机上检查系统的运行结果,要求学生阐述使用的相关技术;3 实验报告的检查。六、六、题目附录题目附录1 学生信息管理信息系统2 图书管理信息系统3 物资管理信息系统4 汽车销售管理信息系统5 超市管理信息系统6 通讯录管理信息系统7 工资管理信息系统8 酒店管理信息系统9 小区物业管理信息系统学生姓名:任清清指导教师:2015 年 7 月 10 日一、课程设计的目的与要求一、课程设计的目的与要求1 本实验是为计算机科学与技术等专业的学生在学习
6、数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节.通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。为后继课程和毕业设计打下良好基础。2 通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。3 通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界面设计和软件调试等各方面的能力。是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验.二、设计正文二、设计正文1 1 E ER R 图设计图设计11分析确定实体的属性和码,定义该实体的实体完整性、用户自定义完整性描述 员工号 姓名 出生日期职
7、员表 手机号码 工龄 部门号 备注 部门名部门表 部门号 电话修改部门表信息查询部门表信息添加部门表信息删除部门表信息 员工号 基本工资工资表 津贴 三金扣款 应发工资 实发工资 登录名管理员 密码增删改查三个表的信息查询所有表的信息按姓名,员工号,部门号删除表一般用户 登录名按员工号查询工资表信息修改工资表信息查询工资表信息添加工资表信息删除工资表信息属性事件修改职员表信息查询职员表信息添加职员表信息删除职员表信息密码12设计实体之间的联系,包括联系类型和联系的属性一个职员对应一个工资记录,一个工资记录对应一个职员.一个部门有多个职员,一个职员制属于一个部门。通过设置管理员和一般用户不同权限
8、使管理员对职员表、工资表、部门表信息具有增删改查的权限,一般用户可以查询工资情况。13工龄出生日期员工号性别姓名1查询实发工资工资管理信息系统n职员nn属于1部门电话应发工资n部门名工资三金扣款部门号n津贴管理管理管理基本工资11完整 ER 图登录名管理员1密码手机号码部门号1。4 系统结构图管理员信息管理模块登陆模块一般用户信息管理模块根据员工号查工资增增管一增2 数据库模式设计删删理般删2。1 把 E-R 图转换为逻辑模式改改员用改查职员(员工号,姓名,性别)查,手机号码,工龄,部门号,备注登户查,出生日期职工录登部管理员(管理员名,管理员密码)员资录门工资(员工号,基本工资,津贴,三金扣
9、款,应发工资,实发工资)表表表信,部门名,电话)部门(部门号(说明:以上关系中,下划线部分为对应关系的主码,加黑部分为外码,且所有属性均非空)2.2 规范化设计关系名关系名工资关系依赖关系依赖关系证明证明员工号基本工资不存在传递函数依赖,也不存在不完全函基本工资,津贴-应发工资数依赖,属于 3NF。基本工资,津贴,三金扣款实发工资部门号部门名部门号-电话管理员名 管理员密码从关系的函数依赖集可以看出,关系中不存在传递函数依赖,也不存在不完全函数依赖,因此属于 3NF。从以上函数依赖集可以看出,该关系不含传递函数依赖,也不含不完全函数依赖,属于3NF。部门关系管理员关系职员关系职工号-性别,姓名
10、从以上函数依赖集可以看出,该关系不含职工号出生日期,工龄传递函数依赖,也不含不完全函数依赖,属于职工号手机号码,备注3NF。职工号部门号2。3 设计关系模式间的参照完整性2。4 用 SQL 语言完成数据库内模式的设计(1)职员表CREATETABLE职员表(员工号 char(3)primarykey,姓名char(8)notnull,性别char(2)notnull,出生日期 smalldatetime(4),手机号码char(11),工龄 tinyint(1),部门号 char(2),备注 text(16),foreignkey(部门号)references部门表(部门号));(2)部门表C
11、REATETABLE部门表(部门号 char(2)primarykey,部门名 char(10)notnull,电话char(4),);(3)工资表CREATETABLE工资表(员工号char(3)primarykey,基本工资decimal(7,2),津贴decimal(5,2),三金扣款decimal(6,2),应发工资decimal(7,2),实发工资decimal(7,2),foreignkey(员工号)references职员表(员工号);2.5 建表结果(1)职员表表(2)部门表(3)工资表3.3.数据库权限设计数据库权限设计管理员一般用户4.4.用户界面设计用户界面设计4。1 登
12、录主界面4.2 管理员主界面4.3 管理员操作界面(1)查询(2)添加(3)修改(4)删除4.4一般用户操作界面(1)登录privatevoid登陆_Click(object sender,EventArgs e)if(textBox1。Text。Trim()=qq&textBox2。Text.Trim()=123456)/作为管理员登录MessageBox。Show(”用户权限为管理员权限,”提示”);this.Hide();Form1 form1=newForm1();form1.Show();elseif(textBox1.Text。Trim()=”ls textBox2。Text。Tr
13、im()=567890”)/作为一般用户登录创建查找修改删除MessageBox.Show(用户登录权限为一般用户”,”提示);this.Hide();用户查询窗口用户查询=new用户查询窗口();用户查询.Show();elseMessageBox.Show(”用户或密码错误);(2)管理员添加以添加部门表的实现为例,涉及数据库的连接以及添加的SQL 语句代码如下:(3)管理员删除三、课程设计总结或结论三、课程设计总结或结论通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,对数据库设计理念及思想上有更高的
14、认识,从需求分析,到概念设计和逻辑设计,E-R 图的表示,数据表的创建,学会了不少有关数据库开发过程中的知识。同时增强了自己在数据库中应用 SQL 语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,约束项的设置,使逻辑更严密.在实验过程中,遇到的问题很多,比如插入操作在前台页面获取的值为空,数据库拒绝了此插入操作,我的解决方法是将所有表的所有属性都改成了不能为空,避免了数据在页面和数据库之前传输操作时的错误。在整个过程中,我上网和从书中查了不少资料,学以致用,自我创新,从学到用,从用又到学,不断修改,完善系统.虽然不能达到老师要求那样的约束完善的工资管理系统。但在这短短的一
15、周,也实现了较为完善的基本功能,体会到加强理论学习对完善系统会有很多帮助.另外,在发现问题、分析问题和解决问题的过程中,学到了很多东西,对这次做的课程设计自己觉得比较满意.四、参考文献四、参考文献1 王珊,萨师煊。数据库系统概论第五版高等教育出版社。2 宋雨。软件工程清华大学出版社3 软件开发技术联盟 Java 开发实战清华大学出版社3 袁和金数据结构第二版中国电力出版社五、附录五、附录(设计流程图、程序、表格、数据等设计流程图、程序、表格、数据等)5.1数据库表格及数据(1)职员表(2)部门表(3)工资表以删除的实现为例,涉及SQL 语句的 C代码如下:(4)管理员查询(5)管理员修改以修改职员表的实现为例,涉及SQL 语句的 C#代码如下:(6)一般用户查询依照职工号进行工资查询,代码如下