全国计算机等级考试四级复习纲要六[4]

全国计算机等级考试四级复习纲要六[4],第1张

全国计算机等级考试四级复习纲要六[4],第2张

(4)关闭光标。关闭光标,使其不再与原始查询结果相关联。关闭的游标可以再次打开,以便与新的查询结果集相关联。当使用当前形式的UPDATE和delete语句时,应该注意:

(1)如果游标定义中的SELECT语句有UNION或ORDER BY子句,或者该SELECT语句相当于定义了一个不可更新的视图,则不能使用这两个update语句。

(2)如果使用CURRENT形式的UPDATE语句,则游标定义中应包含一个FOR UPDATE子句,以指示更新的字段(SET子句中使用的字段)。因此,游标定义语句的一般格式为:EXEC SQL DECLARE CURSOR name CURSOR FOR subquery UNION subquery…[FOR update of field name[,field name]…| order-by-clause];

11.SQL的事务处理功能

(1)交易处理概述所谓交易,是指一系列动作的组合,作为一个整体来处理。这些动作要么一个接一个地执行,要么什么都不做。在数据库中,操作指的是SQL语句。事务是由一组SQL语句组成的逻辑单元。要么这些SQL语句全部按顺序正确执行,要么当某条SQL语句执行失败时,根据用户的要求,会取消已执行的SQL语句,以修改数据库中的数据。或者事务中的SQL语句执行正确,事务对数据库中数据的所有操作完成;或者相当于不执行SQL语句,不对数据库数据做任何更改。

(2)SQL语言中的事务语句SQL语言中有三个语句用于事务处理。它们是:

(1)Commit语句,它提交正确执行的事务,也就是说,对数据库中数据的修改是永久性的。同时解除交易和封锁,标志着交易结束。

(2)Save point语句,定义了事务中的一个回滚保持点,是事务恢复时的一个标记点。

(3)rollback语句,无论事务执行的当前位置在哪里,该语句的执行要么取消事务执行以来对数据库的所有修改,要么在到达指定的回滚点后取消对数据库的所有修改。释放自保存点之后所有表或行的阻塞(没有保留点,相当于回滚到事务开始,终止事务)。根据事务执行前保存的当前数据库状态实现事务恢复(回滚)。当遇到rollback语句时,数据库中的数据会恢复到原来的状态,相当于取消了事务中已经执行的SQL语句。

第四,数据库的存储结构

数据库的存储结构不同于一般的文件系统。数据库的特点是各种记录相互关联,数据是结构化的。数据存储结构不仅涉及如何存储每种记录类型的记录,而且使数据存储反映各种记录类型之间的关系。将内部模式(存储模式)引入DB多级模式的主要目的是将模式的数据结构描述从其存储表示中分离出来,以便当DBA为了协调数据库性能而修改数据库数据的存储方法时,不必修改模式来提高数据库的物理独立性。在每个数据库管理系统中,内部模式的定义功能是不同的。在关系数据库管理系统中,一些DDL语句会影响数据库的存储结构。在数据库管理系统中,各级模式的存储结构是不变的,但数据库内容(或其记录)的存储模式是不变的。数据库存储结构的设计直接影响系统的性能。存储结构主要涉及存储记录的设计。存储记录和概念记录之间存在对应关系。如果存储记录和概念记录是一一对应的,那么这种情况下存储记录的设计就比较简单,不需要进一步讨论。概念记录是指逻辑结构中的记录。但是,当一个概念记录对应许多不同类型的存储记录时,就存在一个如何设计存储记录的问题。对于这种概念记录,其存储记录可以有以下设计:

1.顺序结构

存储记录被设计成与概念记录一一对应,并且根据SNO的大小(或者根据记录的到达)将记录分组到顺序组织的文件中。这种组织的优点是结构简单,缺点是会浪费存储空。

2.有顺序链的组织

顺序链组织允许记录有指针,可以大大节省空的存储时间。

3.具有二级关键字索引的顺序组织

为了适应多种内容的检索,可以建立索引文件,将上述组织改为二级关键词索引的顺序组织。

4.多表组织

在辅键索引中,由于一个辅键值对应多个记录值,它们的数量是不固定的,所以对应指针的数量是可变的。这种可变性给管理带来困难。为了解决这一困难,引入了多表组织。多表组织的实现思路比较简单。在索引中,多个指针分散在每个记录值中,索引项中的指针指向第一条记录,第一条记录中的指针指向第二条记录,以此类推。5.完全倒置的组织在一个记录类型中,除了主键以外的所有数据项都被索引。这样的组织叫做完全倒置的组织。

