[精选]如何使用数据库管理数据

上传人:我**** 文档编号:183387750 上传时间:2021-06-04 格式:PPTX 页数:29 大小:585.30KB
返回 下载 相关 举报
[精选]如何使用数据库管理数据_第1页
第1页 / 共29页
[精选]如何使用数据库管理数据_第2页
第2页 / 共29页
[精选]如何使用数据库管理数据_第3页
第3页 / 共29页
[精选]如何使用数据库管理数据_第4页
第4页 / 共29页
[精选]如何使用数据库管理数据_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《[精选]如何使用数据库管理数据》由会员分享,可在线阅读,更多相关《[精选]如何使用数据库管理数据(29页珍藏版)》请在金锄头文库上搜索。

1、本资料来源,第六章 数据资源管理技术,第一节 传统文件环境下的数据整理,一、文件组织名称与概念 计算机系统以层级的方法组织数据,从位、字节,进而到字段、记录、文件到数据库,如图6.1所示。位代表计算机可处理的最小单位数据。一组位称之为一个字节,代表单一字符,可以是字母、数字或其他符号。一组字符组成一个字、一组文字或一套完整的数字(例如人的名字或年龄),称之为一个字段(Field)。一组相关字段组成一个记录(Record)。一组相同类型的记录则称为文件(File)。 一组相关文件则形成一个数据库(Database)。图6.1说明了乘客信息文件可以和航班信息文件及订单信息文件等构成票务系统数据库。

2、,图6.1 数据层级,一个记录描述一个实体。一个实体(Entity)是一个人、地、物或事件,是我们用以保存信息的基本单位。一张订单是销售订单文件中一个典型的实体,可以保存公司销售订单的信息。描述一个特殊实体的特征或性质称之为属性(Attribute)。举个例子来说,订单号码、订单日期、客户编号和订单总额等,每一项都可以是订单的属性。这些属性的数值可从记录的各个字段中找到并描述实体订单,如图6.2所示。 该记录描述名为订单的实体及其属性。订单号码、订单日期、客户编号及总订单额皆为该订单记录的具体值。订单号码是关键字段,因为它标识了每一订单独特的识别号码。,图6.2 实体与属性,二、传统文件环境的

3、问题 图6.3说明了信息处理的传统方法。 使用传统方法处理文件造成公司内每个工作部门均发展了专门的应用系统。各应用系统需要个性化的数据文件,它们有可能是主文件的子集。主文件的这些子集会造成数据重复、处理缺乏弹性和浪费存储资源。 1. 数据冗余与混乱 数据冗余(Data Redundancy)是指多个数据文件中有相同的数据。当组织内不同部门、工作单位与团队独立搜集相同的数据时,数据冗余就会发生。这种混乱会使企业很难进行客户关系管理、供应链管理与利用企业系统来整合不同来源的数据。,图6.3 传统的文件处理,2. 程序数据相互依赖 程序数据相互依赖(program-data dependence)意

4、指文件中的数据和更新与维护这些文件的程序之间有紧密的关系,每个计算机程序必须描述它所运行的数据的位置与特性。在传统文件环境中,任何数据的改变都必须改变所有访问该数据的程序。譬如说,改变税率或邮政编码长度就得改变程序。这类程序的变更可能会花上数千万元,才能重建被修改数据的程序。 3. 欠缺弹性 经过广泛的编程之后,传统文件系统可以产生例行性报表,但是无法产生偶发性需求的报表,或及时回应未预期的信息需求。对于偶发性的信息需求,系统虽有数据,但是检索的费用昂贵。 4. 安全性低 因为对数据的管理乏力,存取与发布信息根本无法控制。 5. 缺乏数据共享与实用性 在混乱的环境中缺乏对数据存取的控制,人们也

