a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 111|回复: 2

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

[复制链接]
发表于 2012-7-31 20:48:14 | 显示全部楼层 |阅读模式
5.关系数据库语言概述) P4 o4 V; i  t
关系数据库语言分三类:数据描述语言DDL,数据操纵语言DML和数据控制语言DCL。其中,DDL负责数据库的描述,提供一种数据描述机制,用来描述数据库的特征或数据的逻辑结构。DML负责数据库的操作,提供一种处理数据库操作的机制。DCL负责控制数据库的完整性和安全性,提供一种检验完整性和保证安全的机制。DML是用户经常使用的语言,包括了DBMS的主要功能。DML包括数据查询和数据的增、删、改等功能。其中查询的表达方式是DML的主要部分。关系数据库的DML按照查询方式可以分为两大类:( R0 j- t$ X4 _& A* r
(1)用对关系的集合代数运算来表示查询的方式,称为关系代数(Relational Algebra)。
& U3 e3 Q7 @) j! H1 p(2)用谓词演算来表达查询的方式,称为关系演算(Relational Calculus)。关系演算又可按谓词变元的基本对象是元组变量(tuple variable)还是域变量(domain variable)分为元组关系演算和域关系演算两种。关系代数和两种关系演算均是抽象的查询语言,这些抽象的查询语言和实际的DBMS软件产品中实现的具体的查询语言并不完全一样。但它们是DBMS中查询语言的理论基础。关系代数、元组关系演算和域关系演算这三种语言在表达能力上是彼此相互等价的,它们均可以作为评价实际DBMS软件产品中查询语言能力的标准。实际DBMS软件产品的查询语言,除了提供关系代数(或一种关系演算)之外,还提供了许多附加的功能,如库函数、算术运算等功能。SQL是介于关系代数,和关系演算之间的一种语言。SQL不仅具有丰富的查询功能,而且还具有数据库定义和数据库控制功能。SQL是集DDL、DML、DCL为一体的标准的关系数据库语言。SQL充分体现了关系数据库语言的优点。0 k) X$ q) p  R1 D9 t& ]2 i
6.关系代数
! L: s5 E% U, c) D! h+ r1 ~# }关系代数中的运算可以分为两类:
% {+ f8 k1 ?3 B  Q& E4 l(1)传统的集合运算,如并、交、差、笛卡尔乘积等。这类运算是从关系的“水平方向(即按行)”来进行的。! A3 r; F% L3 q& K2 J4 o
(2)专门的关系运算,如选择、投影、连接、除。这类运算不仅涉及到行而且也涉及到列。8 G; D( x' `1 u% U& ?# l1 V" \
7.关系演算
( H, X$ [! t5 m$ X  |关系演算是以数理逻辑中的谓词演算为基础的。用谓词演算作为关系数据库的语言并提出关系演算的是E.F.Codd。Codd首先定义了关系演算语言ALPHA。但ALPHA并没有在计算机上实现。但关系数据库管理系统INGRES所用的QUEL语言是参考ALPHA研制的,与ALPHA十分类似。
回复

使用道具 举报

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

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

六、关系数据库的规范化理论
+ w# W9 K0 ]( }5 i& }函数依赖
5 T, t; ^6 }! T4 ~2 h1 ~/ j3 u定义1 设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称‘X函数确定Y’或‘Y函数依赖于X’,记作X→Y。
! z! L  H* }& q/ [. j函数依赖和别的数据依赖一样是语义范畴的概念。只能根据语义来确定一个函数依赖。例如姓名→年龄这个函数依赖只有在没有同名人的条件下成立。如果允许有相同名字,则年龄就不再函数依赖于姓名了。设计者也可以对现实世界作强制的规定。例如规定不允许同名人出现,因而使姓名→年龄函数依赖成立。这样当插入某个元组时这个元组上的属性值必须满足规定的函数依赖,若发现有同名人存在,则拒绝插入该元组。注意,函数依赖不是指关系模式R的某个或某些关系满足的约束条件,而是指R的一切关系均要满足的约束条件# \$ ]+ F& m: {0 _7 [6 ]* `: ]" \* U
七、数据库的安全与保护0 x8 `' ]" h" A( T
1.安全性
- W3 X6 J+ e3 T0 q数据库的安全性是指保护数据库以防止不合法的或非正常的使用所造成的数据泄露、更改或破坏。安全性问题不是数据库系统所独有的,计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多用户直接共享,是十分重要的信息资源。从而使安全性问题变得更为突出。系统安全保护措施是否有效是数据库系统的主要性能指标之一。对于数据库的安全保密方式可以有系统处理的和物理的两个方面。所谓物理的是指,对于强力逼迫透露口令、在通信线路上窃听、以至盗窃物理存储设备等行为。对此所采取的措施是将数据编为密码,加强警卫以识别用户身份和保护存储设备等措施。在一般计算机系统中,安全措施是一级一级层层设置的。
, W  S# l4 n( k6 Z$ ?1 n' E" @' D: K3 S(1)用户标识和鉴定首先,系统提供一定的方式让用户标识自己的名字或身份。系统进行核实,通过鉴定后才提供机器使用权。常用的方法有:用一个用户名或者用户标识号来标明用户身份。系统鉴别此用户是否是合法用户。若是,则可以进入下一步的核实;若不是,则不能使用计算机。用户名的登录只由系统管理员进行,一般用户不能实施用户名登录。口令(Password),为了进一步核实用户,系统常常要求用户输入口令。
0 _* ^, N+ T: m(2)存取控制对于获得上机权的用户还要根据预先定义好的用户权限进行存取控制,保证用户只能存取他有权存取的数据。所谓用户权限是指不同的用户对于不同的数据对象允许执行的操作权限。它由两部分组成,一是数据对象,二是操作类型。数据对象有二类。一类是数据本身,如关系数据库中的表、字段,非关系数据库中的记录、字段(亦称为数据项)。另一类是外模式、模式、内模式。在关系系统中DBA可以把建立、修改基本表的权力授予用户,用户获得此权力后可以建立基本表、索引、视图。这说明关系系统中存取控制的数据对象不仅有数据而且有模式、外模式、内模式等数据字典中的内容。对于存取权限的定义称为授权(Authorization)。这些定义经过编译后存储在数据字典中。每当用户发出存取数据库的操作请求后,DBMS查找数据字典,根据用户权限进行合法权限检查(Authorization Check)。若用户的操作请求超出了定义的权限,系统拒绝执行此操作。授权编译程序和合法权限检查机制一起组成了安全性子系统。衡量授权子系统精巧程度的另一个尽度是否提供与数据值有关的授权。有的系统还允许存取谓词中引用系统变量,如一天中的时刻,终端设备号。这样用户只能在某台终端、某段时间内存取有关数据,这就是与时间和地点有关的存取权限。另外,在操作系统中对文件、目标等的存取还有一些安全保护措施。其中加密是一种防止数据内容被别人引用或了解的切实可行的办法。加密有程序加密和硬件加密卡两种形式。
回复 支持 反对

使用道具 举报

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

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

2.完整性
4 h4 l) N+ Y2 B  c数据库的完整性是指数据的正确性和相容性。DBMS必须提供一种功能来保证数据库中数据的完整性。这种功能亦称为完整性检查,即系统用一定的机制来检查数据库中的数据是否满足规定的条件。这种条件在数据库中称为完整性约束条件。数据的约束条件是语义的体现,这些完整性约束条件将作为模式的一部分存放数据字典中。数据的完整性和安全性是两个不同的概念。前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garbage In Garbage Out)所造成的无效操作和错误结果。而后者是保护数据库防止恶意的破坏和非法的存取。当然,完整性和安全性是密切相关的。特别从系统实现的方法来看,往往是一种机制常常既可用于安全性保护亦可用于完整性保证。完整性约束条件可以分类如下:(1)值的约束和结构的约束前者指对数据的值的限制,后者指对数据之间联系的限制。关于对数据值的约束 这类约束条件是指对数据取值类型、范围、精度等的规定。关于数据之间联系的约束 数据库中同一关系的不同属性之间可以有一定的联系,从而也应满足一定的约束条件。同时,由于数据库中数据是结构化的,不同的关系之间也可以有联系,因而不同关系的属性之间也可满足一定的约束条件。% w* e. ~7 |3 L: Q( {
(2)静态约束和动态约束所谓静态约束是指对数据库每一确定状态的数据所应满足的约束条件。以上所讲的约束都属静态约束。动态约束是指数据库从一种状态转变为另一种状态时新、旧值之间所应满足的约束条件。9 U! d( M. Z: U) X6 L
(3)立即执行约束和延迟执行约束立即执行约束是指在执行用户事务时,对事务中某一更新语句执行完后马上对此数据所应满足的约束条件进行完整性检查。延迟执行是指在整个事务执行结束后方对此约束条件进行完整性检查,结果正确方能提交。完整性的实现应包括两个方面,一是系统要提供定义完整性约束条件的功能,二是提供检查完整性约束条件的方法。对于数据值的那类完整性约束条件通常在模式中定义。例如在模式中定义属性名、类型、长度、码属性名并标明其值是唯一的、非空的等等。另外的那些约束条件就要用专门的方式加以定义。0 W5 M: Q4 g4 w4 Y3 @
3.并发控制
; V- V4 D% u( n/ X. k! f# G6 V数据库是一个共享资源,可以由多个用户使用。这些用户程序可以一个一个地串行执行,也可以并行执行。在单CPU计算机上,为了充分利用数据库资源,应该允许多个用户程序并行的存取数据。这样就会产生多个用户程度并发地存取同一数据的情况。若对并发操作不加控制就会存取和存储不正确的数据,破坏数据库的完整性(这里也称为一致性)。在多CPU计算机或多计算机网络环境下,并发控制尤为重要。0 }1 e$ A, E# L( s9 N( a3 g1 R
(1)事务的概念 事务(Transaction)是并发控制的基本单位。所谓事务是一个操作序列。这些操作作为一个序列形成一个整体要么都做,要么都不做,是一个不可分割的工作单位。事务通常以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK操作结束。COMMIT即提交,提交事务中所有的操作,事务正常结束。ROLLBACK即撤消已作的所有操作,滚回到事务开始时的状态。这里的操作指对数据库的更新操作。滚回即相当于所有操作均未执行。事务和程序是两个概念。一般地讲,一个程序可包括多个事务,由于事务是并发控制的基本单位,所以下面的讨论均以事务为对象。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 19:02 , Processed in 0.183031 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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