a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 137|回复: 3

[计算机四级] 全国计算机四级考试复习纲要六(3)

[复制链接]
发表于 2012-7-31 20:48:14 | 显示全部楼层 |阅读模式
(4)关闭(CLOSE)游标。关闭游标,使它不再和原来的查询结果相联系。关闭了的游标可以再次被打开,与新的查询结果集相联系。使用CURRENT形式的UPDATE和删除语句应注意:" M; v) N2 x) r3 z2 t+ I% d5 c
(1)若游标定义中的SELECT语句带有UNION或ORDER BY子句,或者这个SELECT语句相当于定义了一个不可更新的视图,则不能用这两个更新语句。
" f, {1 g2 u1 N: N5 J% V(2)若使用CURRENT形式的UPDATE语句,则游标定义中要包括FOR UPDATE子句,指出更新的字段(SET子句中使用的字段)。因此,游标定义语句的一般格式为:EXEC SQL DECLARE游标名CURSOR FOR子查询UNION子查询…[FOR UPDATE OF字段名[,字段名]…|ORDER-BY-子句];
* E; J/ G7 u7 f4 |1 n* F11.SQL的事务处理功能) i( L/ S- y. O1 {
(1)事务处理的概述所谓事务(Transaction)是指一系列动作的组合,这些动作被当作一个整体来处理。这些动作或者相继都被执行,或者什么也不做。在数据库中,一个动作是指一个SQL语句。事务是一组SQL语句组成的一个逻辑单位。要么这些SQL语句全部被按顺序正确执行,要么在某SQL语句执行失败时,按照用户要求,取消已执行的SQL语句对数据库中数据的修改。或者要么事务中SQL语句都被正确执行,完成该事务对数据库中数据的所有操作;或者要么相当于一条SQL语句也未执行,数据库数据未做任何改动。
3 G7 O8 R) o6 H* W/ G: T(2)SQL语言的事务处理语句SQL语言有3条语句用于事务处理,它们是:4 F# d  o1 `% o& A% F! F: x/ f1 q* g
(1)Commit语句,对于正确执行了的事务进行提交,进行提交即对数据库中数据的修改永久化。同时还释放事务和封锁,标志该事务结束。
8 i3 N9 l. [+ x(2)Save point语句,定义事务中的一个回滚保留点,它是事务恢复时的一个标记点。
5 D. M& v/ Q- I$ x' u7 f(3)rollback语句,无论事务执行的当前位置在哪里,该语句的执行要么取消事务执行以来对数据库的全部修改,要么取消至某个指定回滚点后对数据库的全部修改。释放自保留点之后的全部表或行的封锁(没有保留点,相当于回滚到事务开始处,终止该事务)。事务的恢复(回滚)是根据事务执行前保存下的当时数据库状态来实现的。一遇到rollback语句,就将数据库中数据恢复到原来的状态,相当于撤消事务中已执行了的SQL语句。
回复

使用道具 举报

 楼主| 发表于 2012-7-31 20:48:15 | 显示全部楼层

全国计算机四级考试复习纲要六(3)

四、数据库的存储结构
3 Q1 @' ~; K( M# B. k% v数据库的存储结构不同于一般文件系统的存储结构。数据库数据的特点是各种记录型之间彼此有联系,数据是结构化的。数据的存储结构不仅涉及每种记录型的记录如何存储,而且要使数据的存储反映各种记录型之间的联系。在DB多级模式中引入内模式(存储模式)的主要目的是使模式的数据结构的描述同它的存储表示的描述分开,以致DBA为了协调数据库性能而对数据库数据的存储方法进行修改时,可不必修改模式,以提高数据库的物理独立性。在各个数据库管理系统中,对内模式的定义功能各不相同。在关系数据库管理系统中有些DDL语句可影响数据库的存储结构。在DBMS中各级模式的存储结构是恒定的或唯一的,而数据库内容(或其记录)的存储方式是不唯一的。数据库存储结构设计的好坏直接影响系统的性能。在存储结构中主要是涉及存储记录的设计。存储记录与概念记录之间具有对应关系,如果存储记录与概念记录之间具有一一对应关系,在这种情况下存储记录的设计就比较简单,不需要进一步讨论。概念记录是指在逻辑结构中的记录。但当一个概念记录对应多个不同类型的存储记录时,存在如何设计存储记录的问题。对于这样的概念记录,其存储记录可以有以下几种设计:
+ a) Q; [& w' O( w4 d, D- I7 @1.顺序组织( ~2 S* k3 Y# U- P. \/ u8 d1 e
将存储记录设计成与概念记录一一对应,按SNO大小(或按记录到来)的顺序将记录组成一个顺序组织的文件。这样组织的优点是结构简单,缺点是会浪费存储空间。  v' v  B4 g2 \; d' u5 w- h1 g& ?
2.顺序带链的组织
% M) j& F# R( }' f顺序带链组织允许记录中带有指针(Pointer),这样可以大大节省存储空间。
# H0 h, g. c) h2 x' y  B- S9 H3.带次关键字索引的顺序组织
) i" |* e+ m- G: t- V5 V) e9 a为了适应对多项内容的检索,可以建立索引文件,上述组织可改为带次关键字索引的顺序组织。' M; W2 ]4 r( y' A4 }. e& e
4.多表组织
; {7 H* D8 K9 A" S, E& [在次关键字索引中,由于一个次关键字值对应于多个记录值,它们的个数是不固定的,所以对应的指针数目是可变的。这种可变性给管理带来困难,为了解决这个困难,引入了多表组织。多表组织的实现思想比较简单,在索引中多个指针分散存放在每个记录值中,索引项中的指针指向第一个记录,在第一个记录中的指针指向第二个记录等等。1 L( T. p( S; I* }& y6 x
5.完全倒排组织在一个记录型中,对主关键字以外的数据项都建立索引,这样的组织称之为完全倒排组织。) [/ Z- M; N" O) b
6.Hash定址组织对于每一个存储记录值存放在数据库的什么地方,可通过对该记录的主关键字值的杂凑函数计算得出。这种组织为Hash定址组织。杂凑函数种类很多,如质数除余法、基数转换法、平方取中法、折叠法、位移法及各位数字分析法等等。关键是如何选择一个杂凑函数,尽可能避免发生碰撞。对于不同的主关键字值通过计算而得到同一个地址的映象,称之为碰撞。7 h  }" S) d6 J
7.联系的存储* Y8 ^& c! |( }
在关系数据库中,通过外来关键字(Foreign Key)来表示概念记录之间的联系。例如,为了表达学生和学校的联系,可以在学生记录中增加外来关键字“学校号”来表示联系。
8 l* W1 f1 R3 @1 x- e3 L五、关系数据库1 A' t2 U& Q0 u7 ^
1.表格
* j& L+ \2 v0 a" s! }( M表格(或简称表)表示了用户的特定类型(Type)的一些实体。表头由一些属性名(Attribute Name)组成,每个属性名对应于一列。在表上属性名必须唯一,不允许重名。表体是由一些行或元组(tuple)、或记录(record)组成。一个元组对应于传统的文件结构中的一个记录,一个记录含有若干个域(field)用以存储属性值(Attribute value)。一个元组对应于一个“用户”实体的出现(occurrence)。表体中每一行和某一列的交叉点(相当于记录中的域)上保存一个属性值。这个属性值叫做这一行(或这个实体出现)的相应属性值。表体中每一列可以保存的值对应于某种属性类型(Type of Attribute),也就是说,这一列的属性值只能取这个属性类型的值。某个属性所能取的所有值的集合叫做这个属性的值域(Domain of Attribute)。类型和值域的对应关系是一对多的。一个类型有一个值域,但一个值域可以作为多个类型,基名称不同,但实质上值域一样。实际上,类型是对值域的命名。能唯一标识一个元组的属性称之为关键属性(Primary Key Attribute)或简称为主关键字(Primary Key)。主关键字有时是由多个属性组成的,此时的主关键字叫做组合关键字(Conˉcatenated primary Key)。有的时候,表中必须由一些组合的主关键字才能唯一地标识一个元组,也就是说,不存在能作关键字的一个属性。这时为了方便,往往引入一个附加的属性并称之为外来关键字(Foreigh Key)来作主关键字。外来关键字为以后检索和查询带来了方便,但也增加了信息冗余。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-31 20:48:16 | 显示全部楼层

