数据库课程论文
数据库原理及运用论文

数据库原理及运用论文引言数据库是存储和管理数据的关键工具。
随着信息技术的快速发展,数据库的重要性也日益增加。
本篇论文将介绍数据库的原理以及它在实际应用中的运用。
数据库原理1. 数据库的定义和特点数据库是指长期存储在计算机内、有组织、可共享的大量数据的集合。
数据库的特点包括持久性、有组织性、共享性、可并发和可恢复性。
2. 数据模型数据库的数据模型决定了数据的结构、组织方式和操作规则。
常见的数据模型包括层次模型、网状模型、关系模型和面向对象模型等。
其中,关系模型是应用最广泛的数据模型,它使用二维表格来表示数据之间的关系。
3. 数据库管理系统数据库管理系统(DBMS)是指用于管理和操作数据库的软件系统。
DBMS提供了数据定义语言(DDL)和数据操作语言(DML)等接口,方便用户对数据库进行创建、修改、查询和删除等操作。
4. 数据库设计和规范化数据库设计是指根据实际需求将数据组织成合适的结构,并定义数据之间的关系。
规范化是数据库设计的重要步骤,它通过分解表格和消除冗余数据来提高数据库的性能和可靠性。
5. 数据库索引和查询优化数据库索引是一种数据结构,用于快速定位和访问数据库中的数据。
索引的设计和使用对数据库的性能有着重要影响。
查询优化是指通过选择合适的查询计划和优化算法来提高查询效率。
数据库运用1. 企业级应用数据库在企业级应用中扮演着重要的角色。
例如,企业可以使用数据库来存储和管理员工信息、销售数据、客户关系和供应链等信息。
数据库可以帮助企业实现数据的一致性、完整性和安全性。
2. 互联网应用随着互联网的快速发展,数据库在互联网应用中的运用也越发重要。
互联网应用中的数据库往往需要处理大量的用户数据,如社交媒体的用户信息、电子商务的订单数据等。
数据库的性能和扩展性对于互联网应用至关重要。
3. 科学研究数据库在科学研究领域也有广泛的运用。
例如,天文学家使用数据库来存储和查询天体观测数据,生物学家使用数据库来存储和分析基因组数据。
计算机数据库论文15篇(计算机数据库信息管理研究)

计算机数据库论文15篇计算机数据库信息管理研究计算机数据库论文摘要:随着现代信息化社会的加速发展,数据库作为网络时代的产物,它为网络平台中的每个用户服务,同时也是计算机信息管理的重要部分,在这个时代被很多人关注和使用。
而我国对计算机的数据库技术利用不够成熟,在使用中出现的很多问题急需解决,所以不断的改善数据库信息管理对策,才能保证该技术的进一步发展,从而促进信息管理的更加规范化和科学化。
关键词计算机数据库计算机论文计算机计算机数据库论文:计算机数据库信息管理研究摘要:在信息管理中,提高计算机数据库系统的运动技术,有利于提高计算机数据库系统在实际信息管理工作中的效率,计算机数据系统的科学性及现代化能够得到充分的发挥作用。
本文从计算机数据系统的应用特征出发,分析了目前我国信息管理中计算机数据库系统的运用现状,希望对未来信息管理中的计算机数据库系统的进一步开发具有一定的帮助。
关键词:信息管理;计算机数据库;技术一、信息管理中计算机数据库系统的概述计算机数据库是指存储在计算机内,为了达到一定目的而组织起来的数据的集合。
在信息管理中,如何高效的将计算机数据库系统中的数据进行处理,并获得内在的信息,成为数据库技术一直以来不断攻克的难题,而数据库技术又是现代计算机系统的主要组成部分。
信息管理下的计算机数据系统主要经历了三个阶段,第一个是人工管理的初始阶段,主要在当时计算机的软硬件的条件均不成熟,计算机中没有可以支持数据管理的软件,为此,程序员需要在程序中规定数据的逻辑结构及设计一系类的物理结构,当数据的组织或者设备发生改变时,程序员需要重新编制,而不同的应用之间也存在大量的重复和不可共享的数据,对于维护应用程序之间的数据的一致性的可能性不大,为此,当时对数据进行的是批处理方式。
第二是文件系统阶段,这一阶段的状态主要指在外存储器上,用户的程序与数据可分别存放,应用程序之间可以共享一组数据,实现了以文件作为单位的共享。
计算机数据库论文3篇

计算机数据库论文篇一:数据库的概述和应用随着计算机科学的迅猛发展,数据库作为一种特殊的软件工具应运而生,被广泛应用于各个领域。
数据库是一个数据组织和存储的系统,能够从大量的数据中高效地检索所需信息。
合理地应用数据库技术能够有效提升企业、组织管理的效率和质量,缩短数据处理的时间和减轻人力支出的压力。
数据库有诸多不同的类型,如关系型数据库、文本数据库、层次结构数据库、网络数据库等等。
其中关系型数据库是应用最广泛的一种数据库。
它是由若干张关系表组成,每张表是一个二维表格,由行和列组成。
每一行数据都有一个唯一的标识符,称为主键。
表与表之间通过外键实现联系,外键在一个表中引用另一个表的主键。
关系型数据库具有数据结构清晰、数据冗余较小、数据独立性高、应用广泛等特点,被广泛应用于各个领域。
数据库应用的领域广泛,如金融、贸易、医疗、教育、网站等。
在金融领域,数据库应用于数据管理、交易记录、客户管理等方面。
在贸易领域,数据库应用于库存管理、业务流程、订单追踪等方面。
在医疗领域,数据库应用于病人信息管理、医学研究、医疗保险等方面。
在教育领域,数据库应用于学生信息管理、教学计划、成绩管理等方面。
在网站方面,数据库应用于网站内容管理、用户数据管理、访问量统计等方面。
总之,数据库在现代社会的各个领域就像一位默默无闻的守护者,在为我们提供便利与帮助,提高了我们办公效率的同时,也在默默记录着生活点滴。
因此,在我们对其广泛应用的同时,要注重数据的保护和规范,提高数据管理的精度和规范性。
篇二:数据库的设计与实现数据库的设计和实现对于一个系统的稳定性和可维护性至关重要。
在设计和实施数据库时,需要从以下方面考虑:首先,需要对数据库的结构、领域和使用环境进行分析和规划。
在分析的过程中,需要确定表的数量、表之间的关系和数据元素的种类与数目。
在规划的过程中,需要确定数据库的命名和物理存储区域的位置。
其次,需要对数据进行建模和设计。
设计数据时,应该根据数据之间的联系来设计表的关系。
数据库论文——精选推荐