6.每个存储的记录值存储在数据库中的哈希寻址组织可以通过记录的主键值的哈希函数来计算。这种组织是散列寻址组织。哈希函数有很多种,如质因数法、基数转换法、取平方法、折叠法、位移法、数字分析法等。关键是如何选择一个哈希函数来尽可能避免碰撞。对于不同的主键值,通过计算得到相同地址的图像,称为碰撞。

7.联系人的存储

在关系数据库中,外键用于表达概念记录之间的关系。例如,为了表达学生和学校之间的联系,可以在学生记录中添加一个外国关键字“学校编号”来表示这种联系。

动词 (verb的缩写)关系数据库

1.形式

表格(或简称为表格)代表特定类型用户的一些实体。标题由一些属性名组成,每个属性名对应一列。在表上,属性名必须是,不允许有重复的名称。表由行、元组或记录组成。在传统的文件结构中,一个元组对应一个记录,一个记录包含几个存储属性值的字段。元组对应于“用户”实体的出现。属性值保存在表中每行和某列的交叉处(相当于记录中的字段)。该属性值称为该行的对应属性值(或该实体的出现)。表中每一列可以容纳的值对应于某一类型的属性,即该列的属性值只能取该属性类型的值。属性可以取的所有值的集合称为属性的属性域。类型和值字段之间的对应是一对多的。一个类型有一个取值范围,但是一个取值范围可以作为多个类型使用,基名不同,但是取值范围基本相同。事实上,类型是范围的名称。能够标识一个元组的属性称为主键属性或简称主键。main关键字有时由多个属性组成。此时,main关键字称为concatenated primary Key。有时候,一个元组只能通过一个表中的一些组合主键来明确标识,也就是没有可以作为键的属性。这时候为了方便,往往会引入一个附加属性,称为Foreigh Key作为主键。外文关键词为以后的检索和查询带来了便利,但也增加了信息冗余。
2。表名、表头和表体

表名、表头、表体在关系模型中的角色或作用不同,所以也有完全不同的属性。标题是指定表格结构的属性的集合。表是一个特殊的群体,叫做关系。“关系模型”中的“关系”一词指的是表体中的这种数学关系。在关系数据库中,表名对应数据库名(或关系名),表头对应数据描述(或结构描述),表体对应数据库。表是数据库的内容,是数据库操作的对象。此外,必须强调两个概念:类型和价值或发生。头定义了实体(或元组)的类型,也就是说,它指定了实体(或元组)的取值范围。表体给出了实体(或元组)的外观。是发生类型中的值。

3.关系的数学定义

关系模型基于集合论。现在,我们开始用集合论的术语来严格定义数学关系,也就是给出关系的数学定义。1定义域是值集合。

4.关系模型

关系模型由三部分组成:数据结构(即关系)、关系操作和关系完整性。下面将分别讨论这三个部分。(1)单一数据结构-关系在关系模型中,实体和实体之间的连接都由单一类型的结构-关系来表示。以前,人们已经给出了关系和域的数学定义,并引入了多元关系、元组和属性的概念。这里有一些基本的概念,如关键字,关系模式和关系数据库。如果关键字关系中的一组属性的值可以清楚地标识一个元组,则该组属性称为候选关键字。如果一个关系有多个候选键,您可以选择其中一个作为主键。primary关键字中的属性称为主属性。关系模式关系的描述称为关系模式。它包括:关系名称、组成关系的属性名称、属性到域的映射、属性之间的数据依赖关系等等。因此,关系模式由三部分组成:关系名、属性名和属性到域的映射。关系模式通常缩写为R(A 1,A 2,…,A n),其中R是关系名,A 1,A 2,…,A n是属性名。属性到域的映射通常通过指定属性的类型和长度来解释。关系模式在某一时刻的状态指的是关系的扩展,即元组的集合。关系的外延内容有时简称为关系。然而,关系模型和关系的内容有时统称为关系。读者可以从上下文中分辨出它的确切含义。形象地说,关系模式是表名和表头的描述,而关系的内容是表体。数据库在关系数据库中,要区分两个基本概念,类型和值。关系数据库的类型是指数据库的结构描述,包括关系数据库的名称,一些属性的定义,以及这些属性上的一些关系模式。也称为数据库的内涵,数据库的价值也称为数据库的外延。在关系数据库中,内涵是相对稳定的,它规定了外延的取值范围。但是,扩展会随着时间而变化。这不同于一般形式逻辑中外延与内涵的一一对应。这里外延是指任何满足内涵的集合,而不一定是恒生指数满足内涵的集合。关系模式(即内涵)稳定;但是,关系的内容,即外延,是随着时间的动态变化而变化的。数据库的结构(即模式)是稳定的;但是数据库中的数据内容是不断更新的。