全国计算机四级考试复习纲要六(3)

2.表名、表头和表体- d/ N5 l/ c% Y) ~0 ?; z" B
表名、表头和表体在关系模型中具有不同的作用或功能,因而也具有完全不同的性质。表头是一个属性的集合,它规定了表的结构。表体是一个特殊的集体,称作为关系(relation)。“关系模型”中的“关系”一词就是指表体中的这个数学关系。在关系数据库中,表名对应于数据库名(或关系名),表头对应于数据描述(或结构描述),表体对应于数据库。表体是数据库的内容及数据库操作的对象。另外,有两个概念必须加以强调:型(type)和值或出现(occurence)。表头定义了实体(或元组)的型,也就是说规定了实体(或元组)的值域。而表体则给出了实体(或元组)的出现。出现是型中的一个值。2 W0 w" T( A. e; P$ V9 q& [
3.关系的数学定义
) O, G" ~4 L  x' s关系模型是建立在集合论(Set Theory)的基础之上的。现在,开始用集合论的术语来严格地定义数学上的关系,即给出关系的数学定义。定义1 域(Domain)是值(value)的集合。
  f1 r# n0 b. U, C4.关系模型
, R" a! D: D2 n+ d, |0 C关系模型由三部分组成:数据结构(即关系)、关系操作、关系的完整性。下面将对这三个部分进行分别的讨论。(1)单一的数据结构———关系 在关系模型中,无论是实体还是实体之间的联系均由单一的类型结构—关系来表示。在前面,已给出了关系和域的数学定义,介绍了n元关系、元组和属性等概念。下面介绍关键字、关系模式和关系数据库等一些基本概念。关键字 关系中的某一组属性,若其值可以唯一地标识一个元组,则称该属性组为一个候选关键字(Candidate Key)。若一个关系有多个候选关键字,则可以任选其中一个作为主关键字(Primary Key)。主关键字中的诸属性被称为主属性。关系模式 关系的描述称为关系模式。它包括:关系名、组成关系的诸属性名、属性到域的映象、属性间的数据依赖关系等等。所以,关系模式由关系名、诸属性名和属性到域的映象三个部分组成,关系模式通常简记为R(A 1 ,A 2 ,…,A n ),其中R是关系名,A 1 ,A 2 ,…,A n 为诸属性名。属性到域的映象一般通过指定属性的类型和长度来说明。某个关系模式在某一时刻所具有的状态是指关系的外延,即元组的集合。关系的外延内容有时简称为关系。但关系模式和关系的内容有时也统称为关系。读者可以从上下文中区别其确切的含义。形象地说,关系模式是关于表名和表头的描述,而关系的内容是表体。关系数据库 在关系数据库中,要分清型和值两个基本概念。关系数据库的型是指数据库的结构描述,它包括关系数据库名、若干属性的定义,以及这些属性上的若干关系关系模式。亦称为数据库的内涵(Intension),数据库的值亦称为数据库的外延。在关系数据库中,内涵是比较稳定的,它规定了外延的取值范围。而外延却是随时间变化的。这和在一般的形式逻辑中外延和内涵一一对应有所区别。此处外延是指任意一个满足内涵的集合,而不一定恒指满足内涵的最大的一个集合。关系模式(即内涵)是稳定的;而关系的内容,即外延,却是随时间动态的变化而变化的。数据库的结构(即模式)是稳定的;而数据库中的数据内容却在不断地更新。
9 r, x' \, O. L2 _( l9 W2 \0 S, {(2)关系操作 关系模型规定了关系操作的功能和特点,但不对DBMS语言的语法做出具体的规定。关系数据库语言的主要特点(或优点)是其高度的非过程化(Non-procedureae)或者说明性(declarative)。关系数据库语言的语句是透明的。用户只须知道语句做什么,而不须知道怎么做的。Codd在其早期的文章中,引入了8种基本的操作:并(Union)交(Intersection)差(Difference)笛卡尔乘积(Cartesian Product)限制(Restrictions)投影(Projection)连接(Join)除(Division)这些操作都是对关系的内容或表体实施操作的,得到的结果仍为关系。注意,这些操作只是基本的操作,而不是不再可分的原始(Primitive)操作,例如,Join,Intersection和Division可以由其它五种操作合成。但是,把它们三个也作为基本操作使用起来很方便。另外,Codd并没说上述8种操作就是关系数据库只能有的8种操作。实际上,上述8种操作仅仅是作为最小的DML操作的基础部分,并且也还未考虑到DDL的需求。SQL支持的操作多于上述8种DML操作,而且SQL还支持DDL操作。关系操作的特点是集合操作,即操作的对象和结果都是集合。这种操作方式也称为一次一集合(set-at-a-time)方式。而非关系模型的数据库的操作方式则为一次一记录(record-at-a-time)方式。关系操作可以用两种方式来表示:
+ S" R; a% X$ a1 M①代数方式,即关系代数
# R7 J0 L( V$ x$ r7 s7 Z. l! \②逻辑方式,即关系演算而关系演算又进一步分为元组关系演算和域关系演算。已经证明,这些表示方式在功能上是相互等价的。一般选其一即可。3 e6 X$ u; `+ n& D( W( P% J( s
(3)关系模型的三类完整性 关系模型的三类完整性是:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-31 20:48:17 | 显示全部楼层

