软考数据库系统工程师复习资料41980.docx

上传人:you****now 文档编号:62730898 上传时间:2022-11-22 格式:DOCX 页数:50 大小:104.70KB
返回 下载 相关 举报
软考数据库系统工程师复习资料41980.docx_第1页
第1页 / 共50页
软考数据库系统工程师复习资料41980.docx_第2页
第2页 / 共50页
点击查看更多>>
资源描述

《软考数据库系统工程师复习资料41980.docx》由会员分享,可在线阅读,更多相关《软考数据库系统工程师复习资料41980.docx(50页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、软考数据库系统工程师复习资料一、数据模型1.数据模型的三要素(1)数据结构 数据结构是所研究的对象类型(Object Type)的集合。这些对象和对象类型是数据库的组成成分。一般可分为两类:一类是与数据类型、内容和其它性质有关的对象;一类是与数据之间的联系有关的对象。前者如网状模型中的数据项和记录,关系模型中的域、属性和关系等。后者如网状模型中的关系模型(set type)。在数据库领域中,通常按照数据结构的类型来命名数据模型,进而对数据库管理系统进行分类。如层次结构、网状结构和关系结构的数据模型分别称作为层次模型、网状模型和关系模型。相应地,数据库分别称作为层次数据库、网状数据库和关系数据库

2、。(2)数据操作 数据操作是指对各种对象类型的实例(或值)所允许执行的操作的集合,包括操作及有关的操作规则。在数据库中,主要的操作有检索和更新(包括插入、删除、修改)两大类。数据模型定义了这些操作的定义、语法(即使用这些操作时所用的语言)。数据结构是对系统静态特性的描述,而数据操作是对系统动态特性的描述。两者既有联系,又有区别。(3)数据的约约束条件 数据的约束束条件是完整整性规则的集集合。完整性性规则是指在在给定的数据据模型中,数数据及其联系系所具有的制制约条件和依依存条件,用用以限制符合合数据模型的的数据库的状状态以及状态态的变化,确确保数据的正正确性、有效效性和一致性性。2.概念模型数数

3、据模型是数数据库系统的的核心和基础础。每个DBBMS软件都都是基于某种种数据模型的的。为了把现现实世界中的的具体事物或或事物之间的的联系表示成成DBMS所支支持的数据模模型,人们首首先必须将现现实世界的事事物及其之间间的联系进行行抽象,转换换为信息世界界的概念模型型;然后将信息息世界的概念念模型转换为为机器世界的的数据模型。也也就是说,首首先把现实世世界中的客观观对象抽象成成一种信息结结构。这种信信息结构并不不依赖于具体体的计算机系系统和DBMMS。然后,再再把概念模型型转换为某一一计算机系统统上某一DBBMS所支持持的数据模型型。因此,概概念模型是从从现实世界到到机器世界的的一个中间层层次。

4、现实世世界的事物反反映到人的大大脑之中,然然后人们开始始认识这些事事物,经过选选择、命名、分分类和组织等等抽象工作之之后形成概念念模型,并进进入到信息世世界。?用户(useer) 关心的是现现实世界中的的事物、事物物的属性及其其相互关系。例例如,用户可可能关心他的的顾客及其属属性,如顾客客地址、银行行帐号等等。用用户也关心自自己的定货帐帐目,如谁订订的货、订的的什么和订多多少等等。?系统分析员员(anallyst) 同样也关心心现实世界,但但是系统分析析员需要分析析用户的信息息需求。作为为需求分析的的结果,分析析员必须以文文档的形式对对需求进行结结构化的描述述;这个文档就就是信息模型型。?实体

5、(Enttity) 实体是构成成数据库的基基本元素。实实体是指一个个存在的东西西以区别这个个东西所具有有的属性和这这个东西与其其它东西的联联系。实体可可以是人,也也可以是物;可以是实际际对象,也可可以是概念;可以是事物物本身,也可可以是指事物物之间的联系系。?属性(Atttributte) 一个实体可可以由若干个个属性来刻画画。属性是相相对实体而言言的,是实体体所具有的特特性。?关键字(Keey) 能唯一地标标识实体的属属性的集合称称为关键字(或或码)。?域(Domaain) 属性的取值值范围称作域域。?实体型(Enntity Type) 一类实体所所具有的共同同特征或属性性的集合称为为实体型

6、。一一般用实体名名及其属性来来抽象地刻画画一类实体的的实体型。?实体集(Enntity Set) 同型实体的的集合叫实体体集。例如,学学生就是一个个实体集。实实体集的名即即是实体型。对对于学生和(学学号,姓名,年年龄,系,年年级)均是实实体型,而学学生是对实体体型(学号,姓姓名,年龄,系系,年级)所所起的名称,两两者是指同一一客观对象。但但本科生和研研究生可以为为相同实体型型,而实体集集不同。?联系(Rellationnship) 现实世界的的事物之间是是有联系的。一一般存在两类类联系:一是实体内内部的组成实实体的属性之之间的联系,二二是实体之间间的联系。在在考虑实体内内部的联系时时,是把属性

7、性看作为实体体。一般来说说,两个实体体之间的联系系可分为三种种:(1)一对一(111)联系 若对于实体体集A中的每一个个实体,实体体集B中至多有唯唯一的一个实实体与之联系系,反之亦然然,则称实体体集A与实体集B具有一对一一联系,记作作11。(2)一对多(11n)联系 若对于实体体集A中的每个实实体,实体集集B中有n个实体(n0)与之联联系;反之,对于于实体集B中的每一个个实体,实体体集A中至多只有有一个实体与与之联系,则则称实体集AA与实体集B有一对多联联系,记为11n。相应地有有多对一(nn1)联系 多对一联系系,从本质上上说,是一对对多联系的逆逆转。其定义义同一对多联联系类似,不不再赘述。

8、(3)多对多(mmn)联系 若对于实体体集A中的每一个个实体,实体体集B中有n个实体(n0)与之联联系;反之,对于于实体集B中的每一个个实体,实体体集A中也有m个实体(m0)与之对对应,则称实实体集A与实体集B具有多对多多联系,记作作mn。实质上,多多对多联系是是任意一种联联系。另外,同同一实体集内内的各个实体体间也可以有有各种联系。概概念模型的表表示方法最常常用的是实体体一联系方法法(Entiity-Reelatioonshipp Apprroach),简简称E-R方法。该该方法是由PP.P.S.Chen在在1976年提提出的。E-R方法用E-RR图来描述某某一组织的概概念模型。在在这里仅介

9、绍绍E-R图的要要点。在E-R图中:(1)长方形框框表示实体集集,框内写上上实体型的名名称。(2)用椭圆框框表示实体的的属性,并用用有向边把实实体框及其属属性框连接起起来。(3)用菱形框框表示实体间间的联系,框框内写上联系系名,用无向向边把菱形框框及其有关的的实体框连接接起来,在旁旁边标明联系系的种类。如如果联系也具具有属性,则则把属性框和和菱形框也用用无向边连接接上。3.三种主要的的数据模型实实际DBMSS所支持的数数据模型主要要有三种:?层次模型(HHierarrchicaal Moddel)?网状模型(NNetworrk Moddel)?关系模型(RRelatiional Modell)

10、其中,关关系模型是当当前DBMSS所支持的数数据模型的主主流。90年代运行行的DBMSS几乎都是基基于关系模型型的。层次模模型和网状模模型统称为非非关系模型。非非关系模型的的结构可以和和图论中的图图相对应,比比较直观,但但在理论上不不完备,实现现效率较低,故故此目前很少少用。但是最最近,层次模模型在研究面面向对象的DDBMS中已已得到重视。在在关系模型中中,数据在用用户的观点中中(或在用户户视图中)的的逻辑结构是是一张二维表表(Tablle)。?关系(Rellationn),对应于于平常讲的一一张表。?元组(Tupple),表表中的一行。?属性(Attribute),表中的一列称为一个属性,给

11、每一列起一个名,称为属性名。这一列或这个属性所有可能取的值的集合称为这个属性的值域(Domain),值域中的一个元素叫做这个属性的值。?主关键字(Primary Key Attribute或Primary Key),是指能唯一标识一个元组的一个或一组属性。?分量(Attribute value),是指元组中的一个属性值。?关系模式(Relational Schema),是对关系的描述,一般用关系名(属性名1,属性名2,属性名n)来表示。同层次模型和网状模型相比较,关系模型具有下列特点:(1)概念单一 在关系模型中,无论是实体还是实体之间的联系都用关系来表示。在关系模型中,在用户的观点中,数据的

12、逻辑结构就是表,也只有这唯一的概念。在非关系模型中,用户要区分记录型与记录型之间的联系两个概念;当环境复杂时,数据结构异常复杂,难以掌握。而关系模型,由于概念单一,可以变复杂为直观、简单,易学易用。(2)规范化 所谓关系规范化是指在关系模型中,每一个关系都要满足一定的条件要求。这些条件被称为规范条件。对于关系,一个最基本的规范条件是,要求关系中的每一个属性(或分量)均是不可分的数据项;也就是说不允许表中有表,表是不可嵌套的。(3)在关系模型中,用户对数据的操作的输入和输出都是表,也就是说,用户通过操作旧表而得到一张新表。总之,关系模型概念简单,结构清晰,用户易学易用,有严格的以数学为基础的关系

13、理论作指导,便于DBMS的实现。基于关系的DBMS简化了应用程序员的工作,便于数据库应用系统的设计和维护。故此,关系模型自诞生以后就得到了迅速的发展,成为应用最为广泛的、唯一的数据模型。二、数据库系统统的结构1.数据库系统统的三级模式式结构数据库库管理系统的的三级模式结结构由外模式式、模式和内内模式组成。外外模式(exxternaal schhema),或或子模式(ssubschhema)或或用户模式(user schema),是指数据库用户所看到的数据结构,是用户看到的数据视图。模式(schema)或逻辑模式(logic schema),是数据库中对全体数据的逻辑结构和特性的描述,是所有用户

14、所见到的数据视图的总和。外模式是模式的一部分。内模式(internal schema),或存储模式(storage schema),或物理模式(physical schema),是指数据在数据库系统内的存储介质上的表示,即对数据的物理结构和存取方式的描述。模式描述的是数据的全局的逻辑结构,决定了DBMS的功能。外模式涉及的仅是局部的逻辑结构,是模式的子集,是对模式的调用。数据库系统的三级模式是对数据进行三个层次抽象的工具。通过三级模式,把对数据的具体组织留给DBMS来完成,使得用户能在高层次上处理数据的逻辑结构,而不必关心数据的物理结构。为了实现这三个层次这间的联系,DBMS在沟通三级模式中提

15、供了两个映象:外模式-模式映象模式-内模式映象(1)模式 模式规定了数据库中全部数据的一个逻辑表示或描述形式。模式既不同于内模式,也不同于外模式。它比内模式抽象,不涉及数据的物理结构和存储介质。它与具体的应用程序或高级语言无关。(2)外模式 外模式是个别用户的数据视图,即与某一应用有关的数据的逻辑表示。(3)内模式 内模式是全部数据库的内部表示或底层描述,是用来定义数据的物理结构和存取方式的。(4)二级映象 对于同一个模式,可以有任意多个外模式。外模式-模式的映象定义了某个外模式和模式之间的对应关系。这些映象的定义通常包含在各自的外模式中。当模式改变时,外模式-模式的映象要做相应的改变,以保证

16、外模式的不变性。这是数据库管理员(DBA)的责任。模式-内模式的映象定义了数据逻辑结构和存储结构之间的对应关系。例如,字段的内部表示等。当数据库的存储结构改变时,模式-内模式的映象也须做相应的修改,以使得模式保持不变性。这仍是DBA的责任。正是由于上述二级映象的功能及其自动实现,使得数据库系统中的数据具有较高的逻辑独立性和物理独立性,从而大大地方便了用户的使用。(5)概念模式与模式ANSI研究组于1975年2月提出一个临时报告。1978年提出一个最终报告,称之为ANSI/SPARC报告,简称为SPARC报告。SPARC报告中指出,数据库管理系统应具有三级模式的结构,即概念模式、外模式和内模式。

17、其中外模式和内模多与上面所讲的大致相当。但SPARC报告中的概念模式是指一个组织或部门所对应的现实世界的真实模型,即概念模型。概念模式仅描述实体及其属性和联系,不涉及机器世界的概念。概念模型是信息世界范畴内的信息的结构,而模式是机器世界范畴内的概念模型的逻辑表示。概念模型独立于具体的计算机系统,甚至是和计算机无关的,是一个组织或部门的模型。常用的描述概念模式的方法是E-R方法。模式是依赖于具体的计算机及其DBMS的。模式通过三种具体模型:层次模型、网状模型和关系模型来加以实现。概念模式必须转换成具体的数据模型,然后才能在相应的DBMS上实现。概念模型和模式都是描述信息或数据的整体结构的,然而它

18、们是在不同的抽象层次上加以描述的。概念模型离机器更远,形式化程度低。从远离机器的观点看,概念模型更抽象些,但更接近现实世界。而模式描述使用的是形式化的语言-模式DDL,而概念模型描述使用的是E-R图和一些自然语言。2.使用数据库库的计算机系系统结构广义义地讲,实际际上使用数据据库的计算机机系统由下列列几个部分组组成的:(1)硬件部分分 包括主机、外外部存储设备备、网络设备备和电源等。(2)软件部分 包括操作系统、DBMS、编译系统和应用开发工具软件等。(3)人员 包括数据库管理员(Data Base Administrator-DBA),系统分析员(System Analyst)、应用程序员(

19、Application Programmer)和用户(User)。3.数据库管理理系统数据库库管理系统DDBMS是数数据库系统的的核心。DBBMS是负责责数据库的建建立、使用和和维护的软件件。DBMSS建立在操作作系统之上,实实施对数据库库的统一管理理和控制。用用户使用的各各种数据库命命令以及应用用程序的执行行,最终都必必须通过DBBMS。另外外,DBMSS还承担着数数据库的安全全保护工作,按按照DBA所规定定的要求,保保证数据库的的完整性和安安全性。DBBMS的主要要功能包括以以下几个主要要方面:(1)数据库的的定义功能 DBMS通通过提供数据据描述语言(也也称数据定义义语言)(DData

20、DDescriiptivve LannguageeDDDL)来对外外模式、模式式和内模式加加以描述。然然后模式翻译译程序把用DDDL写的各各种模式的定定义源码翻译译成相应的内内部表示,形形成相应的目目标形式,分分别叫目标外外模式、目标标模式、目标标内模式,这这些目标模式式是对数据库库的描述,而而不是数据本本身。(目标标)模式只刻刻画了数据库库的形式或框框架,而不包包括数据库的的内容。这些些目标模式被被保存在数据据字典(或系系统目标)之之中,作为DDBMS存取取和管理数据据的基本依据据。例如,DDBMS根据据这些模式定定义,进行物物理结构和逻逻辑结构的映映象,进行逻逻辑结构和用用户视图的映映象,

21、以导出出用户要检索索的数据的存存取方式。(2)数据操纵纵功能 DBBMS提供数数据操纵语言言(Dataa Maniipulattion LLanguaageDML)实实现对数据库库中数据的一一些基本操作作,如:检索、插入入、修改、删删除和排序等等等。DMLL有两类:一类是嵌入入主语言的,如如嵌入到C或COBOLL等高级语言言中。这类DDML语言本本身不能单独独使用,故此此称为宿主型型的DML或嵌入入式DML。另一一类是非嵌入入式语言(包包括交互式命命令语言和结结构化语言),它它的语法简单单,可以独立立使用,由单单独的解释或或编译系统来来执行,所以以一般称为自自主型或自含含型的DMLL。命令语言

22、言是行结构语语言,单条执执行。结构化化语言是命令令语言的扩充充或发展,增增加了程序结结构描述或过过程控制功能能,如循环、分分支等功能。命命令语言一般般逐条解释执执行。结构化化语言可以解解释执行,也也可以编译执执行。现在DDBMS一般般均提供命令令语言的交互互式环境和结结构环境两种种运行方式,供供用户选择。DBMS控制和执行DML语句(或DML程序),完成对数据库的操作。对于自主型的结构化的DML,DBMS通常采用解释执行的方法,但也有编译执行的方法,而且编译执行的越来越多。另外,很多系统同时设有解释和编译两种功能,由用户选其一。对于嵌入型或缩主型DML,DBMS一种提供两种方法:预编译方法。修

23、改和扩充主语言编译程序(亦称增强编译方法)。预编译方法是,由DBMS提供一个预处理程序,对源程序进行语法扫描,识别出DML语句,并把这些语句转换成主语言中的特殊调用语句。主语言必须和DML有调用接口。这样在连接形成目标时和主语言语句一起形成可执行的目标。(3)数据库运运行管理 数据库运行行期间的动态态管理是DBBMS的核心心部分,包括括并发控制、存存取控制(或或安全性检查查、完整性约约束条件的检检查)、数据据库内部的维维护(如索引引、数据字典典的自动维护护等)、缓冲冲区大小的设设置等等。所所有的数据库库操作都是在在这个控制部部分的统一管管理下,协同同工作,以确确保事务处理理的正常运行行,保证数

24、据据库的正确性性、安全性和和有效性。(4)数据库的的建立和维护护功能 数据库的建建立和维护包包括初始数据据的装入、数数据库的转储储或后备功能能、数据库恢恢复功能、数数据库的重组组织功能和性性能分析等功功能,这些功功能一般都由由各自对应的的实用功能子子程序来完成成。DBMSS随软件产品品和版本不同同而有所差异异。通常大型型机上的DBBMS功能最最全,小型机机上的DBMMS功能稍弱弱点,微机上上的DBMSS更弱些。但但是,目前,由由于硬件性能能和价格的改改进,微机上上的DBMSS功能越来越越全。三、关系数据库库的标准语言言SQLL1.SQLL概述SQL的英语语名称是结构构查询语言(Structur

25、ed Query Language)实际上它的功能能包括查询(Query)、操纵(Manipulation)、定义(Definition)和控制(Control)四个方面,是一个综合的、通用的、功能极强的关系数据库语言。SQL支持数据库的三级模式结构。2.SQL的数数据定义功能能SQL的数据据定义功能包包括三部分:定义基本表表,定义视图图和定义索引引。它们是:CREATTE TABBLE CRREATE VIEW CREATTE INDDEX DRROP TAABLE DDROP VVIEW DDROP IINDEX SQL的数数据定义功能能可用于定义义和修改模式式(如基本表表),定义外外模式

26、(如视视图)和内模模式(如索引引)。3.基本表的定定义与删除定定义基本表的的语句格式为为:CREATTE TABBLE表名 (列名1 类型NOTT NULLL,列名2类型NOTT NULLL)其他参数数;其中,任选选项“其它参数”是与物理存存储有关的参参数。根据具具体系统的不不同而不同。删删除基本表的的语句为:DDROP TTABLE表表名;删除索引的的语句为:DDROP IINDEX索索引名;删除索引的的同时把有关关索引的描述述也从数据字字典中删去。但但表的内涵仍仍存在且其数数据外延内容容不变。把一一个基本表的的定义连同表表上所有的记记录、索引以以及由此基本本表导出的所所有视图全部部都删除,

27、并并释放相应的的存储空间。4.索引的建立立与删除对一一个基本表,可可以根据应用用环境的需要要建立若干索索引,以提供供多种存取方方式。通常,索索引的建立和和删除由DBBA或表的主主人(即建立立表的人)负负责。用户不不必也不能在在存取数据时时选择索引。存存取路径的选选择由系统自自动进行。索索引的描述存存放在数据字字典中。建立立索引的语句句格式为:CREATTEUNIQUUE INDEEX索引名ON基本表名名(列名次次序,列列名次序)其他参参数;这里的任选选项其他参参数是与物理理存储有关的的参数。索引引可以建在一一列或几列上上。圆括号内内是索引列的的顺序说明表表。其中的任任选项次序,指定定了索引值排

28、排序的次序。可可取ASC(升序序)或DESSC(降序)。缺缺省值为升序序。UNIQQUE表示每每一索引值只只对应唯一的的数据记录。5.SQL的数数据操纵功能能SQL的数据据操纵功能包包括SELEECT,INSERRT,DELETTE和UPDATTE四个语句句,即检索和和更新(包括括增、删、改改)两部分工工能。检索就就是查询。SSQL更新语语句SQL的更新新语句包括修修改,删除和和插入三类语语句。修改(UPDDATE)(亦亦称为更新)修改语句的一般格式为:UPDATE表名SET字段=表达式,字段=表达式WHERE谓词;修改指定表中满足谓词(或条件)的元组,把这些元组按SET子句中的表达式修改相应

29、属性或字段上的值。删除(DELLETE)删除语句一一般格式为:DELETTE FROOM表名WHEREE谓词;从指定表中中删除满足谓谓词的那些记记录。没有WWHERE子子句时表示删删去此表中的的全部记录,但但此表的定义义仍在数据字字典中,只是是一个空表。DELETE只对表外延操作,不对内涵操作。插入(INSSERT)插插入语句的一一般格式为:INSERRT INTTO表名(字字段名,字字段名)valuueS(常量量,常量);或INSERRTINTOO表名(字字段名,字字段名)子查询;第一种格式式把一个新记记录插入指定定的表中。第第二种格式把把子查询的结结果插入表中中。若表中有有些字段在插插入语

30、句中没没有出现,则则这些字段上上的值取空值值NULL。当当然在表定义义中说明了NNOT NUULL的字段段在插入时不不能取NULLL。若插入入语句中没有有指出字段名名,则新记录录必须在每个个字段上均有有值。6.视图视图是是从一个或几几个基本表(或或视图)导出出的表。某一一用户可以定定义若干视图图。因此对某某一用户而言言,按ANSSI/SPAARC报告的的观点,他的的外模式是由由若干基本表表和若干视图图组成的。视视图和基本表表不同,视图图是一个虚表表,即视图所所对应的数据据不实际存储储在数据库中中,数据库中中只存储视图图的定义(存存在数据字典典中)。视图图一经定义就就可以和基本本表一样被查查询、

31、被删除除(DROPP),也可以以用来定义新新的视图,但但更新(增、删删、改)操作作将有一定限限制。视图可可以理解成一一个数据库,只只有内涵保存存在数据库字字典中,而无无外延存储;其外延是在在使用时动态态地生成的或或计算出来的的。(1)视图的定定义与删除SSQL建立视视图的语句格格式为:CREATTE VIEEW视图名(字段名,字段名) AS子查询WITH CHECKK OPTIION谓词;视图可以删删除,语句格格式为:DROP VIEW视视图名;视图的定义义就从数据字字典中删除。由由此视图导出出的其它视图图也将自动被被删除。若导导出此视图的的基本表删除除了,则此视视图也将自动动删除。(2)视图

32、的查查询语句视图图定义后,用用户可以如同同基本表那样样对视图查询询。(3)视图的更更新语句对视视图的更新最最终要转换成成对基本表的的更新(这里里的更新,指指INSERRT,UPDATTE和DELETTE三类操作作)。在关系系数据库中,并并非所有的视视图都是可更更新的,也就就是说,有些些视图的更新新不能唯一地地有意义地转转换成对基本本表的更新。(4)视图的优优点视图的概概念具有很多多优点,主要要有:(1)视图对于于数据库的重重构造提供了了一定程度的的逻辑独立性性;(2)简化了用用户观点;(3)视图机制制使不同的用用户能以不同同的方式看待待同一数据;(4)视图机制制对机密数据据提供了自动动的安全保

33、护护功能。7.SQL的数数据控制功能能SQL数据控控制功能是指指控制用户对对数据的存取取权力。某个个用户对某类类数据具有何何种操作权力力是由DBAA决定的。这这是个政策问问题而不是技技术问题。数数据库管理系系统的功能是是保证这些决决定的执行。为为此它必须能能:(1)把授权的的决定告知系系统,这是由由SQL的GRANTT和REVOKKE语句来完完成的。(2)把授权的的结果存入数数据字典。(3)当用户提提出操作请求求时,根据授授权情况进行行检查,以决决定是执行操操作请求还是是拒绝之。授授权语句的一一般格式为:GRANTT权力,权权力ON对象类型型对象名 TO用户,用户,WITH GRANTT OP

34、TIION;对不同类型的操操作对象可有有不同的操作作权力。(1)对基本表表、视图及其其字段的操作作权力有查询询、插入、更更新、删除以以及它们的总总和ALL PRIVIILEGE。(2)对基本表表的操作权力力还有修改(ALTER)和建立索引(INDEX)。(3)对数据库的操作权力有建立表(CREATETAB)。某用户有了此权力就可以使用Create table建立基本表。称他为表的主人,拥有对此表的一切操作权力。(4)对表空间的权力有使用(USE)数据库空间存储基本表的权力。(5)系统权力有建立新数据库(CREATEDBA)的权力。GRANT语句中的任选项WITH GRANT OPTION的作用

35、是使获得某种权力的用户可以把权力再授予别的用户。8.嵌入式SQQL把SQL嵌入主主语言使用时时必须解决三三个问题:(1)区分SQLL语句与主语语言语句。这这是通过在所所有的SQLL语句前加前前缀EXECC SQL来来解决的。SSQL语句结结束标志随主主语言不同而而不同,如PPL/1用分分号(;),COBOOL用EMD-EEXEC来表表示。SQLL语句首先由由预编译程序序加以处理,转转换为主语言言编译程序能能够识别的形形式,然后交交主语言编译译程序进一步步处理。(2)数据库工工作单元和程程序工作单元元之间的通信信。SQL语句中中可以使用主主语言的程序序变量(简称称主变量),这这些变量名前前加冒号

36、(:)作标志,以以区别地字段段名,程序中中使用的任何何表(基本表表或视图)都都要用EXEEC SQLL DECLLARE语句句加以说明。一一则使程序更更加清晰,二二则使预编译译程序能作某某些语法检查查。SQL语句执执行后,系统统要反馈给应应用程序若干干信息,这些些信息送到SSQL的通信信区SQL CA。SQL CCA用语句EXEEC SQLL INCLLUDE加以以定义。在SSQL CAA中有一个状状态指示字段段SQL CCODE。当当SQL CCODE为零零时,表示SSQL语句执执行成功,否否则返回一个个错误代码(负负值)或警告告信息(正值值)。程序员员应该在每个个SQL语句之之后测试SQQ

37、L CODDE的值,以以便处理各种种情况。(3)一个SQQL语句原则则上可产生或或处理一组记记录,而主语语言一次只能能处理一个记记录,为此必必须协调两种种处理方式。这这是用游标(Cursor)来解决的。下面首先讨论不需要游标的DML语句,然后讨论使用游标的DML语句。9.不用游标的的DML语句不需要游游标的DMLL语句有:查询结果为为单记录的SSELECTT语句UPDAATE(除了了CURREENT形式的的UPDATTE)语句DELLETE(除除了CURRRENT形式式的DELEETE)语句句INSERRT语句(1)查询结果果为单记录的的SELECCT语句这类类语句的一般般格式是:(主语言为为

38、PL/1)EXEC SQL SSELECTT目标列INTTO主变量空值标志FROM基本表(或或视图)WWHERE条条件表达式;SELEECT语句从从数据库中找找到符合条件件的记录,把把结果放到主主变量中。(2)UPDATTE语句(3)DELETTE语句(4)INSERRT语句10.使用游标标的DML语句一般情况况下SELEECT语句的的查询结果是是记录的集合合而不是单个个记录,为此此需要用游标标机制作为桥桥梁,把集合合操作转换为为单记录处理理。与游标有有关的语句有有四个:(1)定义游标标。游标是与与某一查询结结果相联系的的符号名。用用DECLAARE语句定定义。这是一一个说明语句句。与游标相相

39、对应的SEELECT语语句这时并不不执行。(2)打开(OPPEN)游标标。打开游标标语句使游标标处于活动状状态。与游标标相应的查询询语句被执行行。游标指向向查询结果集集中的第一个个记录之前。(3)推进(FETCH)游标。把游标向前推进一个记录,并把游标指向的当前记录中的字段值取出,放到INTO子句后相应的主变量中。FETCH语句常常用于循环,以借助主语言功能逐一处理结果集中的数据。(4)关闭(CLOSE)游标。关闭游标,使它不再和原来的查询结果相联系。关闭了的游标可以再次被打开,与新的查询结果集相联系。使用CURRENT形式的UPDATE和删除语句应注意:(1)若游标定义中的SELECT语句带

40、有UNION或ORDER BY子句,或者这个SELECT语句相当于定义了一个不可更新的视图,则不能用这两个更新语句。(2)若使用CURRENT形式的UPDATE语句,则游标定义中要包括FOR UPDATE子句,指出更新的字段(SET子句中使用的字段)。因此,游标定义语句的一般格式为:EXEC SQL DECLARE游标名CURSOR FOR子查询UNION子查询FOR UPDATE OF字段名,字段名|ORDER-BY-子句;11.SQL的的事务处理功功能(1)事务处理理的概述所谓谓事务(Trransacction)是是指一系列动动作的组合,这这些动作被当当作一个整体体来处理。这这些动作或者者

41、相继都被执执行,或者什什么也不做。在在数据库中,一一个动作是指指一个SQLL语句。事务务是一组SQQL语句组成成的一个逻辑辑单位。要么么这些SQLL语句全部被被按顺序正确确执行,要么么在某SQLL语句执行失失败时,按照照用户要求,取取消已执行的的SQL语句对对数据库中数数据的修改。或或者要么事务务中SQL语句都都被正确执行行,完成该事事务对数据库库中数据的所所有操作;或者要么相相当于一条SSQL语句也也未执行,数数据库数据未未做任何改动动。(2)SQL语言的的事务处理语语句SQL语言有有3条语句用于于事务处理,它它们是:(1)Commiit语句,对对于正确执行行了的事务进进行提交,进进行提交即

42、对对数据库中数数据的修改永永久化。同时时还释放事务务和封锁,标标志该事务结结束。(2)Save pointt语句,定义义事务中的一一个回滚保留留点,它是事事务恢复时的的一个标记点点。(3)rollbback语句句,无论事务务执行的当前前位置在哪里里,该语句的的执行要么取取消事务执行行以来对数据据库的全部修修改,要么取取消至某个指指定回滚点后后对数据库的的全部修改。释释放自保留点点之后的全部部表或行的封封锁(没有保保留点,相当当于回滚到事事务开始处,终终止该事务)。事事务的恢复(回回滚)是根据据事务执行前前保存下的当当时数据库状状态来实现的的。一遇到rrollbaack语句,就就将数据库中中数据

43、恢复到到原来的状态态,相当于撤撤消事务中已已执行了的SSQL语句。四、数据库的存存储结构数据据库的存储结结构不同于一一般文件系统统的存储结构构。数据库数数据的特点是是各种记录型型之间彼此有有联系,数据据是结构化的的。数据的存存储结构不仅仅涉及每种记记录型的记录录如何存储,而而且要使数据据的存储反映映各种记录型型之间的联系系。在DB多级模式式中引入内模模式(存储模模式)的主要要目的是使模模式的数据结结构的描述同同它的存储表表示的描述分分开,以致DDBA为了协协调数据库性性能而对数据据库数据的存存储方法进行行修改时,可可不必修改模模式,以提高高数据库的物物理独立性。在在各个数据库库管理系统中中,对

44、内模式式的定义功能能各不相同。在在关系数据库库管理系统中中有些DDLL语句可影响响数据库的存存储结构。在在DBMS中各各级模式的存存储结构是恒恒定的或唯一一的,而数据据库内容(或或其记录)的的存储方式是是不唯一的。数数据库存储结结构设计的好好坏直接影响响系统的性能能。在存储结结构中主要是是涉及存储记记录的设计。存存储记录与概概念记录之间间具有对应关关系,如果存存储记录与概概念记录之间间具有一一对对应关系,在在这种情况下下存储记录的的设计就比较较简单,不需需要进一步讨讨论。概念记记录是指在逻逻辑结构中的的记录。但当当一个概念记记录对应多个个不同类型的的存储记录时时,存在如何何设计存储记记录的问题

45、。对对于这样的概概念记录,其其存储记录可可以有以下几几种设计:1.顺序组织织将存储记录录设计成与概概念记录一一一对应,按SSNO大小(或或按记录到来来)的顺序将将记录组成一一个顺序组织织的文件。这这样组织的优优点是结构简简单,缺点是是会浪费存储储空间。2.顺序带链的的组织顺序带带链组织允许许记录中带有有指针(Poointerr),这样可可以大大节省省存储空间。3.带次关键字索引的顺序组织为了适应对多项内容的检索,可以建立索引文件,上述组织可改为带次关键字索引的顺序组织。4.多表组织在次关键字索引中,由于一个次关键字值对应于多个记录值,它们的个数是不固定的,所以对应的指针数目是可变的。这种可变性

46、给管理带来困难,为了解决这个困难,引入了多表组织。多表组织的实现思想比较简单,在索引中多个指针分散存放在每个记录值中,索引项中的指针指向第一个记录,在第一个记录中的指针指向第二个记录等等。5.完全倒排组织在一个记录型中,对主关键字以外的数据项都建立索引,这样的组织称之为完全倒排组织。6.Hash定址组织对于每一个存储记录值存放在数据库的什么地方,可通过对该记录的主关键字值的杂凑函数计算得出。这种组织为Hash定址组织。杂凑函数种类很多,如质数除余法、基数转换法、平方取中法、折叠法、位移法及各位数字分析法等等。关键是如何选择一个杂凑函数,尽可能避免发生碰撞。对于不同的主关键字值通过计算而得到同一

47、个地址的映象,称之为碰撞。7.联系的存储在关系数据库中,通过外来关键字(Foreign Key)来表示概念记录之间的联系。例如,为了表达学生和学校的联系,可以在学生记录中增加外来关键字“学校号”来表示联系。五、关系数据库库1.表格表格(或或简称表)表表示了用户的的特定类型(Type)的一些实体。表头由一些属性名(Attribute Name)组成,每个属性名对应于一列。在表上属性名必须唯一,不允许重名。表体是由一些行或元组(tuple)、或记录(record)组成。一个元组对应于传统的文件结构中的一个记录,一个记录含有若干个域(field)用以存储属性值(Attribute value)。一个

48、元组对应于一个“用户”实体的出现(occurrence)。表体中每一行和某一列的交叉点(相当于记录中的域)上保存一个属性值。这个属性值叫做这一行(或这个实体出现)的相应属性值。表体中每一列可以保存的值对应于某种属性类型(Type of Attribute),也就是说,这一列的属性值只能取这个属性类型的值。某个属性所能取的所有值的集合叫做这个属性的值域(Domain of Attribute)。类型和值域的对应关系是一对多的。一个类型有一个值域,但一个值域可以作为多个类型,基名称不同,但实质上值域一样。实际上,类型是对值域的命名。能唯一标识一个元组的属性称之为关键属性(Primary Key Attribute)或简称为主关键字(Primary Key)。主关键字有时是由多个属性组成的,此时的主关键字叫做组合关键字(Concatenated primary Key)。有的时候,表中必须由一些组合的主关键字才能唯一

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

当前位置:首页 > 管理文献 > 电力管理

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com