(2)关系操作的关系模型规定了关系操作的功能和特点,但没有规定DBMS语言的语法。关系数据库语言的主要特征(或优势)是其高度的非过程化或声明性。关系数据库语言的语句是透明的。用户只需要知道语句做什么,不需要知道怎么做。在他早期的文章中,Codd介绍了八种基本运算:并、交、差、笛卡尔积、限制、投影、连接、除。这些操作都是对一个关系的内容或表体的操作,得到的结果还是一个关系。注意,这些操作只是基本操作,不是不能再分的原语操作。例如,连接、交集和除法可以通过其他五种运算进行组合。不过把他们三个作为基本操作还是比较方便的。另外,Codd并没有说上述八种操作是关系数据库中仅有的八种操作。实际上,上述八个操作只是最小的DML操作的基本部分,并没有考虑DDL的需求。SQL支持的操作比上述八种DML操作更多,SQL还支持DDL操作。运算的特点是集合运算,即运算的对象和结果都是集合。这种操作模式也称为一次设置模式。而非关系模型的数据库以一次记录的方式操作。关系运算可以用两种方式表达:

①代数方式,即关系代数。

②逻辑方式,即关系演算,进一步分为元组关系演算和域关系演算。已经证明这些表示在功能上是彼此等价的。一般可以选一个。

(3)关系模型的三种完整性关系模型的三种完整性是:

①实体完整性(Entity Integrity)

②参照完整性。

③用户自定义完整性。其中,实体完整性和参照完整性是任何关系模型都必须满足的完整性约束,应该由关系数据库DBMS自动支持。用户自定义完整性的支持是DBMS提供完整性定义设施(或机制),可以随DBMS商业软件而变化。实体完整性是指如果属性A是基本关系R的主键的属性(即主属性),则属性A不能取空 (NULL)的值。关系数据库中有各种关系,如基本关系(通常称为基本表)、查询表、视图表等等。表基本上是指实际的表,它是实际存储数据的逻辑表示。查询表是指查询结果对应的表。视图表是从基本表或视图表派生的表,是虚拟表,与实际存储的数据不对应。实体完整性是针对基本关系的。空值是指“不知道”或“无意义”或“不属于域”的值。空的值用“NULL”表示。实体完整性解释如下:

(1)基本关系通常对应于现实世界中的一组实体。例如,学生关系对应于学生实体集。基础关系不是由其他关系产生的关系。基本关系是原语,这是定义复杂关系的起点。

(2)现实世界中的实体是可区分的,即实体具有一定的同一性。