5、就不易获得信息。因为信息存放在不同文件与不同的部门中,不容易建立起相互关系,要做到信息共享或及时存取几乎是不可能的事,信息也无法在组织的不同功能领域或不同部门间自由流动。,第二节 使用数据库管理数据,数据库技术可以防止传统文件组织方法所造成的许多问题。更严谨地定义之,数据库(database)是指搜集整理过的资料,将之集中并减少重复的数据,以有效率地提供给多方面的应用。不同于将各应用系统的数据存放在单个文件中,数据在使用者看来只储存在一个地点。一个数据库服务于多个应用系统。图6.4说明了此数据库的概念。,图6.4 现代数据库环境,一、数据库管理系统 数据库管理系统(Database Manag

6、ement System,DBMS)只是一套软件,它可以让组织集中数据,有效地管理数据,并可由应用程序存取数据。DBMS的运作如同应用程序和实体数据文件之间的接口。当应用程序呼叫某数据项,DBMS便从数据库中找出该项目,并呈现给应用程序。 DBMS分开了数据逻辑与实体观点,使程序设计师或最终使用者无须了解实际上数据被存放在哪儿及如何存放。数据库管理软件可以让实体观点通过不同的应用程序表现出不同的逻辑观点。 数据库管理系统由三个部分组成。 (1)数据定义语言 (2)数据操纵语言 (3)数据字典 数据定义语言是规范的语言,程序设计师以此来确定数据库内容和架构。数据定义语言在数据被转换成应用程序所需

7、的格式之前,定义数据库的每个数据元素。,大多数DBMS都有一种专门化的语言,被称之为数据操纵语言,它与某些惯用的应用编程语言共同使用,以操纵数据库中的数据。这种语言包含许多指令,让最终使用者和程序设计师可以从数据库中得到数据,以满足信息需求并开发应用系统。目前最流行的数据操纵语言是结构化查询语言(Structured Query Language,SQL)。 DBMS的第三个部分是数据字典。它是自动化或人工文件,用以储存数据元素的定义与数据特性,例如用法、实体表示法、所有权(哪位组织成员应负责维护数据)、授权与安全性。很多数据字典可以产生数据使用、数据组成、程序位置等的清单和报表。 大多数字典

8、是全然被动的,只是报告而已。更先进的字典类型是主动式,字典的变动会被相关程序自动采用。 理想的数据库环境中,数据库的数据只被定义一次,便可使用于所有的应用程序中,以消除重复或是不一致的数据。应用程序由DBMS的数据操纵语言与传统的程序设计语言组合写成,从数据库中请求数据元素。当应用系统向数据库要求数据元素,DBMS会找出所呼叫的数据元素并传回。 DBMS可以减少程序开发和维护的成本,以及程序与数据的相互依赖性。信息的可用性提高了,因为使用者与程序设计师可以执行偶发性的数据查询。DBMS可以让组织集中管理、使用并安全维护它们的数据。,二、数据库的种类 1. 关系数据库管理系统 关系数据库管理系统

9、(Relational DBMS)是目前在个人计算机、大型计算机与大型主机上最广泛使用的DBMS类型。关系数据模型代表数据库中所有数据以简单的二维表格来表示。此表格看似是扁平文件,但是可以轻易地从一个以上的文件中摘取并组合数据。有些时候表格也会被认为是文件。 图6.6包含一个宾馆信息表格、一个客户信息表格以及一个订单表格。每一表格的行都是独特的记录,而每一列则是字段。行或记录也可称为元组(Tuple)。使用者常常会需要从许多相关信息中得出报表。关系型模型的长处在于,只要表格中有共同的数据单元,就可使任一文件或表格的数据相互发生关系。 每一个表就是一个关系,每一行或记录则是一个元组。每一列对应一

10、个字段。这些关系可以轻易地组合和抽取来存取数据并生成报表,只要任何两者之间共享相同的数据元素即可。 在关系数据库中,发展有用的数据集合需要三项基本操作:选择、投影以及连接。选择操作建立一个子集,由所有符合所定标准的文件记录组成。换句话说,选择将建立由符合某些标准的行所组成的子集。连接(join)操作组合关系表格,为使用者提供比单个表格更多的信息。 投影操作将建立一个子集,由表格的列组成,允许使用者建立只包含需求信息的新表格,也叫做视图。,图6.6 关系数据模型,在大型主机上的关系数据库管理系统的领导品牌包括IBM的DB2和Oracle公司的Oracle DB2、Oracle与微软的SQL Se

11、rver是中型计算机使用的DBMS。微软的Access是PC使用的关系数据库管理系统,Oracle Lite是使用在小型手持运算装置上的DBMS。,2. 层次数据库管理系统与网状数据库管理系统 层次数据库管理系统用树状结构来呈现数据。每个记录中数据元素被组织成记录的一小部分,称为段。对使用者来说,每一个记录看起来就像组织图,最高层级的段称为根段。逻辑上,较高层级与较低层级相连,如同父子关系。父段可以有一个以上的子段,但子段只能有一个父段。 图6.8表示的层次结构可用于人力资源数据库中。根段是员工,包含基本员工信息,例如姓名、住址和身份证号码。紧接着有三个子段:薪资(包含薪水和升迁的数据)、职务