数据库摘要数据库(DataBase,DB)是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。
它是一个按数据结构来存储和管理数据的计算机软件系统。
严格地说,它是“按照数据结构来组织、存储和管理数据的仓库”。
在经济管理的日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理。
J.Martin给数据库下了一个比较完整的定义:数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。
当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合”。
关键词:数据库,发展史,发展阶段,基本属性,常用数据库,未来发展引言:数据库发展史数据库技术从诞生到现在,在不到半个世纪的时间里,形成了坚实的理论基础、成熟的商业产品和广泛的应用领域,吸引越来越多的研究者加入。
数据库的诞生和发展给计算机信息管理带来了一场巨大的革命。
三十多年来,国内外已经开发建设了成千上万个数据库,它已成为企业、部门乃至个人日常工作、生产和生活的基础设施。
同时,随着应用的扩展与深入,数据库的数量和规模越来越大,数据库的研究领域也已经大大地拓广和深化了。
30年间数据库领域获得了三次计算机图灵奖(C.W. Bachman,E.F.Codd, J.Gray),更加充分地说明了数据库是一个充满活力和创新精神的领域。
“数据库”一词源于英文“Database”,直译为资料仓库,所以数据库实际上就是一个由大量资料所组成的集合。
但是这些资料不是杂乱无章的堆积在一起,而是按照一定的规律和规则存储在计算机中。
数据库的优点是很明显的, 它具有结构化的存储方式, 最小的空间冗余,而且在数据库中处理事务的程序与被处理的事务资料是分开存储的,这种独立性能够更好的保持资料的完整性和程序的可扩展性。
高职多媒体数据库课程教学创新论文

谈高职多媒体数据库课程教学创新摘要创新是人类生存和发展的基石。
培养具有创新能力的创新型人才,已成为当今乃至今后教育教学发展的人才目标。
对多媒体数据库专业的学生。
如何加强创新能力的培养,使之成为符合社会需要的创新型人才,这是一个亟待研讨的问题。
本文针对此问题.从两个方面理论联系实际.阐述了在多媒体数据库教学中加强和培养学生创新能力的方法,为全面发展创新教育提供了新的思路。
关键词多媒体数据库课堂高职学生创新能力培养途径创新是人类社会进步和发展的永恒主题。
随着社会对大学生求职者综合素质要求的不断提高,高校如何培养符合社会需要的大学生,如何真正做到“零距离”上岗,这是一个需要高等教育工作者不断思考的问题。
而关注大学生创新能力的培养是解决这一问题的关键所在。
特别对于高职院校的大学生.在求职中要在众多的本科生中脱颖而出.就需要具备与时俱进的思维观念和扎实过硬的操作能力,而这些观念和能力的培养。
就要求我们不仅要关注创新.而且要真正做到创新。
在此我提出以下几条培养途径,供大家参考。
一、构建合理的多媒体数据库课程体系。
培养符合市场需求的创新型人才一套合理的、紧跟时代的教学体系是保证学生就业率的前提条件。
培养大学生创新精神和创新能力的关键,也在于建立一套合理的课程体系,优化课程设置和课程结构,课程开设要紧密跟上时代的步伐与行业的需求,力求保持在现代科技发展前沿。
然而,目前多数院校所开设的课程、使用的教材都比较陈旧.完全跟不上高速发展的it行业,甚至有些课程所使用的工具还是十年前的产品。
如此学生真可谓是“还未上岗就已下岗”。
那么,如何构建一个合理的多媒体数据库课程体系呢?(一)找准培养目标的定位,构建合理的多媒体数据库专业课程群高职院校不同于本科院校,在办学理念上要追求自己的特色,以特色求质量,以质量求发展。
因此,要培养什么样的学生.首先要抓住院校办学的定位。
江西旅游商贸职业学院是一所以培养全方位复合型人才的特色高职院校.其办学定位是为旅游、商贸行业培养符合条件的人才。
《数据库原理与应用》课程设计论文-教室管理系统数据库设计

目录1 引言 (1)1.1 本课题的研究意义 (1)1.2 本论文的目标和任务 (1)2 数据库设计 (1)2.1 需求设计 (1)2.1.1引言 (1)2.1.2 目标与任务 (2)2.1.3阶段结果 (3)2.14 数据结构 (9)2.1.5 处理逻辑描述 (10)2.2 概念设计 (11)2.2.1 引言 (11)2.2.2 概念模型设计 (11)2.2.3实体的属性、联系的属性 (11)2.3 逻辑设计 (12)2.3.1 引言 (12)2.3.2 数据组织 (13)2.3.3数据处理 (16)2.4 物理设计 (16)2.4.1 引言 (16)2.4.2目标与任务 (16)2.5 数据库实施 (17)2.5.1 建立基本表 (17)2.5.2 建立视图 (22)2.5.3 查询与更新 (25)2.5.4建立触发器 (36)3 数据库调试与试运行 (36)3.1查询 (36)3.2 更新 (38)4 收获与体会 (41)5 存在的问题与建议 (42)5.1存在的问题 (42)5.2建议 (42)附录 (42)附录1业务流程图 (42)附录2数据流程图 (45)附录3 E-R图 (48)1 引言1.1 本课题的研究意义本课题的研究对于大学的教室管理有较大的好处,大学里教室数量较多,上课和学生自习的流动性强,这就为教室的管理带来一些困难,传统的教室管理方式耗人力较多,随着时代的发展,它就显得跟不上时代的步伐,为了能够更加有效的,耗人力少的管理教室,也为了能够适应时代的发展,很有必要利用计算机,运用数据库来开发一个教室管理系统。
1.2 本论文的目标和任务本次教室管理系统数据库开发的目的是2 数据库设计2.1 需求设计2.1.1引言在大学里,教室仍然是教学的主要场所,也是学生学习的重要场所,所以教室环境和设备直接影响到教学活动的开展和学生的学习。
为了保证教室环境良好的运转,教室的管理也就显得十分的必要和重要。
毕业论文-数据库

