21关系模型及形式化描述
- 格式:ppt
- 大小:409.00 KB
- 文档页数:51
第二章1、关系的性质,关系模式的形式化表示、各参数的含义。
答:关系数据库中的关系必须具有下列一些性质。
(1)任意两个元组(两行)不能完全相同;(2)关系中元组(行)的次序是不重要的,即行的次序可以任意交换。
(3)关系属性(列)的次序也是不重要的,即列的次序可以任意交换。
(4)同一列中的分量必须来自同一个域,是同一类型的数据;(5)属性必须有不同的名称,但不同的属性可出自相同的域,即它们的分量可以取值于同一个域。
(6)每一分量必须取原子值,即每一个分量都必须是不可再分的数据项。
关系模式的形式化表示:关系的描述称为关系模式(Relation Schema)。
它的形式化表示为:R( U, D, DOM, F)其中,R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映象集合,F为属性间数据的依赖关系集合。
2、关系数据语言的特点及分类。
答:关系数据语言可以分为三类:○1关系代数语言,如ISBL元组关系演算语言,如ALPHA、QUEL○2关系演算语言域关系演算语言如 QBE○3具有关系代数和关系演算双重特点的语言,如 SQL这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
3、完整性约束的分类,3类完整性规则的含义。
答:关系模型中有3类完整性约束:实体完整性、参照完整性和用户定义的完整性。
为了维护数据库中数据的完整性,在对关系数据库执行插入、删除和修改操作时,必须遵循下述3类完整性原则。
(1)实体完整性规则:关系中的元组在主属性上不能有空值。
(2)参照完整性规则:外键的值不允许参照不存在的相应表的主键的值。
(3)用户定义的完整性规则:用户定义的完整性规则是用户根据具体应用语义要求,利用DBMS提供的定义的完整性规则的机制,用户自己定义的完整性规则。
4、关系代数中传统的集合运算有哪些,专门的关系运算有哪些。
答:关系代数中传统的集合运算有:并、差、交、笛卡尔积4种运算○1并(Union):设有同类关系R和S,则它们的并记为R∪S,仍然是R和S的同类关系,由属于R或属于S的元组组成,但必须除去重复的元组R∪S={t∣t∈R∨t∈S},其中t为元组。
一、名词解释1、数据库2、DBMS3、数据库系统4、码5、关系模式6、模式7、外模式8、内模式9、主属性 10、非主属性 11、实体完整性12、参照完整性 13、外码 14、SQL 15、索引 16、行列子集视图17、1NF 18、规范化 19、2NF 20、3NF 21、视图 22、视图消解三、简答1. 简述数据库管理系统的功能。
2. 简述关系模型的优缺点。
3.试述数据模型的概念、数据模型的作用和数据模型的3个要素?4.什么叫数据与程序的物理独立性?什么叫数据与程序的独立逻辑性?为什么数据库系统具有数据与程序的独立性?5.试述数据库系统三级模式结构,这种结构的优点是什么?6. 关系模式是对关系的描述,它可以形式化的表示为R(U,D,DOM,F),试述各部分的含义。
7. 什么是基本表?什么是视图?两者的区别与联系是什么?8. 数据库的完整性概念与数据库的安全性概念有什么区别和联系?9. 试述数据库设计过程各个阶段上的设计描述。
10.试述事务的概念及事务的4个特性。
11.什么是日志文件?为什么要设立日志文件?12. 并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?13. SQL的特点。
五、数据库设计要求:(1)画出表达此问题的ER图。
(2)请把上述ER图转换为关系模型,要求在关系模式中注明主码和外码(分别用和表示)。
(3)根据设计好的关系模式,用SQL语言定义相应的关系表(任选三个关系模式即可,要体现出各关系表的主码、属性类型及外码(若有))1.职工科研管理系统情况如下:部门:包括部门号,部门名,办公室。
每个部门有多名职工。
职工:包括职工号,姓名,性别,年龄,职称,专业。
项目:包括项目编号,项目名称,项目经费,项目来源,负责人。
每名职工可参加多个项目,每个项目可有多名职工参加。
2.设有一局部应用,包括3个实体“科室”,“医生”,“病人”,且有以下事实:每位医生属于且仅属于一个科室;每个科室可以聘用若干医生,对每个医生聘用时存有聘用期限和聘用日期;一个病人可以由不同的医生为其诊断,每个医生可以为若干病人诊治,每次诊断存有就诊日期。
21723读书笔记关系模式的基本概念21/7/23 读书笔记⽬录数据挖掘导论关系模型的基本概念关系模型的数据结构——关系模型⼀般由数据结构、操作集合和约束性条件构成。
关系,就是关系模型的数据结构。
关系是动态的,我们认为在关系数据库系统中关系就是数据,因此数据更新时发⽣改变,关系也会随之改变。
对于关系的形式化定义,基于以下概念:域:⼀组数据类型相同的值的集合,⽐如所有正整数、{东,南,西,北}等。
笛卡尔积:⼀组域之间构成的完全的笛卡尔积。
笛卡尔积可以以每个域为列、每种组合情况为⾏,构成⼀张表。
元组:每种组合情况对应⼀个元组,⼜可称为⼀条记录关系:笛卡尔积的⼀个⼦集,其关联的域的数量称为关系的⽬或度。
关系可以表⽰为⼀张表。
在笛卡尔积基础上的限定与扩充:笛卡尔积中,⼀个元组中域具有先后次序;关系中,列的次序可以任意交换,⾏的顺序也可以任意交换;笛卡尔积中,每个元组中的元素还可以是⼀个集合;关系中,限定元组中的任⼀个元素必须是原⼦化的,不可再分(表中不能有表)属性:由于域可以相同,我们对每个列对应称为属性,不同列之间即使对应的域相同,但是属性不同。
关系的⼀个域可以对应多种属性,每种属性只能属于⼀个域。
候选码:关系中的某个属性的值能唯⼀标识⼀个元组,符合这个要求的属性的集合构成候选码主码:从候选码中选出⼀个属性作为主码主属性:候选码中所有的属性都称为主属性关系模式:关系所关联的属性集合,以及属性与域之间的对应关系,构成⼀个关系模式。
关系模式是静态的,其在数据库进⾏更新的过程中保持不变。
关系数据库系统是⽀持关系模型的数据库系统。
关系数据库系统与关系模式是两个层次的概念,他们都由型与值两⽅⾯组成。
型是静态的、稳定的,值是在数据库更新过程中不断改变的。
关系数据库的型 = 关系数据库模式 = 对若⼲域的定义 + 对这些域上的关系模式的定义关系数据库的值 = 若⼲关系模式在特定时刻对应关系的集合 = 若⼲关系模式的值的集合关系模式的型 = 属性的集合 + 属性与域之间映像的集合关系模式的值 = 关系 = 特定时刻内该关系模式描述下的取值注意涉及的关系模式和关系都可能被称为关系,需要我们根据上下⽂加以区分。
关系模型【数据库概论】(⼀) 关系模型知识引⼊开局⼀张图,知识全靠爆~DBMS 采⽤某种数据模型进⾏建模,提供了在计算机中表⽰数据的⽅式,其包括,数据结构、数据操作、数据完整性三部分。
在关系模型中,通过关系表⽰实体与实体之间的联系,然后基于关系数据集合进⾏数据的查询、更新以及控制等操作同时对数据的更新操作进⾏实体完整性、参照完整性、⽤户⾃定义完整性约束。
⽽在前期,通过关系代数和逻辑⽅式(关系演算)表⽰对关系操作的能⼒,⽽后出现了 SQL 语⾔,其吸纳了关系代数的概念,和关系演算的逻辑思想虽然进⾏了⼀定的解释,但是光看图上的这些名词,还是很懵,没关系,下⾯我们就按照图⽚上的标号,针对关系数据模型进⾏讲解多说⼀句:关系模型⾮常重要,是现在主流的⼀种数据模型,同样 SQL 也⾮常流⾏,现在⼤部分数据库都是⽀持 SQL 的,这也正是我们要针对此部分重点学⼀下的原因(⼆) 关系的数据结构(1) 关系的相关概念A:关系的数学描述关系概念是对事物间数据依赖的⼀种描述,同时集合论提供了关系概念:集合论中的关系本⾝也是⼀个集合,以具有某种联系的对象组合——“序组”为其成员。
关系不是通过描述其内涵来刻画事物间联系的,⽽是通过列举其外延(具有这种联系的对象组合全体)来描述这种联系B:笛卡尔积关系的概念是建⽴在笛卡尔积概念的基础上的,笛卡尔积是定义在给定⼀组域上的有序对的集合,⽽域则是⼀组具有相同数据类型的值的集合,例如⾃然数整数实数,长度⼩于若⼲字节的字符串集合等都可以是域给定⼀组域D1,D2,…,Dn,这n个域的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)| di∈Di,i=1,2,…,n }每⼀个元素(d1,d2,…,dn)叫作⼀个n元组(n-tuple),或简称为元组(Tuple)元素中的每⼀个di值叫作⼀个分量(Component)若Di (i=1,2,…,n)为有限集,其基数为mi (i=1,2,…,n),则D1×D2×…×Dn的基数M为:nM= ∏ mii=1定义可能有⼀些抽象,引⼊⼀个例⼦看⼀下,会直观⼀些【例】设:D1为学⽣集合= {张⼭,李斯,王武};D2为性别集合= {男,⼥};D3为年龄集合= {19,20}⽤⼆维表的形式表⽰D1×D2×D3,则为下表格,则有12个元组姓名性别年龄张⼭男19张⼭⼥19张⼭男20张⼭⼥20李斯男19李斯⼥19李斯男20李斯⼥20王武男19王武⼥19王武男20王武⼥20姓名性别年龄C:关系的定义根据上⾯的铺垫可以得出:满⾜⼀定语义的D1×D2×…×Dn的⼦集叫作在域D1、D2、…、Dn上的关系定义:R(D1, D2, …, Dn)R:关系的名字n:关系的⽬或度(Degree)(2) 关系模型的相关概念关系的描述称为关系模式:R(U, D, Dom, F)R:关系名U:组成该关系的属性集合D:属性组U中属性所来⾃的域Dom:属性向域的映像的集合F:属性间数据的依赖关系集合A:属性(U)若关系对应⼀个实体,关系的属性就是所要描述的实体对象的属性,即实体所对应的事物对象的特征,例如姓名,性别,年龄在同⼀关系中,属性名不能相同,但不同的属性可以有相同的域。
第2章关系模型习题参考答案1.解释下列术语:(1)候选键、主键、外键答:若表中某一列(或若干列的组合)的值能惟一标识一个行,称该列或列组为候选键。
如果一个表有多个候选键,通常选择其中一个候选键作为区分行的惟一性标识符,称为主键(PRIMARY KEY,简写为PK)。
如果一个表只有一个候选键,那么这个候选键就作为主键。
外键(foreign key,简称FK):指—个表R1中的一个列或列组对应另一个表R2的主键,那么该列或列组称为表R1的外键。
(2)关系、关系模式、关系数据库答:关系是关系模型的数据结构。
关系模式是关系的形式化描述。
最简单的表示为:关系名(属性名1,属性名2,……,属性名n)其中的某个属性名i或某些属性名组为主键,要用下划线表明。
关系数据库是表或者说关系的集合(3)完整性规则、实体完整性规则、参照完整性规则答:完整性规则是为了保证关系(表)中数据的正确、一致、有效而确定的规则。
包括实体完整性(规则)、参照完整性(规则)和用户自定义完整性(规则)三大类。
实体完整性规则是表中任意一行的主键值不能为空值。
参照完整性规则是一个表的外键值可以为空值。
若不为空值,则必须等于另一个表中主键的某个值。
2.如何判断一个表是否与一个关系等价?答:根据关系的性质来判断。
关系的性质是:(1)关系中每一属性都是最小的。
(2)关系中同一属性的所有属性值属于同一数据类型。
(3)关系中的属性名不能重复。
(4)关系的属性位置从左到右出现的顺序无关紧要。
(5)关系中任意两个元组不能完全相同。
(6)关系中的元组从上到下出现的顺序无关紧要。
因此,要使一个表与一个关系等价,则:(1)表中每一个行与列的交叉点上只能存放一个单值。
(2)表中同一列中的所有列值都必须属于同一数据类型。
(3)表中每一列都有惟一的列名,不允许有两个列有相同的列名。
(4)表中的列从左到右出现的顺序无关紧要。
(5)表中任意两个行不能完全相同,即每一行都是惟一的,没有重复的行。
第2章关系数据库(重点)数据库知识点整理第2章关系数据库(重点)了解:关系数据结构及形式化定义、关系操作、关系的完整性、关系代数掌握关系模型的三个组成部分及各部分所包括的主要内容关系数据结构及其形式化定义关系的三类完整性约束关系代数及其运算,包括并、交、差、选择、投影、连接、除、⼴义笛卡⼉积知识点关系模型三个组成部分关系数据结构关系操作集合关系完整性约束实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值参照完整性规则:若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不⼀定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值⽤户定义的完整性:针对某⼀具体关系数据库的约束条件,反映某⼀具体应⽤所涉及的数据必须满⾜的语义要求关系数据语⾔的特点和分类关系代数语⾔关系演算语⾔具有关系代数和关系演算双重特点的语⾔域、笛卡⼉积、关系、元组、属性域:域是⼀组具有相同数据类型的值的集合笛卡⼉积:D1*D2*…*Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}关系:在域D1,D2,…,Dn上笛卡⼉积D1*D2*…*Dn的⼦集,表⽰为R(D1,D2,…,Dn)元组:关系中的每个元素是关系中的元组属性:关系也是⼀个⼆维表,表的每⾏对应⼀个元组,表的每列对应⼀个域。
由于域可以相同,为了加以区分,对每列起⼀个名字,称为属性候选码、主码、外码候选码:若关系中的某⼀属性组的值能唯⼀地标识⼀个元组,⽽其⼦集不能,则称该属性组为候选码(candidate key)主码:若⼀个关系有多个候选码,选定其中⼀个为主码(primary key)外码:设F是基本关系R的⼀个或⼀组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外部码(foreign key),简称外码关系模式、关系、关系数据库关系模式:关系的描述称为关系模式(relation schema),关系模式形式化表⽰为R(U,D,DOM,F)。