《(2020年)行业分析报告数据库系统模式分析》由会员分享,可在线阅读,更多相关《(2020年)行业分析报告数据库系统模式分析(20页珍藏版)》请在金锄头文库上搜索。
1、2.5 数据库系统基础知识2.5.1 主要知识点掌握数据库模型、数据库系统结构和关系数据库结构的基础知识,熟练掌握SQL语言的使用 关系代数的运算。2.5.1.1 关系数据库的数据体系结构关系模型遵循数据库的3级体系结构:(1)关系模式。数据库的概念模式定义为关系模式的集合。每个关系模式就是记录类型。关系模式的定义包括模式名、属性名、值域名和模式的关键。关系模式仅仅是对数据本身特性的描述。(2)关系子模式是用户所用到的那部分数据的描述。除了指出用户用到的数据外,还应指出数据与模式中相应数据的联系,即指出子模式与模式之间的对应性。 (3)关系存储是作为文件看待的,每个元组就是一个记录。由于关系模
2、式有键,因此存储一个关系可用散列方法或索引方法实现。2.5.1.2 关系模型和关系运算用二维表格结构表示实体集,关键码表示实体间联系的数据模型称为关系模型。在关系中,能唯一标识元组的属性集称为关系候选键,被选用的候选键称为关系的主键。关系中每一个属性对应一个取值范围,称为属性的值域。关系可以定义为元数(属性个数)相同的元组的组合。关系是一个集合,集合中的成分是元组,这些元组的属性个数应相同。关系数据库的数据更新操作必须遵循实体完整性规则、引用完整性规则和用户定义的完整性规则。关系查询语言根据其理论基础的不同分成两大类:一类是关系代数语言,其特征是查询操作是以集合操作为基础的运算;另一类是关系演
3、算语言,其特征是查询操作是以谓词演算为基础的运算。关系代数是以集合代数为基础发展起来的、以关系为运算对象的一组高级运算的集合。把关系看成集合,集合代数中的运算可以引入到关系运算中来,还有一些运算是针对关系数据库环境专门设计的。关系代数的5种基本操作:并、差、笛卡儿积、投影和选择。关系代数的4种组合操作:交、联接、自然联接和除法。扩充的关系代数操作:外联接(左外联接和右外联接)、外部并(Out union)和半联接。2.5.1.3 关系数据库SQL语言结构化查询语言SQL是集DDL、DML和数据控制功能于一体的数据库语言。SQL的DML是介于关系代数和关系演算之间的一种语言。SQL语言的组成:一
4、个SQL数据库是表的汇集,它用一个或多个SQL模式定义。一个SQL表由行集构成,一行是列的序列,每列对应一个数据项。一个表或者是一个基本表,或者是一个视图。基本表是实际存储在数据库中的表,而视图是由若干基本表或其他视图构成的表的定义。一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。 用户可以用SQL语句对视图和基本表进行查询等操作。SQL用户可以是应用程序,也可以是终端用户。SQL语句可嵌入在宿主语言的程序中使用,宿主语言可以是常用的高级语言。SQL用户也能作为独立的用户接口,使交互环境下的终端用户使用。SQL包括了所有对数据库的操作,主要有数据定义(SQL DDL)
5、、数据操纵(SQL DML)、访问控制和嵌入式SQL。2.5.1.4 关系数据库规范化理论关系数据库规范化理论主要包括3方面的内容:(1)函数依赖。指数据之间存在的各种联系和约束,例如建就是一种依赖。函数依赖是最基本的一种依赖。 (2)范式。模式分解的标准形式。关系模式分解的两个特性实际上涉及到两个数据库模式的等价性问题,包括数据等价和依赖等价两个方面。数据等价是指两个数据库实例应表示同样的信息内容,用无损联接衡量。依赖等价是指两个数据库模式应有相互逻辑关系的函数依赖集,此时数据的语义是不会出差错的。(3)模式设计方法。设计规范的数据库模式的方法。衡量关系模式的优劣的标准就是模式的范式(NF)
6、。范式有许多种,与数据依赖有着直接的联系。第一范式(INF)如果关系模式R的每个关系r的属性值都是不可分的原子值,那么称R是第一范式(INF)的模式,r是规范化的关系。LNF的模式的关系数据库最基本的要求。第二范式(2NF)我们把关系模式R的属性分为两类:一类是键的属性,称为主属性;另一类是不属于任何键的属性,称为非主属性。若关系模式R是INF,且每个非主属性完全函数依赖于候选键,那么称R是2NF模式。第三范式(3NF)若关系模式R是INF,且每个非主属性都不传递依赖于R的候选集,那么称R是3NF模式。在3NF模式中排除了非主属性的对键的传递依赖。3NF的模式必定是2NF的模式。局部依赖和传递
7、依赖是产生冗余和异常的两个重要原因。由于3NF模式中不存在非主属性对候选键的局部依赖和传递依赖,因此具有较好的性能。而对于非3NF的INF和2NF,甚至非INF的关系模式,于它们性能上的弱点,一般不宜作为数据库模式,通常需要将它们变换成3NF或更高级的范式,这种变换过程,称为关系的规范化处理。BC范式(简称BCNF)若关系模式R是INF,且每个属性都不传递依赖于R的候选键,那么称R是BCNF模式。此时排除了任何属性对键的传递依赖。上述4种范式之间关系:BCNF3NF2NF1NF。2.5.2 试题解析高级程序员级考试中,数据库基础试题所占的比重一般,基本上每年一道题。从历年试题统计(见表2-8)
8、来看,主要考查与关系数据库有关的知识、关系模式、关系模式的范式、关系代数运算等是反复考查的内容,总的来说,难度一般都不大。试题1 (2000年试题7)从供选择的答案中,选出应填入下面叙述中 内的最确切的解答,把相应编号写在答卷的对应栏内。域表达式ab|R(ab) R(ba)转换为等价的关系代数表达式,所列出的式子中A是正确的.SQL中集合成员资格的比较操作元组NOT IN(集合)中的NOT IN与B操作符等价。SQL中涉及属性AGE是否是空值的比较操作,写法C是错误的。类似于工资在800至5000之间这种约束,是属于DBS的D功能。设关系模式Q是3NF模式,那么,E 这种提法是不正确的。供选择
9、的答案A: 1,2(1=42=3(RR) 1,2(1=4() 1,2(1=4() R1,2(R)B:SOME =SOME ALL =ALLC:AGE IS NULL NOT(AGE IS NULL)AGE=NULL AGE IS NOT NULLD:完整性 并发控制 安全性 恢复E:Q一定是2NF模式 Q可能不是4NF模式Q可能不是BCNF Q一定不是BCNF【解析】问题A涉及域表达式与关系代数表达式的转换。域表达式ab|R(ab) R(ab)表示取出二元关系R中有对称关系的二元组的集合,即(a,b)R,(b,a) R,如果用D来表示该域表达式,则有DR。答案中只有是正确的。是关系R与其自身的
10、条件连接,条件是第1个R的第2个元素与第2个R的第1个元素相等。举例说明如下:R=(1,2),(2,3),(3,2),(2,1)(3,4)则 的结果是(1,2,2,3),(1,2,2,1)(2,1,1,2)(2,3,3,2)(3,2,2,3)(2,3,3,4);再作选择运算找出1,4列相等的元组(1,2,2,1),(2,1,1,2),(2,3,3,2),(3,2,2,3);再作投影运算取1,2列,得到(1,2),(2,1),(2,3),(3,2)。问题 B 涉及集合成员资格比较。SQL中的集合比较有4种:集合成员资格比较、集合成员算术比较、空关系测试和重复元组的测试。其中集合成员资格比较有两种
11、形式:(集合1)IN(集合2)(集合1)NOT IN(集合2)这里IN与算术比较中的=SOME等介,NOT IN与算术比较中的ALL等价。问题 C 涉及空值的处理。SQL中允许属性值为空值,用关键字NULL表示空值。测试某属性值为空值,用(某属性)IS NULL表示,测试某属性值为非空值,用(某属性)IS NOT NNULL或NOT(某属性)IS NULL)来表示。问题 D 涉及属性值的约束,属于数据库完整性范畴。问题 E 涉及关系模式的范式。根据4种范式之间的关系:BCNF3NF2NF1NF,可以判断3NF模式必定是2NF模式,BCNF必定是3NF模式,但是3NF可能是BCNF模式,也可能不
12、是BCNF模式。【答案】A: B: C: D:试题2 (1999年试题7)从供选择的答案中,选出应填入下面叙述中 内的最确切的解答,把相应编号写在答卷的对应栏内。最常用的一种基本数据模型是关系数据模型,它用统一的 A 结构来表示实体及实体之间的联系。关系数据库的数据操作语文(DML)主要包括 B 两类操作。关系运算以关系代数为理论基础,关系代数的最基本操作是并、差、笛卡尔积和 C。用RS 表示关系R和关系S的 D 。设关系R和关系S图示如下:R:A BCS:BCDT:ABCDabcbcdabcdbbfbceabcecadadbcadbdaddadb则关系T是关系R和关系S E 的结果。供选择的
13、答案A:树 网络 图 二维表B:插入和删除 检索和更新 查询和编辑 统计和修改C:投影、联接 联接、选择 选择、投影 交、选择D:联接 笛卡尔积 联接 自然联接E:自然联接 联接 笛卡尔积 并【解析】用二维表格结构表示实体类型、关键码表示实体间联系的数据模型称为关系模型。关系数据 库的DMLA语言分成查询语句和非查询语句,前者描述用户要进行的各种检索操作,后者描用户要进行的有关数据库更新的操作。关系运算以关系代数为理论基础,关系代数的最基本操作是并、差、笛卡儿积、选择和投影。设有两个关系R和S,则R和S的并是由属于R或属于S的元组组成的集合,记为RUS。R和S的交是由既属于R又属于S的元组组成
14、的集合,记为RS。R和S的差是由属于R但不属于S的元组组成的集合,记为R-S。设关系R和S的元数分别为r、s,则R和S的笛卡儿积是一个(r+s)元的元组集合,每个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组,记为RS。投影操作是对关系进行垂直分割,消去关系中某些列,并重新按排列的次序,再删除重复的元组。选择操作是根据某些条件对关系做水平分割,选择符合条件的元组。关系R和S的自然联接用RS来表示,其计算过程如下:设R和S的公共属性为A1Ak,挑选RS中满足RA1=SA1RAk=SAk的元组;去掉SA1SAk列。自然联接是构造新关系的有效方法,是关系代数中常用的一种运算。从试题中E的计算结果看,这里应该是经过自然联接得到的结果。【答案】A: B: C: D: E:试题3 (1988年试题2)从供选择的答案中选出应填入下面叙述中 内的最确切的解答,把相应编号写在答卷的对应栏内。实体联系模型(简称ER模型)中的基本语义单位是实体和联系。ER模型的图形表示称为ER图。联系可以同 A 实体有关。实体与实体之间的联系可以是 B 。利用ER模型进行数据库的概念设计,可以分成3步:首先设计局部ER,然后把各个局部ER模型综合