毕业论文-数据库数据库的重要性在当今信息化时代愈发凸显,它在各个领域都扮演着核心角色。
本篇毕业论文将从数据库的定义、类型、优缺点和应用领域等方面进行探讨,旨在全面了解数据库的本质及其在现实生活中的广泛应用。
一、数据库的定义和类型数据库是指按照特定数据模型组织、存储和管理数据的集合。
它通过使用结构化的表格形式来存储数据,并通过关系运算进行数据查询和处理。
根据数据管理系统的不同,数据库可以分为关系型数据库、面向对象数据库、层次型数据库和网络型数据库等多种类型。
其中,关系型数据库是最常见的一种类型,它将数据组织成具有各种关系的二维表格,并使用SQL语言进行数据操作。
二、数据库的优点和缺点数据库作为信息管理的重要工具,具有诸多优点。
首先,数据库可以提高数据访问的效率和准确性,使得大规模数据的管理变得更加简单。
其次,数据库具有较高的数据共享性,可以实现多用户对数据的同时访问和共享。
此外,数据库还具备良好的数据一致性和数据安全性,能够有效防止数据冗余和数据丢失的问题。
然而,数据库也存在一些缺点。
首先,数据库的建立和维护需要付出大量的时间和人力成本。
其次,数据库规模的扩大会导致查询和处理速度的下降,对硬件设施要求较高。
此外,数据库的安全性也是一个需要特别关注的问题,一旦数据库被黑客攻击,可能导致重大的信息泄漏风险。
三、数据库在各领域中的应用数据库在各个领域都得到广泛应用。
在企业管理中,数据库被用于存储企业的日常业务数据,并通过查询和分析这些数据来为企业决策提供支持。
在教育行业中,数据库被应用于学生档案管理、教学资源管理等方面。
在医疗领域,数据库被用于病历管理、医疗数据分析等。
此外,数据库还在金融、电商、物流等各个领域发挥着重要作用。
四、数据库未来的发展趋势随着云计算和大数据技术的快速发展,数据库也呈现出新的发展趋势。
首先,数据库开始向云端迁移,云数据库能够有效地提供数据存储和计算服务。
其次,数据库正朝着大规模、高性能和高可靠性的方向发展,以应对日益增长的数据需求。
数据库 论文