(3)在关系模型中,主键被用作满足的标识。(primary关键字中的属性不能取空的值。如果主键中的某个属性取值为空,则表示无法识别某个实体;这与(2)相矛盾。参照完整性是指如果基本关系R包含对应于另一个基本关系S的主键K S的属性组F(F称为R的外部键),则关系R的每个元组中F的值必须满足:

①取空(即f中每个属性的值为空)的值;

②或者等于S中一个元组的主键的值,基本关系R和S不一定不同。外部关键字也称为外来关键字。例如,在数据库中,员工关系EMP(员工编号、姓名、部门编号)和部门关系DEPT(部门编号、部门名称)是两种基本关系。EMP的主键是EmployeeNo。部门是部门号。在EMP中,部门号。是EMP的外部键。因此,EMP中每个元组的“部门号”的值只有两种可能:

①取空的值。这说明这个员工没有被分配到某个部门;

②取空以外的值。此时“部门编号”的值必须是DEPT中一个元组中“部门编号”的值,表明该员工不能被分配到一个不存在的部门。也就是说,被引用的关系DEPT中必须有一个元组,这个元组的关键字的值等于EMP中一个元组的外部关键字的值。实体完整性和引用完整性是任何关系数据库系统的所有数据库的一般原则。用户定义的完整性是对特定数据库的约束。这些条件由现实世界中的应用环境决定。它涉及特定应用程序中的数据必须满足的语义要求。关系模型的DBMS应该提供一种机制来定义和验证这种完整性条件,以便使用一种统一的方法来自动处理它们,而不需要应用程序员承担这一功能。
5。关系数据库语言概述

关系数据库语言有三种:数据描述语言DDL、数据操作语言DML和数据控制语言DCL。DDL负责数据库的描述,并提供一种数据描述机制来描述数据库的特征或数据的逻辑结构。DML负责数据库操作,并提供一种处理数据库操作的机制。DCL负责控制数据库的完整性和安全性,并提供检查完整性和确保安全性的机制。DML是用户经常使用的语言,包括DBMS的主要功能。DML包括数据查询、数据添加、删除和修改功能。查询表达式是DML的主要部分。根据查询方法,数据库的DML可以分为两类:

(1)用关系的集合代数运算来表示查询,称为关系代数。

(2)谓词演算表达查询的方式称为关系演算。根据谓词论元的基本对象是元组变量还是域变量,关系演算可以分为元组关系演算和域关系演算。关系代数和两种关系演算是抽象的查询语言,与实际DBMS软件产品中实现的具体查询语言并不完全相同。但它们是数据库管理系统中查询语言的理论基础。关系代数、元组关系演算和域关系演算在表达能力上是等价的,在实际的DBMS软件产品中都可以作为评价查询语言能力的标准。实际DBMS软件产品的查询语言不仅提供关系代数(或关系演算),还提供许多附加功能,如库函数和算术运算。SQL是介于关系代数和关系演算之间的语言。SQL不仅具有丰富的查询功能,还具有数据库定义和数据库控制功能。SQL是一种集成了DDL、DML和DCL的标准关系数据库语言。SQL充分体现了关系数据库语言的优势。

6.关系代数

关系代数中的运算可以分为两类:

(1)传统的集合运算,如并、交、差、笛卡尔积等。这种操作是从关系的“横向(即按行)”进行的。

(2)专门的关系操作,如选择、投影、连接和划分。这种操作不仅涉及行,还涉及列。

7.关系演算

关系演算以数理逻辑中的谓词演算为基础。是E.F.Codd用谓词演算作为关系数据库的语言,提出了关系演算。Codd首先定义了关系演算语言ALPHA。但是ALPHA并没有在计算机上实现。但是关系数据库管理系统INGRES使用的QUEL语言是参考ALPHA开发的,与ALPHA非常相似。

第六,关系数据库的标准化理论

函数相关

1.设R(U)是属性集U上的关系模式..x和y是u的子集..对于R(U)的任何可能关系R,如果R中的两个元组不可能在X上有相等的属性值,而在Y上有不相等的属性值,则称为‘X函数决定Y’或‘Y函数依赖X’,记为X → Y。

函数依赖和其他数据依赖一样,是语义范畴的概念。函数依赖只能根据语义来确定。比如名字→年龄的函数依赖,只有在没有同名人的情况下才能成立。如果允许同名,则年龄在功能上不再依赖于该名称。设计师也可以对现实世界做出强制性规定。比如规定不允许出现同名同姓的人,从而使姓名→年龄功能产生依赖性。这样,在插入一个元组时,元组上的属性值必须满足指定的函数依赖,如果发现同名,将拒绝插入该元组。注意,函数依赖不是指关系模式R的一个或某些关系满足的约束条件,而是指R的所有关系都必须满足的约束条件。

七。数据库的安全与保护

1.安全

数据库安全是指保护数据库,防止非法或非正常使用造成的数据泄露、更改或破坏。安全问题不只是数据库系统才有,计算机系统也有。大量的数据集中存储在数据库系统中,并由许多用户直接共享,这是一种非常重要的信息资源。因此安全问题变得更加突出。系统安全措施是否有效是数据库系统的主要性能指标之一。保护数据库有两种方法:系统处理和物理处理。所谓物理,是指强制密码泄露、窃听通信线路,甚至窃取物理存储设备的行为。采取的措施是将数据编码成密码,加强安全警卫以识别用户和保护存储设备。在一般的计算机系统中,安全措施是逐级设置的。

(1)用户识别与标识首先,系统为用户提供了一定的方式来标识自己的姓名或身份。只有在系统验证和评估后,才能提供机器的使用权。常用的方法有:使用用户名或用户识别号来表明用户身份。系统识别该用户是否是合法用户。如果是,可以进行下一步验证;如果没有,就不能用电脑。用户名登录只能由系统管理员进行,一般用户无法实现用户名登录。密码,为了进一步验证用户,系统往往要求用户输入密码。

(2)访问控制:对于有权限访问计算机的用户,要按照预先定义的用户权限进行访问控制,以保证用户只能访问自己有权访问的数据。所谓用户权限,是指不同用户对不同数据对象进行操作的权限。它由两部分组成,一部分是数据对象,另一部分是操作类型。有两种类型的数据。一个是数据本身,比如关系数据库中的表和字段,非关系数据库中的记录和字段(也称为数据项)。另一种是外部模式、模式和内部模式。在关系系统中,DBA可以授予用户建立和修改基本表的权限,用户获得该权限后可以建立基本表、索引和视图。这说明关系系统中访问控制的数据对象不仅包括数据,还包括模式、外部模式、内部模式等数据字典内容。访问权限的定义称为授权。这些定义被编译并存储在数据字典中。每当用户发出访问数据库的操作请求时,DBMS就根据用户的权限查找数据字典并执行授权检查。如果用户的操作请求超出了定义的权限,系统拒绝执行该操作。编译器和合法权限检查机制一起构成了一个安全子系统。对授权子系统复杂性的另一个衡量标准是它是否提供与数据值相关的授权。一些系统还允许访问谓词引用系统变量,如一天中的时间和终端设备号。这样,用户只能在某个时间段内访问某个终端中的相关数据,这就是与时间和地点相关的访问权限。此外,还有一些访问操作系统中的文件和目标的安全措施。加密是防止数据内容被他人引用或理解的实用方法。加密有两种形式:程序加密和硬件加密卡。。完整

数据库的完整性是指数据的正确性和兼容性。DBMS必须提供一种功能来确保数据库中数据的完整性。这个功能也叫完整性检查,就是系统使用一定的机制来检查数据库中的数据是否满足指定的条件。这种情况在数据库中称为完整性约束。数据的约束是语义的体现,这些完整性约束将作为模式的一部分存储在数据字典中。数据完整性和安全性是两个不同的概念。前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,也就是所谓的Garbage In Garbage Out造成无效操作和错误结果。后者是为了保护数据库免受恶意破坏和非法访问。当然,诚信和安全是密切相关的。从特殊的系统实现方法来看,它往往是一种既能用于安全保护又能用于完整性保证的机制。完整性约束可以分为:(1)值约束和结构约束。前者是指对数据的值的限制,后者是指对数据之间的联系的限制。数据值的约束。这些约束是指关于数据的值类型、范围和精度的规定。数据之间关系的约束。数据库中同一关系的不同属性可以有一定的关系,所以也要满足一定的约束。同时,由于数据库中的数据是结构化的,可以连接不同的关系,所以不同关系的属性也可以满足一定的约束。

(2)静态约束和动态约束。所谓静态约束,是指在数据库的每一个确定的状态下,数据应该满足的约束。上面提到的约束都是静态约束。动态约束是指数据库从一种状态变化到另一种状态时,新旧值应满足的约束条件。

(3)立即执行约束和延迟执行约束。立即执行约束是指在执行用户事务时,事务中的update语句执行完毕后,立即对该数据应满足的约束条件进行完整性检查。延期执行是指在整个事务执行完毕后,对该约束进行完整性检查,结果正确后才能提交。完整性的实现应包括两个方面,一是系统应提供定义完整性约束的功能,二是提供检查完整性约束的方法。数据值的完整性约束通常在模式中定义。比如在模式中定义属性名、类型、长度、编码属性名并指明其值为yes,而不是空等等。此外,应该以特殊的方式定义这些约束。

3.并发控制

数据库是可以被多个用户使用的共享资源。这些用户程序可以串行或并行执行。在单CPU计算机上,为了充分利用数据库资源,应该允许多个用户程序并行访问数据。这将导致多个用户同时访问相同的数据。如果不控制并发操作,就会访问和存储不正确的数据,破坏数据库的完整性(这里也叫一致性)。在多CPU计算机或多计算机网络环境中,并发控制尤为重要。

(1)事务的概念事务是并发控制的基本单位。事务是一系列操作。作为一个序列,这些操作形成一个整体,要么全部做,要么什么都不做,是一个不可分割的工作单元。事务通常以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK操作结束。COMMIT表示提交,提交事务中的所有操作,事务正常结束。ROLLBACK取消所有已经完成的操作,并回滚到事务开始时的状态。这里的操作指的是数据库的更新操作。回滚意味着不执行所有操作。和交易过程是两个概念。一般来说,一个程序可以包含多个事务。由于事务是并发控制的基本单元,下面的讨论将集中在事务上。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 全国计算机等级考试四级复习纲要六[4]

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情