12、(包含工作职位与部门的数据)以及福利(包含受益人与各项福利资料)。薪资下又有两个子段:绩效(包含员工工作绩效评估数据)与薪资记录(包含员工过去薪资)。在福利下有退休金、人寿保险和医疗保险等子段,包含各种福利计划的数据。,图6.8 人力资源系统的层次数据库管理系统,相较于层次结构描述一对多的关系,网状数据库管理系统描述了多对多的关系。换句话说,父段可以有很多子段,子段也可以有多于一个父段。典型网状DBMS中的多对多关系是乘客与航班之间的关系,如图6.9所示,有许多航班与众多乘客,一个乘客可以在众多航班中选择,某次航班可以被许多乘客选择。 3. 面向对象数据库 今后,有许多应用软件将要求数据库不只

13、能够储存与撷取结构化数值与字符,也要能够处理图形、影像、照片、声音,以至于动态影片。传统的DBMS并不适于处理图形或多媒体应用等。但面向对象数据库管理系统(object-oriented DBMS,OODBMS)把数据和程序作为对象来储存,可以自动撷取与共享。 面向对象数据库管理系统因为可用来管理网页上的各种多媒体组件与Java程序而逐渐受到欢迎,这方面典型的应用必须整合不同来源的信息。OODBMS也适合用于递归性数据之类的数据存储格式。金融与贸易系统经常使用OODBMS。,图6.9 网状数据库管理系统,与关系DBMS相比较,面向对象可以储存的信息类型更复杂,相对的,在处理大量交易时,速度又比

14、关系DBMS慢。混合的对象关系数据库管理系统(object-relational DBMS)可提供面向对象与关系DBMS的功能。混合的方法可以三种方式完成:使用可提供面向对象存取关系DBMS的工具、使用面向对象扩展至现有的关系DBMS,或是使用混合的对象关系数据库管理系统。 三、查询数据库:SQL的组成 使用者与信息系统专家可以将SQL用作将数据从数据库中取出的交互式查询语言,SQL指令可以内嵌于用COBOL、C或其他语言编写的应用系统之中。 接下来说明最重要的SQL基本指令。一般指令中具有特定意义的SQL保留字如SELECT、FROM会以大写标识,而SQL指令会被写成多行。大部分读取数据的S

15、QL语句会包含以下三种子句。 SELECT:列出数据库的表格中使用者在结果的表格中想要看到的列。 FROM:确认将要从中选出某些列的表格或视图。 WHERE:包含由一个表格内选择特定的行(记录)的条件和多个表格中符合连接的条件。,(1)SELECT语句 SELECT语句可以在关系型表格中进行特定的信息查询。一个从表格中所有行读取特定列的SELECT语句,其一般格式如下: SELECT Column_Name,Column_Name, FROM Table_Name; 要撷取的列列于关键词SELECT之后,所使用的表格则列于关键词FROM之后。要注意的是列与表格的名称之中不能有空格,必须是一个词

16、或是用下划线连接,最后语句会以分号结束。 (2)条件式查询 WHERE子句被用来根据WHERE子句中所描述的条件只显示表格中的某些行。例如,假设想要从客房表格中显示单价低于700元/天的客房的相应数据,可以使用: SELECT RoomNumber,RoomDescription,UnitPrice FROM ROOM; WHERE UnitPrice700;,(3)连接两个表格 假设想知道数据库中每间客房的宾馆名称、编号与地址,可以连接客房表格与宾馆表格来得到所需的信息。查询语句如下所示: SELECT ROOM.RoomNumber, Hotel.HotelNumber, Hotel.HotelName, Hotel.HotelAddress FROM ROOM,HOTEL WHERE ROOM.HotelNumber=Hotel.HotelNumber 要注意的是在WHERE子句中可以表达多个条件。,第三节 建立数据库环境,一、设计数据库 要建立一个数据库,必须经历两种设计:概念设计与实体设计。数据库的概念或逻辑设计是依企业观点来建立数据库的抽象模型。而实体设计则表示数据库如何实

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号