数据库论文数据库是指用于存储和组织数据的软件系统。
在当今信息化社会中,数据的管理和处理是至关重要的,数据库的应用范围也非常广泛。
本论文主要介绍数据库的概念、特点以及其在实际应用中的重要性。
首先,数据库是一种可以存储大量数据的技术和工具。
它通过结构化的方式将数据组织起来,使得数据可以便捷地存储、查询和更新。
与传统的文件系统相比,数据库具有更高效的数据访问性能,可以提供更多的数据操作和管理功能。
其次,数据库具有以下几个主要特点。
首先是数据的持久性,即数据在数据库中保存的时间非常长久,不会因为计算机的关机或断电而丢失。
其次是数据的共享性,多个用户可以在同一个数据库中同时进行数据的访问和操作,提高了数据的利用率。
此外,数据库还支持数据的冗余性控制,通过数据的规范化可以避免数据冗余和数据不一致的问题。
最后,数据库还具有数据的安全性,可以通过用户权限管理、数据加密等手段来保证数据的安全性。
数据库在实际应用中起着重要的作用。
首先,数据库可以帮助组织和管理大量的数据,使得数据的存储和访问更加高效和便捷。
例如,在企业管理中,可以使用数据库来存储各种业务数据,包括客户信息、销售数据、库存信息等,从而提高业务的管理效率。
其次,数据库可以支持复杂的查询和分析操作,能够根据用户的需求提供各种不同的数据报表和分析结果。
最后,数据库还可以支持数据的备份和恢复功能,保证数据的可靠性和安全性。
综上所述,数据库是一种用于存储和组织数据的重要工具,它具有数据的持久性、共享性、冗余性控制和安全性等特点。
在实际应用中,数据库可以帮助组织和管理大量的数据,提供高效的数据访问和操作功能,支持复杂的查询和分析操作,保证数据的可靠性和安全性。
因此,数据库在信息化社会中的应用前景非常广阔。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息工程学院《数据库课程设计》论文题目:人事管理系统数据库设计以上三行均居中,其中:第一行为黑体小初号第二行为黑体二号第二行“题目:”为黑体二号,自己题目为楷体二号下划线页面为A4纸,四周边距均为2.5cm,正文小四号宋体,文档网格为40*40,文中表格标题为黑体5号居中,表格内容为5号宋体,图说为5号宋体。
页码居中、页眉为“**级**专业**班数据库课程设计课程论文”,页眉从正文开始才有。
以下冒号前为黑体三号,冒号后为楷体三号学号:2013012995专业班级:计算机132姓名:刘家顺指导老师:完成日期:2015.1.23此处为分节符不是分页符,本页无页码人事管理系统数据库设计刘家顺(信息工程学院计算机科学与技术13级2班)摘要在本次课程设计中,我所开发的是人事管理系统。
随着计算机网络的发展,人事档案方面管理越来越趋向于电子化和智能化,因此对人事管理系统的开发意义十分重大。
它主要用于企业的档案管理工作,一般应用于企业局域网,分布在公司各个部门由专人负责管理。
人事管理系统主要包含职工的个人情况,工作情况,简历等各方面信息。
主要是为人事档案进行服务,对人事的变动处理,有人事的资料、以及人事资料的查询和统计等功能。
该系统本着操作简洁、档案输入读取方便、安全性高的思想原则,总体实现了员工档案,工作管理,工资管理三个功能模块。
该系统的一大特色就是将对员工的管理和对系统各个子模块的管理分开,使得管理员的操作权限更加明确、合理化。
关键字:人事管理;员工;工作;工资目录1.需求分析 (1)2.数据库结构设计 (1)2.1 概念设计 (5)2.1.1 分E-R图建立 (5)2.1.2 全局/整体E-R图 (7)2.2 逻辑设计 (8)2.2.1 建立关系模式 (8)2.2.2 关系模式规范化处理...........................................................错误!未定义书签。
2.2.3 用户子模式建立 (9)2.2.4 关系模式逻辑结构定义 (10)3.数据库物理设计 (10)4.数据库实施与测试 (10)4.1 数据库实施 .....................................................................................错误!未定义书签。
4.1.1 数据库及数据库对象建立 ...................................................错误!未定义书签。
4.1.2 数据入库 ..............................................................................错误!未定义书签。
4.2 数据库测试 .....................................................................................错误!未定义书签。
5.总结 . (12)6.附录 (13)人事管理系统是针对现在公司的大量业务处理工作而开发的管理软件。
根据用户的要求实现人员基本情况管理、工资调整管理等几个方面的功能。
用户通过输入职工履历等基本信息,由系统自行生成相应的统计数据及各类统计报表以供用户查询、打印,另外操作人员还可以对这些基本信息进行定期的更新和删除, 人事管理系统力求给用户方便快捷的途径去管理这些繁琐的数据。
能够让企业带来先进的管理思想及方法、促进建立现代人事管理模式、促进人事管理正规化、帮助企业提高管理时效、帮助企业降低管理成本。
所有的管理的目标都是为了效益。
1.需求分析通过对现行人事管理系统的调查,明确了人事管理系统由档案管理、工作管理,工资管理组成。
数据流程图如下(1)人事管理系统顶层(2)人事管理系统一层:员工管理模块:工资管理模块:工作管理模块数据字典见附1。
主要包含了数据项,数据结构,数据流,逻辑处理,存储记录等部分。
2.数据库结构设计主要包括概念设计和逻辑设计两个部分。
2.1 概念设计根据系统需求分析,可以得出人事管理系统数据库的概念模型(信息模型),下图用E-R图表示的人事管理系统的概念模型。
2.1.1 分E-R图建立员工管理模块:工资管理模块:工作管理模块2.1.2 全局E-R图。
员工联系电话出生年月日毕业学校学历姓名年龄住址民族性别籍贯职工编号编制部门副经理人数部门经理人数下属员工人数出差记录出差地点出差日期出差记录编号出差时长请假记录请假记录编号请假日期请假时长请假类别考核成绩员工评价综合评价评价等级奖励上级评价培训记录培训日期培训类别培训时长培训评价培训记录编号调动记录调动记录编号原职位新部门调动时间原属部门新职位合同签约日期到期时间签约时长合同编号转正记录转正时间转正记录编号签约日期部门部门名称部门号部门经理加班记录加班时长加班记录编号加班日期奖惩记录奖惩类别批复部门批复时间奖惩记录编号净奖励金额福利旅游福利培训计划四金工作餐节假日通信补贴交通补贴长期服务津贴医疗补助计划慰问金健康体检补贴总计考勤记录当月出差天数当月加班天数当月迟到天数当月旷工天数当月应出勤天数考勤净奖励离职记录离职编号离职日期离职原因批假记录批假日期批假人批价编号岗位岗位编号基本工资岗位津贴岗位名称工资实发工资附加工资2.2 逻辑设计将人事管理系统的E-R 图转换为关系数据库的数据模型。
2.2.1 建立关系模式将人事管理系统的E-R 图转换为关系数据库的数据模型,其关系模式为: 员工(职工编号,担任职务,姓名,性别,民族,籍贯,毕业学校,学历,出生年月日,年龄,住址,联系电话)合同(合同编号,职工编号,签约日期,到期时间,签约时长) 岗位(岗位编号,岗位名称,所属部门,岗位津贴,基本工资)部门(部门号,部门名称,部门主管,部门经理人数,部门副经理人数,下属员工人数)离职记录(离职编号,离职职工,离职日期,离职原因) 转正记录(转正记录编号,转正员工,签约日期,转正时间)调动记录(调动记录编号,调动员工,原属部门,原职位,新部门,新职位,调动时间)请假记录(请假记录编号,请假人,请假日期,请假类别,请假时长) 批假记录(批假记录编号,请假记录编号,批假人,批价日期)出差记录(出差记录编号,出差人员,出差日期,出差时长,出差地点)加班记录(加班记录编号,加班人员,加班日期,加班时长)考勤记录(考勤记录编号,员工,当月应出勤天数,当月迟到天数,当月旷工天数,当月加班天数,考勤净奖励)工资(员工,基本工资,岗位津贴,附加工资,实发工资)福利(岗位号,四金,工作餐,节假日,医疗补助计划,慰问金,健康体检,长期服务津贴,交通补贴,通信补贴,培训计划,旅游福利,补贴总计)奖惩记录(奖惩记录编号,员工,奖惩类别,批复部门,批复时间,净奖励金额)培训记录(培训记录编号,员工,培训类型,培训日期,培训时长,培训评价)考核成绩(员工,上级评价,员工评价,综合评价,评价等级,奖励)2.2.3 用户子模式建立根据需求分析,研究建立满足不同需求的用户子模式,子模式表示形式为:合同到期提醒(合同编号,职工编号,姓名,性别,签约日期,到期时间,签约时长)请假信息(请假记录编号,职工编号,姓名,性别,所属部门,职位,请假日期,请假时长,请假类别)工资表(职工编号,姓名,性别,所属部门,职位,基本工资,岗位津贴,附加工资,实发工资)考勤统计(职工编号,姓名,性别,所属部门,职位,当月应出勤天数,当月旷工天数,当月迟到天数,当月出差天数,当月加班天数,考勤净奖励)培训信息(培训记录编号,职工编号,姓名,性别,培训日期,培训时长,培训类别,培训评价)业绩考核汇总(职工编号,姓名,性别,所属部门,职位,上级评价,员工评价,综合评价,评价等级)奖惩记录(职工编号,姓名,性别,所属部门,职位,奖惩类别,批复部门,批复时间,净奖励金额)2.2.4 关系模式逻辑结构定义关系模式名称含义备注Employee 员工附录2 附表1Covenant 合同附录2 附表2Post 岗位附录2 附表3 Department 部门附录2 附表4 RurnoverRecord 离职记录附录2 附表5 ProbationRecord 转正记录附录2 附表6 MobilizeRecord 调动记录附录2 附表7LeaveRecord 请假记录附录2 附表8 PermitRecord 批假记录附录2 附表9 TravelRecord 出差记录附录2附表10 OvertimeRecord 加班记录附录2 附表11 AttendanceRecord 考勤记录附录2 附表12 Wage 工资附录2 附表13Welfare 福利附录2 附表14RPRecord 奖惩记录附录2 附表15 TrainRecord 培训记录附录2 附表16Evaluation 考核成绩附录2 附表17 3.数据库物理设计对表 Employee 在属性列 Ename 上建立聚集索引,对表 Department 在属性列 DName 上建立聚集索引,对表 Leave 在属性列 Ename 上建立聚集索引。
4.数据库实施与测试主要包括数据库实施和测试两个部分。
4.1数据库及数据库对象建立主要包括:基本表、视图、索引、存储过程以及触发器;(见附3)4.2数据入库4.3 数据库测试(1)计算考勤净奖励执行count_checkreward(2)计算考核结果执行count_text和count_tect_fu;(3)计算工资执行count_wage(4)计算补贴总计执行count_welfare5.总结由于在数据库的设计初期,没有对人事管理系统进行准确地需求分析,导致后期设计过程中的数据库的概念设计阶段无法进行。
因此,通过此次数据库课程设计使学生认识到了需求分析对于软件系统设计的重要性。
也认识到规范化的设计流程对于后期的设计来说,是十分重要的。
前面的设计是后面的铺垫,只有对前面的设计过程进行准确地分析,才能节省整个系统的开发时间。
最后,通过此次数据库课程设计使学生初步理解了简单数据库的一般开发流程,以及数据流图和E-R图等专业图形地绘制。
6.附录附录1数据项Employee 员工职工编号+姓名+性别+民族+出生年月日+年龄+学历+毕业学校+籍贯+住址+联系电话Covenant 合同合同编号+职工编号+姓名+性别+签约日期+到期时间+签约时长Post 岗位部门号+职位AttendanceINF 考勤信息职工编号+姓名+性别+所属部门+职位+当月应出勤天数+当月旷工天数+当月迟到天数LeaveRecord 请假记录请假记录编号+职工编号+姓名+性别+所属部门+职位+请假日期+请假时长+请假类别RPRecord 奖惩记录奖惩记录编号+职工编号+姓名+性别+所属部门+职位+奖惩类别+批复部门+批复时间TrainRecord 培训记录培训记录编号+职工编号+姓名+性别+培训日期+培训时长+培训类别+培训评价PerformanceEVA 业绩评价职工编号+姓名+性别+所属部门+职位+上级评价+员工评价+综合评价+评价等级MobilizeRecord 调动记录调动记录编号+职工编号+姓名+性别+原属部门+原职位+新部门+新职位+调动时间Wage 工资职工编号+姓名+性别+所属部门+职位+基本工资+岗位津贴+附加工资+实发工资Welfare 福利部门号+职位+四金+工作餐+节假日+医疗补助计划+慰问金+健康体检+长期服务津贴+交通补贴+通信补贴+培训计划+旅游福利+补贴总计DepartmentINF 部门信息 部门号+部门名称+部门经理 Compile 部门编制 部门号+部门名称+部门经理人数+部门副经理人数+下属员工人数TravelRecord 出差记录 出差记录编号+职工编号+姓名+性别+所属部门+职位+出差日期+出差地点+出差时长OvertimeRecord 加班记录 加班记录编号+职工编号+姓名+性别+所属部门+职位+加班日期+加班时长EvaluationBasis 考核依据 部门号+职位+评价等级+奖励EmployeeRurnover 离职员工 离职编号+姓名+性别+民族+出生年月日+学历+毕业学校+籍贯+离职原因+离职日期Probation 转正提醒 职工编号+姓名+性别+签约日期+转正时间PermitRecord 批假记录 批假记录编号+职工编号+姓名+性别+所属部门+职位+请假日期+请假时长+请假类别+批假人 数据结构 附录2表 1 员工关系表2 合同关系模式属性名 含义 数据类型 长度 是否为主属性 是否为外键 约束条件 Enumber 职工编号 Varchar2 20 是 Not null Position 担任职务 Varchar2 20 Not null EName 姓名 Varchar2 30 Not null Gender 性别 Varchar2 2 {男,女} Nation 民族 Varchar2 10 Not null Hometown 籍贯 Varchar2 10 Not null School 毕业学校 Varchar2 20 Not null EDegree 学历 Varchar2 10 Not null Brith 出生年月日Date Not null Age 年龄 Number 16~70 Address住址Varchar2 50 Not null Telephone 联系电话 Varchar210是Not null属性名 含义 数据类型 长度 是否为主是否为约束条件表3岗位关系模式表4部门关系模式表5离职记录关系模式属性外键Cnumber 合同编号Varchar2 20 是Not null Enumber 职工编号Varchar2 20 是Not null Signingdate 签约日期DateMaturitydate 到期时间DateSigningDuration 签约时长Varchar2 10属性名含义数据类型长度是否为主属性是否为外键约束条件Pnumber 岗位编号Varchar2 20 是Not null Postname 岗位名称Varchar2 20 Not null Departement 所属部门Varchar2 10 是Not null Allowance 岗位津贴numberBasicwage 基本工资number 2000~5000属性名含义数据类型长度是否为主属性是否为外键约束条件Dnumber 部门号Varchar2 10 是Not null DName 部门名称Varchar2 20Manager 部门主管Varchar2 20 是ManagerNumber 部门经理人数numberVioceManagerNumber 部门副经理人数numberStaffNumber 下属员工人数number属性名含义数据类型长度是否为主属性是否为外键约束条件Tnumber 离职编号Varchar2 20 是Not null Enumber 离职职工Varchar2 20 是Not null Turnoverdate 离职日期date Not nullTurnoverreason 离职原因Varchar2 10{辞职,解雇,退休,非自然离职}表6转正记录关系模式表7调动记录关系模式表8请假记录关系模式表9批假记录关系模式属性名 含义 数据类型 长度 是否为主属性 是否为外键 约束条件 PRnumber 转正记录编号 Varchar2 20 是 Not null Enumber 转正员工 Varchar2 20 是 Not null Signingdate签约日期date Not null Probationdate 转正时间Varchar210属性名 含义 数据类型 长度 是否为主属性 是否为外键 约束条件 Mnumber 调动记录编号 Varchar2 20 是 Not null Enumber 调动员工 Varchar2 20 是 Not null OldDepartement 原属部门 Varchar2 10 是 Not null OldPost原职位Varchar2 20 是 Not null NewDepartement 新部门 Varchar2 10 是 Not null NewPost 新职位 Varchar2 20 是 Not null MobilizeDate调动时间Date属性名 含义 数据类型 长度 是否为主属性 是否为外键 约束条件 Vnumber 请假记录编号 Varchar2 20 是 Not null Enumber 请假人 Varchar2 20 是 Not null LeaveDate 请假日期 dateLeaveReason请假类别Varchar24{事假,病假} LeaveDuration 请假时长number属性名 含义 数据类型 长度 是否为主属性 是否为外键 约束条件 PEnumber 批假记录编号Varchar2 20 是 Not null Vnumber 请假记录编号 Varchar2 20 是 Enumber 批假人Varchar220表10 出差记录关系模式表11加班记录关系模式表12考勤记录关系模式PermitateDate 批价日期date属性名 含义 数据类型 长度 是否为主属性 是否为外键 约束条件 TRnumber 出差记录编号 Varchar2 20 是 Not null Enumber 出差人员 Varchar2 20 是 Not null TraveDate出差日期dateTraveDuration 出差时长 number TravePlace出差地点varchar210属性名 含义 数据类型 长度 是否为主属性 是否为外键 约束条件 Onumber 加班记录编号 Varchar2 20 是 Not null Enumber 加班人员 Varchar2 20 是 Not null OverDate加班日期dateOverDuration 加班时长number属性名 含义 数据类型 长度 是否为主属性 是否为外键 约束条件 Anumber 考勤记录编号 Varchar2 20 是 Not null Enumber 员工 Varchar2 20 是 Not null AttendanceDays 当月应出勤天数 number 20~31 LateDays 当月迟到天数number 0~31 AbsenteeismDays 当月旷工天数number 0~31 OvertimeDays 当月加班天数number 0~31 TraveDays 当月出差天数Number0~31 CheckReward考勤净奖励 number表13工资关系模式表14福利关系模式表15奖惩记录关系模式属性名 含义 数据类型 长度 是否为主属性 是否为外键 约束条件 Enumber 员工 Varchar2 20 是 Not null BasicWage基本工资number 2000~5000 AdditionalWage 附加工资 number Allowance 岗位津贴 number Wage 实发工资number属性名 含义 数据类型 长度 是否为主属性 是否为外键 约束条件 Pnumber 岗位号 Varchar2 20 是 Not null FourGold 四金 number WorkingMeal 工作餐 number Vacation 节假日 numberMedicaid 医疗补助计划 number Condolences 慰问金 number PhysicalExamination 健康体检 number ServicePayments 长期服务津贴 number TrafficSubsidy交通补贴number CommunicationAllowance 通信补贴 number Training 培训计划 number TourismBenefits 旅游福利 number TotalSubsidy补贴总计number属性名 含义 数据类型 长度 是否为主属性 是否为外键 约束条件 RPRnumber 奖惩记录编号 Varchar2 20 是 Not null Enumber 员工, Varchar2 20 是 Not null RewardCategories 奖惩类别Varchar212{大功,小功,表16培训记录关系模式表17考核成绩关系模式附录3基本表create table Employee(Enumber Varchar2(20) primary key,Position Varchar2(20) not null,EName Varchar2(30) not null,Gender Varchar2(2) check(Gender in ('男','女')), Nation Varchar2(10) not null,Hometown Varchar2(10) not null, 嘉奖,通报表扬,一次性奖金,开除,记大过,记小过,警告,通报批评,一次性罚款}ReplyDepartement 批复部门Varchar2 10 ReplyDate 批复时间date RewardMoney 净奖励金额number属性名含义数据类型长度是否为主属性是否为外键约束条件TRAnumber 培训记录编号Varchar2 20 是Not nullEnumber 员工Varchar2 20 是Not null TrainCategories 培训类型Varchar2 10TrainDate 培训日期dateTrainDuration 培训时长Varchar2 10TrainAssessment 培训评价Varchar2 6属性名含义数据类型长度是否为主属性是否为外键约束条件Enumber 员工Varchar2 20 是Not null SuperiorAssessment 上级评价number 0~100 StaffAssessment 员工评价number 0~100 Comprehensive 综合评价number 0~100 AssessmentClass 评价等级Varchar2 20Reward 奖励Varchar2 20School Varchar2(20) not null,EDegree Varchar2(10) not null,Brith Date not null,Address Varchar2(50) not null,Telephone Varchar2(11) not null);create table Covenant(Cnumber Varchar2(20) primary key,Enumber Varchar2(20) references Employee(Enumber) on delete cascade,Signingdate Date,Maturitydate Date,SigningDuration Varchar2(10));create table Departement(Dnumber Varchar2(10) primary key,DName Varchar2(20),Manager Varchar2(10) references Employee(Enumber),ManagerNumber number,VioceManagerNumber number,StaffNumber number);create table Position(Pnumber Varchar2(20) primary key,Postname Varchar2(20),Departement Varchar2(10) references Departement(Dnumber),Allowance number,Basicwage number check(Basicwage>=2000 and Basicwage<=5000));create table Turnover(Tnumber Varchar2(20) primary key,Enumber Varchar2(20),Turnoverdate date,Turnoverreason Varchar2(10) check(Turnoverreason in ('辞职','解雇','退休','非自然离职')) );create table Probation(PRnumber Varchar2(20) primary key,Enumber Varchar2(20) references Employee(Enumber) on delete cascade,Probationdate Varchar2(10));create table Mobilize(Mnumber Varchar2(20) primary key,Enumber Varchar2(20) references Employee(Enumber) on delete cascade, OldDepartement Varchar2(10) references Departement(Dnumber), OldPost Varchar2(20) references Position(Pnumber), NewDepartement Varchar2(10) references Departement(Dnumber), NewPost Varchar2(20) references Position(Pnumber),MobilizeDate date);create table Leave(Vnumber Varchar2(20) primary key,Enumber Varchar2(20) references Employee(Enumber) on delete cascade, LeaveDate date,LeaveReason Varchar2(4) check(LeaveReason in ('事假','病假')), LeaveDuration number);create table PermitLeave(PEnumber Varchar2(20) primary key,Vnumber Varchar2(20) references Leave(Vnumber),Enumber Varchar2(20) references Employee(Enumber) on delete cascade, PermitateDate date);create table Trave(TRnumber Varchar2(20) primary key,Enumber Varchar2(20) references Employee(Enumber) on delete cascade, TraveDate date,TraveDuration number,TravePlace varchar2(10));create table Overwork(Onumber Varchar2(20) primary key,Enumber Varchar2(20) references Employee(Enumber) on delete cascade,OverDuration number);create table Attendance(Anumber Varchar2(20) primary key,Enumber Varchar2(20) references Employee(Enumber) on delete cascade, AttendanceDays number check(AttendanceDays>=20 and AttendanceDays<=31), LateDays number check(LateDays>=0 and LateDays<=31),AbsenteeismDays number check(AbsenteeismDays>=0 and AbsenteeismDays<=31), OvertimeDays number check(OvertimeDays>=0 and OvertimeDays<=31), TraveDays number check(TraveDays>=0 and TraveDays<=31),CheckReward number);create table Wage(Enumber Varchar2(20) primary key,BasicWage number check(BasicWage>=2000 and BasicWage<=5000), AdditionalWage number,Allowance number,Wage number);create table Welfare(Pnumber Varchar2(20) primary key,FourGold number,WorkingMeal number,Vacation number,Medicaid number,Condolences number,PhysicalExamination number,ServicePayments number,TrafficSubsidy number,CommunicationAllowance number,Training number,TourismBenefits number,TotalSubsidy number);create table RPR(RPRnumber Varchar2(20) primary key,Enumber Varchar2(20) references Employee(Enumber) on delete cascade,RewardCategories varchar2(12)check(RewardCategories in ('大功','小功','嘉奖','通报表扬','一次性奖金','开除','记大过','记小过','警告','通报批评','一次性罚款')),ReplyDepartement Varchar2(10) references Departement(Dnumber),ReplyDate date,RewardMoney number);create table Train(TRAnumber Varchar2(20) primary key,Enumber Varchar2(20) references Employee(Enumber) on delete cascade,TrainCategories Varchar2(10),TrainDate date,TrainDuration varchar2(10),TrainAssessment varchar2(6));create table Text(Enumber Varchar2(20) primary key,SuperiorAssessment number CHECK(SuperiorAssessment>=0 and SuperiorAssessment<=100), StaffAssessment number CHECK(StaffAssessment>=0 and StaffAssessment<=100), Comprehensive number CHECK(Comprehensive>=0 and Comprehensive<=100), AssessmentClass Varchar2(20),Reward Varchar2(20));视图create view CEreminder(合同编号,职工编号,姓名,性别,签约日期,到期时间,签约时长)asselect Cnumber,Covenant.Enumber,EName,Gender,Signingdate,Maturitydate,SigningDuration from Covenant,Employeewhere months_between(sysdate,Maturitydate) = 1 and Covenant.Enumber = Employee.E number;create view LeaveINF(请假记录编号,职工编号,姓名,性别,所属部门,职位,请假日期,请假时长,请假类别)asselectVnumber,Leave.Enumber,EName,Gender,DName,Postname,LeaveDate,LeaveDuration,LeaveReas onfrom Leave,Employee,Position,Departementwhere Leave.Enumber = Employee.Enumber and Employee.Position = Position.Pnumber and Position.Departement = Departement.Dnumber;create view WageTable(职工编号,姓名,性别,所属部门,职位,基本工资,岗位津贴,附加工资,实发工资)asselectWage.Enumber,Ename,Gender,DName,Postname,Wage.Basicwage,Wage.Allowance,Wage.Additio nalwage,Wage.Wagefrom Wage,Employee,Position,Departementwhere Wage.Enumber = Employee.Enumber and Employee.Position = Position.Pnumber and Position.Departement = Departement.Dnumber;create view Attendance_statistics(职工编号,姓名,性别,所属部门,职位,当月应出勤天数,当月旷工天数,当月迟到天数,当月出差天数,当月加班天数,考勤净奖励)asselectAttendance.Enumber,Ename,Gender,DName,Postname,AttendanceDays,AbsenteeismDays,LateDa ys,TraveDays,OvertimeDays,CheckRewardfrom Attendance,Employee,Position,Departementwhere Attendance.Enumber = Employee.Enumber and Employee.Position = Position.Pnumber and Position.Departement = Departement.Dnumber;create view TrainINF(培训记录编号,职工编号,姓名,性别,培训日期,培训时长,培训类别,培训评价)asselectTRAnumber,Train.Enumber,Ename,Gender,TrainDate,TrainDuration,TrainCategories,TrainAssess mentfrom Train,Employeewhere Train.Enumber = Employee.Enumber;create view TextGrade(职工编号,姓名,性别,所属部门,职位,上级评价,员工评价,综合评价,评价等级)asselectText.Enumber,EName,Gender,DName,Postname,SuperiorAssessment,StaffAssessment,Comprehen sive,AssessmentClassfrom Text,Employee,Position,Departementwhere Text.Enumber = Employee.Enumber and Employee.Position = Position.Pnumber andPosition.Departement = Departement.Dnumber;create view RPRecord(职工编号,姓名,性别,所属部门,职位,奖惩类别,批复部门,批复时间,净奖励金额)asselectRPR.ENUMBER,EName,Gender,DName,Postname,RewardCategories,ReplyDepartement,ReplyD ate,RewardMoneyfrom RPR,Employee,Position,Departementwhere RPR.Enumber = Employee.Enumber and Employee.Position = Position.Pnumber and Position.Departement = Departement.Dnumber;索引create index I1on Employee(Ename);create index I2on leave(Enumber);create index I3on departement(dname);存储过程MobilizeRecord:create or replace procedure MobilizeRecord(Nd in Departement.DNumber%type, NP in Position.PNumber%type,NE in Employee.Enumber%type)isNPname Position.Postname%type;beginupdate Employeeset Position = NPwhere Enumber = NE;commit;select Postnameinto NPnamefrom Positionwhere PNumber = NP;commit;if NPname = '部门经理' or NPname = '总经理'then update Departement set Departement.Manager = Ne where Dnumber = ND;commit;end if;end MobilizeRecord;调用declareNd Departement.DNumber%type;NP Position.PNumber%type;NE Employee.Enumber%type;cursor c3 isselect mobilize.newdepartement,mobilize.newpost,mobilize.enumberfrom mobilize;beginopen c3;loopfetch c3 into Nd,NP,NE;exit when c3%notfound;mobilizerecord(Nd,NP,NE);end loop;close c3;end;count_checkreward:create or replace procedure count_checkreward isbeginupdate attendanceset checkreward = overtimedays*20+travedays*30-latedays*5-absenteeismdays*30; commit;end count_checkreward;调用begincount_checkreward;end;count_text:create or replace procedure count_text isbeginupdate textset comprehensive = superiorassessment *0.6 + staffassessment*0.4;commit;end count_text;count_text_fu:create or replace procedure count_text_fu iscursor c2 isselect comprehensivefrom text;v_com prehensive%type;v_class text.assessmentclass%type;beginopen c2;loopfetch c2 into v_com;exit when c2%notfound;if v_com >=0 and v_com < 60 thenv_class :='';else if v_com>=60 and v_com <=80 thenv_class :='加薪';else v_class :='升职';end if;end if;update textset text.assessmentclass = v_classwhere prehensive = v_com;commit;end loop;close c2;end count_text_fu;调用begincount_text;count_text_fu;end;count_wage:create or replace procedure count_wage(w_Empe in wage.Enumber%type) is w_bwage wage.basicwage%type;w_awage wage.additionalwage%type;w_all wage.allowance%type;w_tot number;w_check number;beginselect position.basicwage,position.allowanceinto w_bwage,w_allfrom position,Employeewhere w_Empe = Employee.Enumber and Employee.Position = position.pnumber;commit;select totalsubsidy,checkrewardinto w_tot,w_checkfrom welfare,attendance,Employeewhere w_empe = attendance.enumber and w_Empe = Employee.Enumber and Employee.Position = welfare.pnumber;commit;w_awage := w_tot +w_check;update wageset basicwage = w_bwage,additionalwage = w_awage, allowance = w_allwhere wage.enumber =w_Empe;commit;update wageset wage = basicwage+additionalwage+allowance;commit;end count_wage;调用declarew_number wage.enumber%type;cursor c1 isselect enumber from wage;beginopen c1;loopfetch c1 into w_number;count_wage(w_number);exit when c1%notfound;end loop;close c1;end;count_welfare:create or replace procedure count_welfare isbeginupdate welfareset totalsubsidy = FourGold+WorkingMeal+Vacation+Medicaid+Condolences+PhysicalExamination+ServicePayme nts+TrafficSubsidy+communicationAllowance+Training+TourismBenefits;commit;end count_welfare;调用begincount_welfare;end;触发器:overWorkRecordcreate or replace trigger overWorkRecordafter insert on overworkfor each rowdeclareNEWOver number;NEWENum varchar2(20);beginNEWOver := :new.overduration;NEWENum := :new.Enumber;overWork_Record(NEWOver,NEWENum);end overWorkRecord;overWork_Record:create or replace procedure overWork_Record(NEWOver in number, NEWENum in overwork.enumber%type) isbeginupdate attendanceset overtimedays = overtimedays+NEWOverwhere NEWENum = attendance.Enumber;end overWork_Record;TraveRecord:create or replace trigger TraveRecordafter insert on Travefor each rowdeclareNEWOver number;NEWENum varchar2(20);beginNEWOver := :new.Traveduration;NEWENum := :new.Enumber;Trave_Record(NEWOver,NEWENum);end TraveRecord;Trave_Record:create or replace procedure Trave_Record(NEWOver in number, NEWENum in Trave.enumber%type) isbeginupdate attendanceset travedays = travedays+NEWOverwhere NEWENum = attendance.Enumber;end Trave_Record;turnover_recordcreate or replace trigger turnover_recordafter insert on turnoverfor each rowbegindeletefrom employeewhere employee.Enumber = :new.enumber;end turnover_record;。