oracle9i chapter1.doc_第1页
oracle9i chapter1.doc_第2页
oracle9i chapter1.doc_第3页
oracle9i chapter1.doc_第4页
oracle9i chapter1.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章 数据库基础知识 第8页第1章 数据库基础知识数据库技术是信息社会的重要基础技术之一,也是计算机科学领域中发展最为迅速的分支之一;它是一门涉及到操作系统、数据结构、程序设计等多学科知识的综合性技术。1.1 数据库概述本节介绍数据库和数据库系统的基本概念、组成和数据库系统的结构类型。1.1.1 数据库和数据库系统数据库是一组互相关联的数据集合,它是以文件方式存储数据。数据库是数据的一种结构化高级组织形式。以数据库为核心,并对其进行管理的计算机系统称为数据库系统,它实现了有组织地和动态地存储大量关联数据、方便多用户访问。它与文件系统的主要区别是数据的充分共享、交叉访问以及应用程序的高度独立性。数据库系统重点要解决如何有效地组织数据、如何方便地将数据输入到计算机中、如何根据用户的要求将数据从计算机中抽取出来等问题。数据库系统对数据的完整性、一致性和安全性都提供一套有效的管理手段;同时提供控制数据的各种简单操作命令,使用户易于编写程序。数据库系统是最有效、最方便的数据处理方法。所谓数据处理是指对各种类型的数据进行收集、存储、分类、计算、加工、检索和传输的过程。数据处理经过了手工数据处理阶段、文件系统阶段和数据库系统阶段。1.1.2 数据库系统的组成数据库系统实际上是一个应用系统,它由用户、数据库管理系统(DBMS)、存储在存储介质上的数据、应用程序和计算机硬件组成。1. 数据数据是指数据库系统中存储的数据,它是数据库系统操作的对象。大量的数据按一定的数据模型组织存储在数据库中,从而实现数据共享。2. 应用程序应用程序是针对某一个管理对象(应用)而设计的一个面向用户的软件系统,它是建立在DBMS基础上的,具有良好的交互操作性和用户界面,如人事管理系统、财务管理系统等。它与数据库管理系统和数据库一同构成数据库软件系统。3. 用户用户是指使用数据库的人。根据工作的内容,可将数据库用户分成三类:使用应用程序提供的菜单来完成数据库操作和生成报表等任务的终端用户;负责设计和编制应用程序的应用程序员;全面负责数据库系统的管理维护,保证系统能够正常运行的数据库管理员。4. 数据库管理系统(DBMS)数据库管理系统是对数据库进行管理和实现对数据库的数据进行操作的管理软件系统。它把应用程序中所使用的数据汇集在一起,以便于应用程序查询和使用。数据库管理系统提供对数据库中的数据资源进行统一管理和控制的功能,它是数据库系统的核心。5. 硬件硬件特指存放数据库及运行DBMS的所需的各种硬件资源。1.1.3 数据库系统的特征数据库技术已经成为信息管理的最新、最重要的技术。它具有以下特点:1. 数据结构化数据库中的数据不再像文件系统中的数据那样从属特定的应用,而是按照某种数据模型组织成为一个结构化的数据整体。它不仅描述了数据本身的特性,而且描述了数据与数据之间的种种联系,这使得数据库具备了复杂的内部组织结构。2. 实现数据共享由于数据库中的数据是按照数据模型组织为一个结构化的数据结构,实现了多个应用程序、多种语言及多个用户能够共享一个数据库中的数据,大大提高了数据的利用率和工作效率。3. 减少数据冗余度由于数据库实现了数据共享,减少了存储数据的重复,节省了存储空间,减少了数据冗余度。4. 数据独立性数据库技术中的数据与程序相互独立,互不依赖,不因一方的改变而改变另一方,这大大简化了应用程序设计与维护的工作量,同时数据也不会随程序的结束而消失,可长期保留在计算机系统中。1.1.4 数据库系统结构数据库系统从最终用户角度来看,可以分为单用户结构、主机式结构、分布式结构和客户/服务器结构。1. 单用户数据库系统在单用户系统中,整个数据库系统,包括应用程序、DBMS、数据都安装在一台计算机上,由一个用户独用,不同计算机之间不能共享数据。2. 主机式数据库系统主机式结构是指一个主机带多个终端的多用户结构。在这种结构中,数据库系统的应用程序、DBMS、数据等都集中存放在主机上,所有处理任务都由主机来完成,各个用户通过主机的终端并发地存取数据,能够共享数据资源。主机式结构的优点是简单、数据易于管理维护,缺点是当终端用户数目增加到一定程度后,数据的存取通道会形成瓶颈,从而使系统性能大幅度下降。3. 分布式数据库系统分布式结构的数据库系统的数据在逻辑上是一个整体,但在物理上分布在计算机网络的不同结点上,每个结点上的主机又带有多个终端用户。网络中的每个结点都可以独立地处理数据库中的数据,执行全局应用。分布式结构的数据库系统适应了团体和组织不断扩展对分布在不同地点工作的要求,但数据分布存放会给数据的处理、管理、维护及安全带来困难。4. 客户/服务器数据库系统客户/服务器把DBMS功能和应用程序分开,即在网络中把一些计算机专门用于执行DBMS核心功能,这台计算机就称为数据库服务器;其他结点上的计算机安装DBMS外围应用开发工具和应用程序,支持用户的应用,称为客户机。在客户/服务器结构的系统中,客户端的用户将数据传送到服务器,服务器进行处理后,只将结果返回给用户,从而显著减少了网络上的数据传输量,提高了系统的性能和负载能力。客户/服务器数据库系统是现在最流行的结构之一,并且随着应用复杂性的提高,正在走向三层或多层数据库系统,即分解出应用层服务专门进行应用逻辑处理,从而使客户端程序变“瘦”。1.2 数据库管理系统数据库管理系统(DBMS)是对数据库进行管理和实现对数据库的数据进行操作的管理系统。它是建立在操作系统基础之上、位于操作系统与用户之间的一层数据管理软件,负责对数据库的数据进行统一的管理和控制。DBMS把用户程序和数据库数据隔离开来,用户或应用程序中的各种操作数据库及数据的命令,都要通过DBMS来执行。DBMS是实现数据库和管理数据库的核心内容。数据库结构的基础是数据模型。数据模型是一个用于描述数据、数据间关系、数据语义和数据约束的概念工具的集合。根据数据库管理系统的数据模型可把DBMS分为网状数据库管理系统、层次数据库管理系统和关系数据库管理系统。关系数据库是通过数学方法处理数据库的组织,近年来发展非常迅速,其主要特点是简单灵活,数据独立性强,理论严格。目前市场上的DBMS产品绝大部分是关系型的,包括本书介绍的ORACLE数据库管理系统。1.2.1 数据库管理系统的功能目前流行的DBMS有很多种,如Oracle、Sybase、Informix等。不同的DBMS提供的功能各有侧重,但一般都提供以下六个方面的功能。1. 数据库定义为了提高数据库的独立性,DBMS把数据库从逻辑上分为三个层次,即面向数据库用户的外层(用户数据库)、由DBMS管理的概念层(概念数据库)及内部层(存储数据库)。用户看到的只是外层,而数据实际上是按内部层的结构存储的,它是通过概念层二级抽象(或称映像)而来的。DBMS的数据库定义功能不但提供了用户数据库、概念数据库和存储数据库三级数据的定义,而且还提供了从用户数据库到概念数据库的映像和从概念数据库到存储数据库的映像功能。数据库定义一般都由DBMS以数据定义语言(Data Definition Language, 简称DDL )的形式提供给用户。数据库用户利用DDL定义用户数据库结构,建立所需要的数据库,同时由DBMS自动翻译为存储数据库。存储数据库独立于一般数据库用户,数据库用户也不必关心存储数据库的实际模型。2. 数据库操纵DBMS提供数据操纵语言(Data Manipulation Language,简称DML)来实现对数据库数据的操纵。数据操纵包括对数据库中的数据进行查询(检索和统计)和更新(增加、删除与修改)等基本操作。3. 数据库运行与控制DBMS提供的运行与控制功能保证所有访问数据库的操作都在控制程序的统一管理下,检查安全性、完整性和一致性,保证多用户对数据库的并发使用。这些功能对用户是隐蔽的。4. 数据库维护DBMS提供实用程序来完成数据库初始数据输入与数据转换等功能,完成数据库数据的转储、恢复、重组织、系统性能监视与分析等。5. 数据字典DBMS将所定义的数据库按一定的形式分类编目,对数据库中有关信息进行描述,以帮助数据库用户使用和管理数据库。这一功能称为数据字典功能。6. 数据通信DBMS提供数据通信功能,实现DBMS与用户程序及其之间的网络通信。著名的SQL(Structured Query Language)就是被国际标准化组织(ISO)公布的数据定义、数据操纵和数据控制为一体的标准数据库语言。目前许多成熟的DBMS产品都集成了以上多项功能,同时还提供一套应用程序开发工具。 1.2.2 数据库管理系统的组成数据库管理系统通常由以下3个部分组成:数据定义语言及其翻译程序,数据操纵语言及其编译域解释程序和数据库管理例行程序。1. 数据定义语言及其翻译程序DBMS要提供数据库的定义功能,应具有一套数据定义语言DDL来正确地描述数据及数据之间的联系。DBMS根据这些数据定义从物理记录导出全局逻辑记录,又从全局逻辑记录导出应用程序所需的记录。2. 数据操纵语言及其编译程序数据操纵语言DML是DBMS提供给应用程序员或者用户使用的语言工具,它用于对数据库中的数据进行插入、查找、修改等操作。DML有两种类型:一类是宿主型,它不能独立使用,必须嵌入宿主语言中使用,如嵌入在PASCAL、FORTRAN等高级语言;另一类是自含型,它可以独立用来进行查找、修改等。目前 DBMS广泛使用这种独立的自含语言,如 Oracle中 PL/SQL就是自含型操纵语句,Oracle中的 Pro* C就是宿主型,它嵌入在 C语言之中。3. 数据库管理例行程序数据库管理例行程序主要包括两方面的程序:系统运行控制程序和系统维护程序。系统运行控制程序包括如下程序: 系统总控程序。它控制并协调DBMS各个程序的活动,使它们有条不紊地进行工作。 访问控制程序。它的功能包括核对用户标识、口令和权限以及检验访问的合法性等,它决定一个访问请求是否能够连接数据库。 并发控制程序。在多用户访问数据库时,协调各个用户的访问,如按优选级排队、加锁数据或访问等功能。 保密控制程序。在执行操作之前核对保密规定,检验保密锁处理等功能。 数据库完整性控制程序。在执行操作之前或之后核对数据库完整性约束条件,从而决定数据库操作是否允许执行或清除已执行操作的影响。 数据访问程序。根据用户访问请求,实施对数据的访问,从物理文件中查找数据、执行插入、删除、修改等操作。 通信控制程序。实现用户程序与DBMS之间的通信。在系统建立和维护方面包括如下程序: 数据装入程序。用户把大批原始数据按某种文件组织方式(顺序、索引等)存储到内外介质上,完成数据库的装入。 工作日志程序。负责记录进入数据库的所有访问,使每个访问都留下踪迹。其内容包括:用户名称,进入系统的时间,进行何种操作,数据对象,数据改变情况等。 性能监督程序。监督操作执行时间与存储空间占用情况,作出系统性能估算,以决定数据库是否需要重新组织。 重新组织程序。当数据库系统性能变坏时(例如查找时间超过规定值),需要对数据重新进行物理组织,或按原组织方法重新装入,或者改变原组织方法,采用新的结构。一般来说,重新组织是数据库系统的一种周期性活动。 系统恢复程序。当软、硬件遭到破坏时,该程序把数据库系统恢复到可用状态。DBMS是数据库系统的核心软件,学习使用数据库,通常就是学习某个DBMS的使用和管理方法。在关系数据库领域中有许多DBMS系统,著名的有ORACLE 、SYBASE和DB2等等。这些DBMS中一类属于大型数据库管理系统(如 ORACLE,SYBASE,DB2);另一类属于小型DBMS系统。大型DBMS系统需要专人管理和维护,性能比较强,功能也很庞大,一般被用于大型数据场所,如飞机订票系统、银行系统等。微型机数据库管理系统功能相对简单,容易掌握,使用也比较方便,因而被广泛应用。 1.3 数据库系统设计数据库系统设计是在数据库管理系统上建立数据库应用程序的过程,它主要是指数据库应用系统设计,即指在具备了DBMS、系统软件、操作系统和硬件或网络环境后,开发人员使用这一环境设计出用户满意的数据库结构和数据库应用系统的过程。像任何一个软件的开发过程一样,数据库应用系统设计可以分为需求分析、数据库设计、程序设计、系统测试和维护等五个阶段。1. 需求分析需求分析的任务是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。需求分析的重点是调查、求精、收集和分析用户在数据管理中的信息要求、处理要求、安全性要求与完整性要求等需求。信息要求是指用户需要从数据库中获得信息的内容和性质。由用户的信息要求可以导出数据要求,即数据库中需要存储哪些数据。处理要求是指用户要求完成对数据做什么处理。需求分析阶段要采用合适的模型来描述用户的需求,以便与用户进行有效的沟通和交流,从而能完全准确地了解用户的需求。2. 数据库设计数据库设计是确定系统所需要的数据库结构。数据库设计包括概念设计、逻辑设计和建立数据库(又称物理设计)。概念设计的任务是在数据分析的基础上,对实际工作中的信息进行提炼、抽象,建立实体关系模型(ER模型)。逻辑设计的任务是将ER模型转换为关系模型。在ER模型转换为关系模型中,把每一实体转换为一个关系模式,实体的属性就是关系的属性,把每一个联系也转换为一种关系模式,与该联系相连的各实体的属性或关键字转换为该关系的属性或关键字。在数据库设计时利用数据字典来描述数据库应用系统中所有的数据。物理设计是在计算机的物理设备上,确定应采取的数据存储的结构和方法,以及如何分配存储空间等问题。即建立数据库结构。3. 程序设计程序设计是在功能分析的基础上,进一步规划应用程序的功能模块、菜单界面设计、各功能模块程序设计。在每一个模块程序设计完成之后,都要使用一定的模拟数据进行调试,使其达到预期的功能要求。4. 测试测试可以分成单元测试,集成测试和确认测试。单元测试是在程序设计时对一个模块进行的测试工作,它通常可以使用黑盒测试和白盒测试。集成测试是在模块按照设计要求组装起来的同时进行测试,主要目标是发现与接口有关的问题。通常采用黑盒测试技术来进行集成测试。确认测试也称为验收测试,它的目标是验证软件的有效性,即验证软件满足用户需求中的性能指标的程度。5. 维护维护阶段的关键任务是通过各种必要的维护活动使软件系统持久地满足用户的需要。通常有四类维护活动:改正性维护,也就是诊断和改正在使用过程中发现的软件错误;适应性维护,即修改软件以适应应用环境的变化;完善性维护,即根据用户的要求改进或扩充软件使它更完善;预防性维护,即修改软件为将来的维护活动预先做准备。1.4 实体关系图在1.3节中已经提到,数据库概念设计是要建立实体关系模型。实体关系图(Entity Relation Diagram,简称ER图)是用来描述

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论