全国计算机四级考试复习纲要六(3)

①实体完整性(Entity Integrity)
: s& n1 G5 T7 L4 |  @: ?②参照完整性(Referential Integrity)9 V) F7 L2 m1 D3 N% f
③用户定义的完整性(User Defined Integrity)其中,实体完整性和参照完整性是任何关系模型都必须满足的完整性约束条件,应该由关系数据库DBMS自动支持。而用户定义的完整性的支持是由DBMS提供完整性定义设施(或机制),可以随DBMS商品软件不同而有所变化。实体完整性是指:若属性A是基本关系R的主关键字的属性(即主属性),则属性A不能取空值(NULL)。在关系数据库中有各种关系,如基本关系(常称为基本表)、查询表、视图表等等。基本表是指实际存在的表,它是实际存储数据的逻辑表示。查询表是指和查询结果相对应的表。而视图表是由基本表或视图表导出的表,是虚表,不对应实际存储的数据。实体完整性是针对基本关系的。空值是指“不知道”或者“无意义的”或“不属于定义域”值。空值以“NULL”表示。对于实体完整性作如下说明:
! Q9 e; \+ B" a3 S(1)一个基本关系通常对应于现实世界中的一个实体集。例如学生关系对应于学生实体集。基本关系不是由其它关系生成的关系。基本关系是本原(Primitive),是定义复杂关系的出发点。
( Y8 n5 g$ S; a" m2 o( D1 K  z(2)现实世界中的实体是可区分的,即实体具有某种唯一性的标识。% \# g: V0 W1 C
(3)在关系模型中由主关键字作为满足唯一性的标识。
0 B& X- |3 w3 x, M: H) K. w) s(4)主关键字中属性不能取空值。因为若主关键字中某属性取空值,则意味着某个实体不可标识;而这和(2)相矛盾。参照完整性是指:若基本关系R中含有另一个基本关系S的主关键字K S 所对应的属性组F(F称为R的外部关键字(external keys)),则在关系R中的每个元组中的F上的值必须满足:
) F, e" A/ W7 J: X# e2 k①或者取空值(即F中的每个属性的值均为空值);2 ~; ^" \+ @4 I0 c( j4 e7 j) T9 q) n
②或等于S中某个元组的主关键字的值。基本关系R和S不一定是不同的关系。外部关键字也称为外来关键字。例如,某数据库中有职工关系EMP(职工号,姓名,部门号)和部门关系DEPT(部门号,部门名称)为两个基本关系。关系EMP的主关键字为“职工号”,DEPT的主关键字为“部门号”在EMP中,“部门号”是EMP的外部关键字。故此,在EMP中的每个元组中“部门号”的值只有两种可能性:
6 X7 ?0 o' L" k①取空值。这说明这个职工尚未分到某个部门;
; |+ J' b% f* ~: b. O5 ?②或取非空值。这时“部门号”的值必须是DEPT中某个元组中的“部门号”的值。这说明一个职工不可能被分配到一个不存在的部门。也就是说,被参照的关系DEPT中一定存在一个元组,该元组的关键字的值等于EMP中某元组的外部关键字的值。实体完整性和参照完整性是针对任何关系数据库系统的所有数据库的一般性原则。用户定义的完整性针对某一具体的数据库的约束条件。条件是由现实世界中的应用环境决定的。它涉及到某一具体的应用中的数据所必须满足的语义要求。关型模型的DBMS应提供定义和检验这类完整性条件的机制,以使用统一的方法来自动地处理它们而不要求应用程序员来承担这一功能。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-15 09:16 , Processed in 0.218223 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表