数据库函数依赖___关系模式__范式_候选键_主键_码
- 格式:ppt
- 大小:4.04 MB
- 文档页数:74
数据库函数依赖
数据库函数依赖是指在一个关系数据库中,一个或多个属性的值可以通过其他属性的值确定。
函数依赖包括单值依赖、多值依赖、主属性和非主属性等。
单值依赖,即一个属性的值唯一地决定了另一个属性的值。
例如,如果我们知道学生的学号,就可以唯一确定学生的姓名和年龄。
多值依赖,指当一个属性集合的值可以唯一地决定另一个属性集合的值时。
例如,如果我们知道订单号和产品,就可以唯一确定订单的客户和地址。
主属性和非主属性,是指关系模式中的属性集合,其中主属性可以唯一地确定元组的唯一性,而非主属性则不能。
例如,在学生表中,学号是主属性,而姓名和年龄则是非主属性。
在实际的数据库设计中,了解这些函数依赖可以帮助我们更好地设计数据表,避免数据冗余和不一致性问题。
例如,在一个订单管理系统中,我们可以将订单号、产品、客户和地址分别作为属性,避免将这些信息重复存储在订单表和客户表中。
此外,函数依赖还可以指导我们进行数据的查询和更新操作。
例如,
在查询学生表时,我们可以根据学号查询出学生的所有信息;在更新
学生表时,如果要修改学生的姓名,必须保证该姓名对应的学号唯一。
总之,函数依赖是数据库设计中非常重要的概念,它可以帮助我们更
好地管理数据、提高数据的一致性和可信度,同时还可以优化数据库
的性能。
数据库期末复习卷一、填空题(1)在select语句中,若希望查询结果中不出现重复的元组,因在select语句中加( Distinct )(2 )数据库系统的结构一般分为三个层次,分别为:内模式、模式、外模式(3)E—R模型中包含实体属性和实体之间的联系三种基本结构成分(4)E—R模型的三要素:__实体____、___属性_____、___联系__(5)关系数据模型由数据结构___数据操作___和完整性约束规则三部分组成(6)若关系1NF,且他们的每一非主属性__完全函数依赖_ ___候选关键字,则该关系为2NF。
(7)DBMS是指___数据库管理系统___,它位于___ 操作系统___和___应用程序___之间的一层管理软件。
(8)SQLserver是一种___关系___型,数据管理系统。
(9)SQL语言中,函数COUNT(*)用于计算____记录__的个数。
(10)__视图____是从一个或几个表中导出的表,它本身不独立存储在数据库中.(12)关系代数运算中,传统的集合运算有:并=交、__差____和__笛卡尔积____ (13)SQL语言中,数据操作功能包括select、__update____、insert、delete四个语句。
(14)若关系模式R的候选键码为所有的属性,则在函数依赖的范围内R最高满足___BCNF___范式。
(15)建立索引的目的是__提高存取速度____。
(16)关系数据库设计中,设计关系模式是___逻辑设计___设计阶段的任务。
(17)在数据库中的视图、表、存储文件分别对应三级模式结构中的__外模式____、__模式____、__内模式___ 。
二、判断题(1) SQL语言的视图定义和视图操作功能在一定程度支持数据的逻辑独立性(√)(2) 关系必须有唯一的候选键。
(×)(3) 数据的完整性指数据库中数据的全面性。
(×)(4) “授权”是数据库系统中采用的完整性措施之一。
数据库技术试题 二、填空题1. 1. 一个类可以从直接的或间接的祖先中继承所有属性和方法。
采用一个类可以从直接的或间接的祖先中继承所有属性和方法。
采用这个方法提高了软件的这个方法提高了软件的 共享性。
共享性。
共享性。
2. 2. 用树型结构表示实体类型及实体间联系的数据模型称为用树型结构表示实体类型及实体间联系的数据模型称为用树型结构表示实体类型及实体间联系的数据模型称为 层次模层次模型 。
3. 3. 关系数据库的关系演算语言是以关系数据库的关系演算语言是以关系数据库的关系演算语言是以 集合操作集合操作集合操作 为基础的为基础的DML 语言。
语言。
4. 4. 在函数信赖中,平凡的函数信赖根据在函数信赖中,平凡的函数信赖根据Armstrong 推理规则中的推理规则中的自反自反自反 律就可推出。
律就可推出。
律就可推出。
5. 5. 分布式数据库中定义数据分片时,必须满足三个条件:完备性条分布式数据库中定义数据分片时,必须满足三个条件:完备性条件、重构条件和件、重构条件和 不相交条件。
不相交条件。
不相交条件。
6. DB 并发操作通常会带来三类问题,它们是丢失更新、不一致分析和读脏数据。
和读脏数据。
7. 7. 事务必须具有的四个性质是:原子性、一致性、事务必须具有的四个性质是:原子性、一致性、事务必须具有的四个性质是:原子性、一致性、 隔离性隔离性隔离性 和持久性。
和持久性。
8. 8. 分布式数据库系统中透明性层次越高,应用程序的编写越分布式数据库系统中透明性层次越高,应用程序的编写越分布式数据库系统中透明性层次越高,应用程序的编写越 简简单 。
9. 9. 在有泛化在有泛化在有泛化//细化联系的对象类型之间,较低层的对象类型称为较低层的对象类型称为 子子类型类型 。
10. 10. 目前数据库领域中最常用的数据模型有目前数据库领域中最常用的数据模型有目前数据库领域中最常用的数据模型有 层次模型层次模型层次模型, , , 、、 网状模型网状模型, , , 、、 关系模型关系模型关系模型 、、面向对象模型面向对象模型 。
数据库学习摘记——关系模式的函数依赖关系与关系模式的联系:关系模式是相对稳定的,静态的,是把所有元组删去后的⼀张空表格,是对元组数据组织⽅式的结构描述,⽽关系却是动态变化的,不稳定的,是将若⼲元组填⼊关系模式后得到的⼀个取值实例。
每⼀个关系对应⼀个关系模式,每⼀个关系模式可以定义多个关系。
关系模式R(U)对应的具体关系通常⽤⼩写字母r来表⽰。
函数依赖:设R(U)是属性集U={A1, A2, …, An}上的关系模式,X和Y是U的⼦集。
若对R(U)的任⼀具体关系r中的任意两个元组t1和t2,只要t1[X]=t2[X] 就有t1[Y]=t2[Y]。
则称"X函数确定Y" 或"Y函数依赖于X",记作X→Y,X为这个函数依赖的决定因素。
函数依赖要求R(U)的⼀切具体关系r都要满⾜的约束条件。
若X→Y且Y→X,则记作X⇿Y平凡函数依赖:X→Y,Y⊆X // 对于任⼀关系模式,平凡函数依赖必然是成⽴的⾮平凡函数依赖:X→Y,Y⊄X完全函数依赖:如果X→Y,且对于X的任何⼀个真⼦集X',都有X不函数确定Y ,则称Y对X完全函数依赖或者X完全决定Y,记作:部分函数依赖:如果X→Y,但Y不是完全函数依赖于X,则称Y 对X部分函数依赖,记作:传递函数依赖:如果X→Y,Y→Z,且 Y→X,Y⊄X,Z⊄Y,则称Z对X传递函数依赖,记作:候选键:对关系模式R(U),设K⊆U,且K完全函数确定U,则K为能够唯⼀确定关系中任何⼀个元组(实体)的最少属性集合,称K为R(U)的候选键或候选关键字。
【R(U,F),U={ A,B,C,D,E,G },F={AB→C,CD→E,E→A,A→G},求候选键】因G只在右边出现,所以G⼀定不属于候选码⽽B,D只在左边出现,所以B,D⼀定属于候选码BD的闭包还是BD,则对BD进⾏组合,除了G以外,BD可以跟A,C,E进⾏组合先看ABDABD本⾝⾃包ABD,⽽AB→C,CD→E,A→G,所以ABD的闭包为ABDCEG=U再看BDCCD→E,E→A,A→G,BDC本⾝⾃包,所以BDC的闭包为BDCEAG=U最后看BDEE→A,A→G,AB→C,BDE本⾝⾃包,所以BDE的闭包为BDEAGC=U因为(ABD)、(BCD)、(BDE)的闭包都是ABCDEG所以本问题的候选码有3个分别是ABC、BCD和BDE主键:通常在R(U)的多个候选键中任意选定⼀个候选键作为主键,也称为主码或主关键字。
数据库函数依赖及范式(最通俗易懂)⼀、基础概念 要理解范式,⾸先必须对知道什么是关系数据库,如果你不知道,我可以简单的不能再简单的说⼀下:关系数据库就是⽤⼆维表来保存数据。
表和表之间可以……(省略10W字)。
然后你应该理解以下概念: 实体:现实世界中客观存在并可以被区别的事物。
⽐如“⼀个学⽣”、“⼀本书”、“⼀门课”等等。
值得强调的是这⾥所说的“事物”不仅仅是看得见摸得着的“东西”,它也可以是虚拟的,不如说“⽼师与学校的关系”。
属性:教科书上解释为:“实体所具有的某⼀特性”,由此可见,属性⼀开始是个逻辑概念,⽐如说,“性别”是“⼈”的⼀个属性。
在关系数据库中,属性⼜是个物理概念,属性可以看作是“表的⼀列”。
元组:表中的⼀⾏就是⼀个元组。
分量:元组的某个属性值。
在⼀个关系数据库中,它是⼀个操作原⼦,即关系数据库在做任何操作的时候,属性是“不可分的”。
否则就不是关系数据库了。
码:表中可以唯⼀确定⼀个元组的某个属性(或者属性组),如果这样的码有不⽌⼀个,那么⼤家都叫候选码,我们从候选码中挑⼀个出来做⽼⼤,它就叫主码。
全码:如果⼀个码包含了所有的属性,这个码就是全码。
主属性:⼀个属性只要在任何⼀个候选码中出现过,这个属性就是主属性。
⾮主属性:与上⾯相反,没有在任何候选码中出现过,这个属性就是⾮主属性。
外码:⼀个属性(或属性组),它不是码,但是它别的表的码,它就是外码。
⼆、6个范式 好了,上⾯已经介绍了我们掌握范式所需要的全部基础概念,下⾯我们就来讲范式。
⾸先要明⽩,范式的包含关系。
⼀个数据库设计如果符合第⼆范式,⼀定也符合第⼀范式。
如果符合第三范式,⼀定也符合第⼆范式…第⼀范式(1NF):属性不可分。
在前⾯我们已经介绍了属性值的概念,我们说,它是“不可分的”。
⽽第⼀范式要求属性也不可分。
那么它和属性值不可分有什么区别呢?给⼀个例⼦:name tel age⼤宝136****567822⼩明139****6655010-123456721Ps:这个表中,属性值“分”了。
第一部分绪论二.填空题1. 数据是信息的符号表示或称载体;信息是数据的内涵,是数据的语义解释。
例如“据报道,世界人口已达到23亿”,这是 __信息___。
2.DBS是_计算机软硬件环境____、_数据库文件__、_DBMS__、_数据库应用程序___和__DBA____的集合体。
3.数据库的三级模式结构是对DBMS的三个抽象级别。
4.DBMS是指位于操作系统和应用程序之间的一层管理软件。
5.要想成功的运转数据库,就要在数据处理部门配备数据库管理员。
6. 数据库系统结构由三级模式和二级映射所组成,三级模式是指内模式、模式、外模式,二级映射是指内模式/模式映射、模式/外模式映射7. 有了外模式/模式映像,可以保证数据和应用程序之间的逻辑独立性 ,有了模式/内模式映像,可以保证数据和应用程序之间的物理独立性。
8.数据的独立性使得修改数据库结构时尽量不影响已有的逻辑独立性、应用程序9. 当数据的物理存储改变了,应用程序不变,而由DBMS处理这种改变,这是指数据的物理独立性10.根据计算机的系统结构,数据库系统可分成4种类型集中式数据库系统,网络数据库系统,分布式数据库系统,并行数据库系统三. 简答题1.数据管理技术的发展经历了哪几个阶段?各阶段与计算机技术的发展有何关系?阶段: 1.人工管理阶段 2.文件管理阶段 3.数据库管理阶段1.20世纪50年代中期以前,人工管理阶段时,因条件限制,所有数据量小,数据无结构而言,数据间缺乏逻辑联系,数据仅仅依赖于特定的应用,于是促进了文件管理的出现,代替人工阶段管理2.20世纪50年代中期稍后,随着计算机的出现,人们把数据进行文件管理的形式保存,文件系统可以实现记录内数据的结构化或半结构化,但是因为数据冗余度大,共享性差,数据管理和维护代价也比较大,所以为了多用户,多应用程序共享数据和共享服务,推动了数据库的发展,向计算机技术更高级管理发展3.20世纪60年代后期数据库技术的出现,数据库中的数据不再只针对某一特定的应用,而是面向组织,具有整体的结构性,数据冗余度小,方便多用户和多个程序的共享,便于管理维护,使计算机技术更加的成熟,运用到数据库管理方面。
数据库系统原理⎽(1)授权grant的一般格式为:grant<权限> on <对象类型> to <用户>其语义是将指定操作对象的指定操作权限授予指定的用户;不同对象类型允许的操作权限例如:把查询student权限授权给用户U1;Grant select on table student to U1;⎽(2)收回权限revoke格式:revoke <权限> on<对象类型> from <用户>例如:把用户U4修改学生学号的权限收回Revoke update(sno) on table student from u4;⎽超键(super key)、候选键(candidate key)和主键(primary key)的区别?超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键候选键(candidate key):不含有多余属性的超键称为候选键主键(primary key):用户选作元组标识的一个候选键程序主键比如一个小范围的所有人,没有重名的,考虑以下属性身份证姓名性别年龄身份证唯一,所以是一个超键姓名唯一,所以是一个超键(姓名,性别)唯一,所以是一个超键(姓名,性别,年龄)唯一,所以是一个超键--这里可以看出,超键的组合是唯一的,但可能不是最小唯一的身份证唯一,而且没有多余属性,所以是一个候选键姓名唯一,而且没有多余属性,所以是一个候选键--这里可以看出,候选键是没有多余属性的超键考虑输入查询方便性,可以选择身份证为主键也可以考虑习惯选择姓名为主键--主键是选中的一个候选键封锁粒度与系统的并发度成反比。
试述事务的四个性质,并说明每一个性质由DBMS的哪个子系统实现?每一个性质对数据库系统有什么益处?答:原子性:一个事务对数据库的所有操作,是一个不可分割的工作单元,这些操作要么全部执行,要么什么也不做(由DBMS的事务管理子系统来实现);一致性:一个事务独立执行的结果,应(由DBMS的完整性子系统执行测试任务);隔离性(由DBMS的并发控制子系统实现);持久性(由DBMS的恢复管理子系统实现的)。
数据库章节试题及答案第二章-关系数据库理论一.名词解释:1.关系的数学定义:笛卡尔积D 1×D 2×…×Dn 的子集叫做在域D 1,D 2,…,Dn 上的关系,用R (D 1,D 2,…,Dn )表示。
2.关系模式:关系模式是对关系结构的描述和定义,表示为:R (U ,D ,DOM ,F )。
其中,R 为关系名,U 为该关系的属性名集合,D 为U 中属性的域,DOM 为属性向域的映像集合,F 为属性间数据的依赖关系集合。
简记为:R(U)=R(A1,A2,…An)3.候选码和主码:关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码,可有多个。
主码属于候选码,1个关系只能有一个。
4、主属性和非主属性:候选码的所有属性;不包含在任何候选码中的属性,因此也理解为非码属性。
6、关系代数:一种抽象的查询语言,采用关系运算来表达查询,是支持关系数据库理论的数学工具。
关系代数的运算对象、运算结果都是关系。
7、元组关系演算:以元组变量作为谓词变元的基本对象的关系演算,典型语言是:ALP HA 语言。
ALPHA 语言语句基本格式如下:操作语句 工作空间名(表达式):操作条件8、域关系演算:以域变量作为谓词变元的基本对象的关系演算方法。
典型:QBE.二、试述关系数据语言的特点和分类。
三.试述等值连接与自然连接的区别和联系。
答:(1)等值连接:比较运算符θ为“=”的连接运算,其结果是从笛卡儿积R ×S 中选取A 、B 属性值相等的那些元组。
(2)自然连接:一种特殊的等值连接,要求将等值连接结果中重复的属性去掉。
四、设教学数据库TeachingData 中有3个基本表。
学生表 S(SNO,SNAME,SEX,CLASS)选课表 SC(SNO,CNO,SCORE)课程表 C(CNO,CNAME,TEACHER)试写出下列查询语句的关系代数表达式。
(1)查询老师"张三"所授课程的课程号和课程名(CNO,CNAME)。
《数据库》练习测试题库一、选择题1、单个用户使用的数据视图的描述称为()。
A.外模式 B.概念模式 C.内模式 D.存储模式2、子模式DDL用来描述()。
A.数据库的总体逻辑结构 B.数据库的局部逻辑结构C.数据库的物理存储结构 D.数据库的概念结构3、在DBS中,DBMS和OS之间的关系是()。
A.相互调用 B.DBMS调用OS C.OS调用DBMS D.并发运行4、五种基本关系代数运算是()。
A.∪,-,×,π和σ B.∪,-,∞,π和σC.∪,∩,×,π和σ D.∪,∩,∞,π和σ5、当关系R和S自然联接时,能够把R和S原该舍弃的元组放到结果关系中的操作是()。
A.左外联接 B.右外联接 C.外部并 D.外联接6、下列聚合函数中不忽略空值 (null) 的是()。
A.SUM (列名) B.MAX (列名) C.COUNT ( * ) D.AVG (列名) 7、设关系模式R (A,B,C),F是R上成立的FD集,F = {B→C},则分解ρ = {AB,BC}相对于F()。
A.是无损联接,也是保持FD的分解 B.是无损联接,但不保持FD的分解C.不是无损联接,但保持FD的分解 D.既不是无损联接,也不保持FD 的分解8、下列SQL语句中,修改表结构的是()。
A.CREATE B.ALTER C.UPDATE D.INSERT9、在数据库设计中,将ER图转换成关系数据模型的过程属于()。
A.需求分析阶段 B.逻辑设计阶段C.概念设计阶段 D.物理设计阶段10、SQL中,下列涉及空值的操作,不正确的是()。
A.AGE IS NULL B.AGE IS NOT NULL C.AGE = NULL D.NOT (AGE IS NULL) 11、如果事务T获得了数据项Q上的排它锁,则T对Q()。
A.只能读不能写 B.只能写不能读C.既可读又可写 D.不能读不能写12、DBMS中实现事务持久性的子系统是()。
范式分解主属性:包含在任一候选关键字中的属性称主属性。
非主属性:不包含在主码中的属性称为非主属性。
函数依赖:是指关系中一个或一组属性的值可以决定其它属性的值.函数依赖正象一个函数 y = f(x) 一样,x的值给定后,y的值也就唯一地确定了。
如果属性集合Y中每个属性的值构成的集合唯一地决定了属性集合X中每个属性的值构成的集合,则属性集合X函数依赖于属性集合Y,计为:Y→X。
属性集合Y中的属性有时也称作函数依赖Y→X的决定因素(determinant).例:身份证号→姓名。
部分函数依赖:设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。
完全函数依赖:在R(U)中,如果Y函数依赖于X,并且对于X的任何一个真子集X',都有Y 不函数依赖于X',则称Y对X完全函数依赖.否则称Y对X部分函数依赖。
【例】;举个例子就明白了。
假设一个学生有几个属性SNO 学号 SNAME 姓名 SDEPT系SAGE 年龄 CNO 班级号 G 成绩对于(SNO,SNAME,SDEPT,SAGE,CNO,G)来说,G完全依赖于(SNO, CNO), 因为(SNO,CNO)可以决定G,而SNO和CNO都不能单独决定G。
而SAGE部分函数依赖于(SNO,CNO),因为(SNO,CNO)可以决定SAGE,而单独的SNO也可以决定SAGE。
传递函数依赖:设R(U)是属性集U上的关系,x、y、z是U的子集,在R(U)中,若x→y,但y→x,若y→z,则x→z,称z传递函数依赖于x,记作X→TZ。
如果X-〉Y, Y—〉Z, 则称Z对X传递函数依赖。
计算X+ (属性的闭包)算法:a.初始化,令X+ = X;b。
在F中依次查找每个没有被标记的函数依赖,若“左边属性集”包含于X+ ,则令X+ = X+∪“右边属性集”,并为访问过的函数依赖设置标记。
c。
反复执行b直到X+不改变为止。
数据库四⼤范式⼀、概念在创建⼀个数据库的过程中,必须依照⼀定的准则,这些准则被称为范式,从第⼀到第六共六个范式。
⼆、背景数据库的规范化(上⼀篇博客有写到)的程度不同,便有了这么多种范式。
数据库范式是数据库设计必不可少的知识,没有对范式的理解,就⽆法设计出⾼效率、优雅的数据库,甚⾄设计出错误误的数据库。
三、⽬标⼀般数据库设计只要遵循第⼀范式,第⼆范式,和第三范式就⾜够了,满⾜这些规范的数据库是简洁的、结构明晰的,同时,不会发⽣插⼊(insert)、删除(delete)和更新(update)操作异常。
使⽤正确的数据结构,不仅有助于对数据库进⾏相应的存取操作,还可以极⼤地简化应⽤程序中的其他内容(查询、窗体、报表、代码等),按照“数据库规范化”对表进⾏设计,其⽬的就是减少数据库中的数据冗余,以增加数据的⼀致性。
四、概念1、候选键:唯⼀识别该表的属性或属性组。
⽽其任何、⼦集都不能再标识,则称该属性组为(超级码)候选码。
例如:在学⽣实体中,“学号”是能唯⼀的区分学⽣实体的,同时⼜假设“姓名”、“班级”的属性组合⾜以区分学⽣实体,那么{学号}和{姓名,班级}都是(超级码)候选码。
2、所谓依赖,就是函数依赖,就是映射。
可以⼀对⼀,可以⼀对多,可以多对多。
五、六⼤范式第⼀范式(1NF):属性不可拆分或⽆重复的列⼀个属性不允许再分成多个属性来建⽴列。
事实上,在⽬前的DBMS中是不可能拆分属性的,因为他们不允许这么做。
如果出现重复的属性,就可能需要定义⼀个新的实体,新的实体由重复的属性构成,新实体与原实体之间为⼀对多关系。
第⼀范式的模式要求属性值不可再分裂成更⼩部分,即属性项不能是属性组合或是由⼀组属性构成。
简⽽⾔之,第⼀范式就是⽆重复的列。
例如,由“职⼯号”“姓名”“电话号码”组成的表(⼀个⼈可能有⼀部办公电话和⼀部移动电话),这时将其规范化为1NF可以将电话号码分为“办公电话”和“移动电话”两个属性,即职⼯(职⼯号,姓名,办公电话,移动电话)。
练习题33.1解释下列名词1.函数依赖:设有关系模式R (U ),X 和Y 是属性集U 的子集,函数依赖(functional dependency ,简记为FD )是形为X →Y 的一个命题,只要r 是R 的当前关系,对r 中任意两个元组t 和s ,都有t[X]=s[X]蕴涵t[Y]=s[Y],那么称FD X →Y 在关系模式R (U )中成立。
这里t[X]表示元组t 在属性集X 上的值,其余类同。
X →Y 读作“X 函数决定Y ”,或“Y 函数依赖于X ”。
FD 是对关系模式R 的一切可能的关系r 定义的。
对于当前关系r 的任意两个元组,如果X 值相同,则要求Y 值也相同,即有一个X 值就有一个Y 值与之对应,或者说Y 值由X 值决定。
因而这种依赖称为函数依赖。
2.平凡的函数依赖对于FD X →Y ,如果Y ⊆X ,那么称X →Y 是一个“平凡的FD ”,否则称为“非平凡的FD ”。
正如名称所示,平凡的FD 并没有实际意义,根据规则A1就可推出。
人们感兴趣的是非平凡的FD 。
只有非平凡的FD 才和“真正的”完整性约束条件相关。
从规则A4和A5,立即可得到下面的定理。
定理 3.3 如果A 1……An 是关系模式R 的属性集,那么X →A 1……An 成立的充分必要条件是X →Ai (i=1,…,n )成立。
3.函数依赖集F 的闭包F +(Closure )设F 是函数依赖集,被F 逻辑蕴涵的函数依赖全体构成的集合,称为函数依赖集F 的闭包(Closure ),记为F +。
即F +={ X →Y | F|=X →Y }。
4.属性集X 的闭包X +设F 是属性集U 上的FD 集,X 是U 的子集,那么(相对于F )属性集X 的闭包用X +表示,它是一个从F 集使用FD 推理规则推出的所有满足X →A 的属性A 的集合:X +={属性A | F|=X →A }5.函数依赖的逻辑蕴含设F 是在关系模式R 上成立的函数依赖的集合,X →Y 是一个函数依赖。
3.1 名词解释(1) 函数依赖:FD(function dependency),设有关系模式R(U),X,Y 是U的子集, r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y], 则称X函数决定Y,或Y函数依赖于X,记为X→Y。
X→Y为模式R的一个函数依赖。
(2) 平凡的函数依赖:对于FD X→Y,如果Y∈X 那么称X→Y 是一个“平凡的函数依赖”,否则称为“非平凡的FD”。
(3) 函数依赖集F的闭包F+: 被逻辑蕴涵的函数依赖的全体构成的集合,称为F的闭包(closure),记为F+。
(5) 函数依赖的逻辑蕴涵:设F是关系模式R的一个函数依赖集,X,Y是R的属性子集, 如果从F中的函数依赖能够推出X→Y,则称F逻辑蕴涵X→Y,记为F|=X→Y。
(6)依赖集的覆盖和等价:关系模式R(U)上的两个函数依赖集F和G,如果满足F+=G+,则称F和G是等价的。
如果F和G等价,则可称F覆盖G或G 覆盖F。
(7)最小依赖集:如果函数集合F满足以下三个条件:(1)F中每个函数依赖的右部都是单属性; (2)F中的任一函数依赖X→A,其F-{X→A}与F 是不等价的;(3)F中的任一函数依赖X→A,Z为X的子集,(F-{X→A})∪{Z→A}与F不等价。
则称F为最小函数依赖集合,记为Fmin。
(8)无损联接:设R是一关系模式,分解成关系模式ρ={R1,R2...,Rk},F是R上的一个函数依赖集。
如果对R中满足F的每一个关系r都有r=πR1(r)πR2(r)...πRk(r)则称这个分解相对于F是"无损联接分解"。
(10)保持依赖集:所谓保持依赖就是指关系模式的函数依赖集在分解后仍在数据库中保持不变, 即关系模式R到ρ={R1,R2,...,R k}的分解,使函数依赖集F被F这些R i上的投影蕴涵。
(11) 1NF:第一范式。
如果关系模式R的所有属性的值域中每一个值都是不可再分解的值, 则称R是属于第一范式模式。
第六章关系数据理论第六章讲解关系数据理论。
这是关系数据库的又一个重点。
学习本章的目的有两个。
一个是理论方面的,本章用更加形式化的关系数据理论来描述和研究关系模型。
另一个是实践方面的,关系数据理论是我们进行数据库设计的有力工具。
因此,人们也把关系数据理论中的规范化理论称为数据库设计理论,有的书把它放在数据库设计部分介绍以强调它对数据库设计的指导作用。
一、基本知识点本章讲解关系数据理论,内容理论性较强,分为基本要求部分(《概论》6.1~6.3)和高级部分《概论》6.4)。
前者是计算机大学本科学生应该掌握的内容;后者是研究生应该学习掌握的内容。
①需要了解的:什么是一个“不好”的数据库模式;什么是模式的插入异常和删除异常;规范化理论的重要意义。
②需要牢固掌握的:关系的形式化定义;数据依赖的基本概念(函数依赖、平凡函数依赖、非平凡的函数依赖、部分函数依赖、完全函数依赖、传递函数依赖的概念,码、候选码、外码的概念和定义,多值依赖的概念);范式的概念;从lNF 到4NF的定义;规范化的含义和作用。
③需要举一反三的:四个范式的理解与应用,各个级别范式中存在的问题(插入异常、删除异常、数据冗余)和解决方法;能够根据应用语义,完整地写出关系模式的数据依赖集合,并能根据数据依赖分析某一个关系模式属于第几范式。
④难点:各个级别范式的关系及其证明。
二、习题解答和解析1.理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All-key)、lNF、2NF、3NF、BCNF、多值依赖、4NF。
解析解答本题不能仅仅把《概论》上的定义写下来。
关键是真正理解和运用这些概念。
答函数依赖:设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。
对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。
数据库系统复习题1(附答案)数据库系统复习题⼀、选择题第(1)⾄(3)题基于以下的叙述:有关系模式A(C,T,H,R,S),基中各属性的含义是:C:课程T:教员H:上课时间R:教室S:学⽣根据语义有如下函数依赖集:F={C→T,(H,R)→C,(H,T)→R,(H,S)→R}1、关系模式A的码是(D)A. CB. (H,R)C.(H,T),S)2、关系模式A的规范化程度最⾼达到(B)A. 1NFB. 2NFC. 3NFD. BCNF3、现将关系模式A分解为两个关系模式A1(C,T),A2(H,R,S),则其中A1的规范化程度达到(D)A. 1NFB. 2NFC. 3NFD. BCNF4.设有关系R(A,B,C)和S(C,D)。
与SQL语句select A,B,D from R,S where =等价的关系代数表达式是(B)A. σ=(πA,B,D(R×S))B. πA,B,D(σR,C= (R×S))C. σ=((πA,B R)×(πDS))D. σR,C=(πD((πA,BR)×S)5、设关系R和关系S的元数分别是3和4,关系T是R与S的⼴义笛卡尔积,即:T=R×S,则关系T的元数是(C)A. 7B. 9C. 12D. 166、数据库设计阶段分为(B)A. 物理设计阶段、逻辑设计阶段、编程和调试阶段B. 概念设计阶段、逻辑设计阶段、物理设计阶段、实施和调试阶段C. ⽅案设计阶段、总体设计阶段、个别设计和编程阶段D. 模型设计阶段、程序设计阶段和运⾏阶段7、设U是所有属性的集合,X、Y、Z都是U的⼦集,且Z=U-X-Y。
下⾯关于多值依赖的叙述中,不正确的是(C)A. 若X→→Y,则X→→ZB. 若X→Y,则X→→YC. 若X→→Y,且Y′Y,则X→→Y′D. 若Z=Φ,则X→→Y8、查询优化策略中,正确的策略是(D)A.尽可能早地执⾏笛卡尔积操作B.尽可能早地执⾏并操作C.尽可能早地执⾏差操作D.尽可能早地执⾏选择操作9、语句delete from sc 表明(A)A. 删除sc中的全部记录B. 删除基本表scC. 删除基本表sc中的列数据D. 删除基本表sc中的部分⾏10、在DB应⽤中,⼀般⼀条SQL 语句可产⽣或处理⼀组记录,⽽DB主语⾔语句⼀般⼀次只能处理⼀条记录,其协调可通过哪种技术实现(B)A. 指针B. 游标C. 数组D. 栈11、五种基本关系代数运算是( A )A. ∪,-,×,π和σB. ∪,-,,π和σC. ∪,∩,×,π和σD. ∪,∩,,π和σ12、下列聚合函数中不忽略空值(null) 的是( C )A. SUM (列名)B. MAX (列名)C. COUNT ( * )D. AVG (列名)13、在数据库设计中,将ER图转换成关系数据模型的过程属于(B)A. 需求分析阶段B. 逻辑设计阶段C. 概念设计阶段D. 物理设计阶段第(14)⾄(16)题是基于如下两个关系,其中雇员信息表关系EMP的主键是雇员号,部门信息表关系DEPT的主键是部门号。
第三章数据库系统数据库系统和操作系统一样,高级考试系统架构师和系统分析师也是重点章节。
重要的是这一章在软件设计师下午考试五道大题中,其中一道。
所以要给予足够的重视,没有数据库基础的朋友,要多花一些时间在这一章上。
一、三级模式-两层映射1、重点。
三级模式:内模式、模式(概念模式)和外模式。
三级模式分别对应数据库的文件、表和视图。
两层映射:模式-内模式映射、外模式-模式映射。
2、理解。
物理数据库在计算机上以文件的形式表现。
内模式和物理层次数据库直接关联,管理如何存储一系列数据,将数据存储在物理数据库文件中。
概念模式对应数据库中的表,把数据库分成若干张表,表之间有关联。
外模式对应数据库中视图,对数据控制有更灵活处置方式。
以下为历年真题试题9(2016年上半年试题51)数据的物理独立性和逻辑独立性分别是通过修改(51)来完成的。
D.模式与内模式之间的映像、外模式与模式之间的映像试题分析物理独立性是指的内模式发生变化,只需要调整模式与内模式之间的映像,而不用修改应用程序。
逻辑独立性是指的模式发生变化,只需要调整外模式与模式之间的映像,而不用修改应用程序。
试题13(2015年下半年试题51)数据库系统通常采用三级模式结构:外模式、模式和内模式。
这三级模式分别对应数据库的__(51)__。
B.视图、基本表和存储文件试题分析数据库三级模式的图为:其中外模式对应视图,概念模式对应基本表,内模式对应存储文件。
试题30(2013年上半年试题54)在数据库系统中,视图是一个()D.虚拟表,查询时可以从一个或者多个基本表或视图中导出试题分析计算机数据库中的视图是一个虚拟表,其内容由查询定义。
同真实的表一样,视图包含一系列带有名称的列和行数据。
但是,视图并不在数据库中以存储的数据值集形式存在。
行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
试题答案(54) D二、数据库设计过程1、重点。
数据库设计过程有4个阶段,阶段依次为:需求分析、概念结构设计、逻辑结构设计和物理结构设计。