同济大学数据库关系模型和关系运算理论
- 格式:ppt
- 大小:2.29 MB
- 文档页数:118
习题21、试述概念模型的作用。
概念层数据模型,也称为概念模型或信息模型,它是从数据的应用语义角度来抽取模型,并按照用户的观点来对数据和信息进行建模,这类模型主要用于数据库设计阶段,它与具体的数据库管理系统无关。
概念模型一方面应该具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,另一方面它还应该简单、清晰、易于用户理解,它是用户和设计人员交流的工具。
2、解释“三个世界”之间的联系。
从客观世界、信息世界到数据世界是一个认识的过程,也是抽象和映射的过程。
在计算机数据库中存储的数据,是经过两级抽象而来的,并且反映的是现实世界的有关信息。
现实世界的复杂事物经过两级抽象的结果就是数据模型。
而抽象的过程是先将现实世界抽象为信息世界的实体模型,然后再将实体模型经过二级抽象得到数据库系统支持的数据模型。
3、定义并解释下列术语。
1)实体客观存在并可相互区别的事物称为实体(Entity)。
实体可以是具体的人、事、物,也可以是抽象的概念或联系。
2)实体型具有相同特征的实体称为实体型(Entity Type)。
3)实体集同属于一个实体型的实体的集合称为实体集(Entity Set)。
4)属性属性(Attribute)就是描述实体的特性或性质的数据。
5)码能够唯一标识一个实体的属性或属性集称为码(Key)。
如果码是由几个属性构成的,则其中不能有多余的属性。
即必须是几个属性全部给出才能唯一标识一个实体。
码是区别实体集中不同实体的关键属性,也称为关键字或键。
6)实体-联系图:采用图形的形式描述实体-联系模型称为实体-联系图。
4、学校中有若干个系,每个系有若干个班级和教研室,每个教研室有若干个教员,其中教授和副教授各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课程由若干学生选修。
试用E-R图画出此学校的概念模型。
给出主要实体(系、班级、教研室、学生、教员、课程)的E-R图5、某工厂生产若干产品,每种产品由不同的零件组成,每种零件可用在不同的产品上。
第一章数据库概论1.人工管理阶段,文件系统阶段,数据库阶段,高级数据库阶段(对象数据库技术,分布式数据库系统,开放数据库互连技术,xml数据库技术,现代信息集成技术)2.数据描述:概念设计中:实体,实体集,属性,实体标识符;逻辑设计中:字段,记录,文件,关键码;物理设计中:位,字节,字,块,桶,卷;3.概念模型,逻辑模型(层次,网状,关系,对象),外部模型,内部模型;4.三层模式(外模式,逻辑模式,内模式),两级映像(外模式/逻辑模式映像,逻辑模式/内模式映像)5.数据库系统:数据库,硬件,软件,数据库管理员第二章关系模型和关系运算理论1.超键:能唯一标识元组的属性或属性集。
候选键:不含有多余属性的超键主键:用户选作元祖标识的候选键。
外键:是其他模式的主键。
实体完整性规则,参照完整性规则,用户定义的完整性规则关系模式的三层体系结构:关系模式,子模式,存储模式2.关系代数的5个基本操作:并,差,笛卡尔积,投影,选择;关系代数的4个组合操作:交,连接,自然连接,除法。
关系代数的7个扩充操作:改名,广义投影,赋值,外连接,外部并,半连接,聚集操作3.关系代数表达式的启发式优化算法:尽可能早的执行选择操作;尽可能早的执行投影操作;避免直接做笛卡尔积第三章关系数据库语言SQL1.SQL的组成:数据定义语言,数据操纵语言,嵌入式,数据控制语言2.数据定义:数据类型ok,数据库,数据表,索引的创建等ok。
3.数据查询,数据更新ok。
4,视图,嵌入式,动态SQL语句,存储过程。
第四章关系数据库的规范化设计1.定义1:函数依赖:设有关系模式R(U),U为属性集,x、y为U的子集,函数依赖(FD)是形为X→Y的一个命题,只要r是R的当前关系,对r中任意两个元组t和s,都有t[X]=s[X]蕴涵t[Y]=s[Y],那么称FDX→Y在关系模式R(U)中成立。
定义2:如果X→Y和Y→X同时成立,则可记为X←→Y。
定义3:设F是在关系模式R上成立的函数依赖的集合,X→Y 是一个函数依赖。
关系数据库关系运算关系数据库是一种使用关系模型来组织和管理数据的数据库系统。
在关系数据库中,关系运算是一种用于处理关系型数据的操作。
关系运算主要包括集合运算和连接运算两大类。
一、集合运算集合运算是指对两个关系(即数据表)进行操作,返回满足某种条件的数据集合。
常用的集合运算有并运算、差运算、交运算和笛卡尔积运算。
1. 并运算:并运算是指将两个关系中的所有元组合并成一个新的关系。
例如,有关系A和关系B,关系A中的元组有(a,b)和(c,d),关系B中的元组有(e,f)和(g,h),则并运算的结果是关系C,关系C 中的元组有(a,b)、(c,d)、(e,f)和(g,h)。
2. 差运算:差运算是指从一个关系中减去另一个关系中的元组得到一个新的关系。
例如,有关系A和关系B,关系A中的元组有(a,b)、(c,d)和(e,f),关系B中的元组有(a,b),则差运算的结果是关系C,关系C中的元组有(c,d)和(e,f)。
3. 交运算:交运算是指返回两个关系中共有的元组。
例如,有关系A和关系B,关系A中的元组有(a,b)、(c,d)和(e,f),关系B中的元组有(c,d)和(g,h),则交运算的结果是关系C,关系C中的元组有(c,d)。
4. 笛卡尔积运算:笛卡尔积运算是指将两个关系中的元组两两组合成一个新的关系。
例如,有关系A和关系B,关系A中的元组有(a,b)和(c,d),关系B中的元组有(e,f)和(g,h),则笛卡尔积运算的结果是关系C,关系C中的元组有(a,b,e,f)、(a,b,g,h)、(c,d,e,f)和(c,d,g,h)。
二、连接运算连接运算是指将两个关系中满足某种条件的元组连接起来形成一个新的关系。
常用的连接运算有等值连接、自然连接和外连接。
1. 等值连接:等值连接是指根据两个关系中某个属性相等的元组进行连接。
例如,有关系A和关系B,关系A中的元组有(a,b,c)和(d,e,f),关系B中的元组有(c,d,e)和(f,g,h),则等值连接的结果是关系C,关系C中的元组有(a,b,c,d,e)和(d,e,f,g,h)。
关系模型【数据库概论】(⼀) 关系模型知识引⼊开局⼀张图,知识全靠爆~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)若关系对应⼀个实体,关系的属性就是所要描述的实体对象的属性,即实体所对应的事物对象的特征,例如姓名,性别,年龄在同⼀关系中,属性名不能相同,但不同的属性可以有相同的域。
关系模型与关系运算⽬录关系数据库数据模型是现实世界数据特征的模拟和抽象。
在数据库中⽤数据模型这个⼯具来抽象、表⽰和处理现实世界中的数据和信息。
数据模型通常由数据结构、数据操纵和完整性约束三部分组成,称为数据模型三要素。
数据结构:所研究对象类型的集合。
这些对象是数据库的组成部分,主要包括两类:⼀类是与数据类型、内容、性质有关的对象。
另⼀类是与数据之间联系有关的对象。
数据结构是对系统静态特性的描述,是刻画⼀个数据模型性质最重要的⽅⾯,因此在数据库系统中,⼈们通常按照其数据结构的类型来命名数据模型。
例如,层次结构、⽹状结构和关系结构的数据模型分别命名为层次模型、⽹状模型和关系模型。
数据操纵:对数据库中各种对象允许执⾏的操作集合及有关的操作规则。
常⽤的数据操纵有检索和更新(包括新增、删除、修改)。
数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语⾔。
数据操纵是对系统动态特性的描述。
数据的约束条件:是⼀组完整性规则的集合。
完整性规则是给定数据模型中数据及其联系所具有的制约和储存规则,⽤来限定符合数据模型的数据库状态以及状态变化,以保证数据的正确性、有效性和相容性。
关系模型关系模型的数据结构:数据结构⾮常单⼀,⽆论是实体还是实体间的联系,均由单⼀的结构来表⽰,该结构是⼀张规范化了的⼆维表,由⾏和列组成,称之为关系。
关系模型的数据操纵:包括查询、新增、删除、修改,其中查询的表达能⼒是最主要的部分。
关系模型数据操纵的特点是集合操作,即操作的对象和结果都是集合,这种操作⽅式也称为⼀次⼀集合⽅式。
关系模型的完整性约束:包括实体完整性、参照完整性和⽤户定义的完整性三⼤类。
其中实体完整性和参照完整性是关系模型必须满⾜的完整性约束条件,由关系DBMS⾃动⽀持,⽤户定义的完整性是由应⽤领域需要遵循的约束条件,是具体领域中的语义约束。
关系的数学定义域(Domain):⼀组具有相同数据类型的值的集合,如整数、实数等。
1.3 自测题1.3.1 填空题1.数据管理技术的发展,与__________、__________和__________有密切的联系。
2.文件系统中的数据独立性是指__________独立性。
3.文件系统的缺陷是:_________、_________和__________。
4.就信息处理的方式而言,在文件系统阶段,__________处于主导地位,_________只起着服从程序设计需要的作用;而在数据库方式下,_________占据了中心位置。
5.对现实世界进行第一层抽象的模型,称为__________模型;对现实世界进行第二层抽象的模型,称为__________模型。
6.层次模型的数据结构是__________结构;网状模型的数据结构是__________结构;关系模型的数据结构是__________结构;面向对象模型的数据结构之间可以__________。
7.在层次、网状模型中,用__________导航数据;而在关系模型中,用__________导航数据。
8.数据库的三级模式结构是对__________的三个抽象级别。
9.DBMS为应用程序运行时开辟的DB系统缓冲区,主要用于__________和__________。
10.在数据库技术中,编写应用程序的语言仍然是C一类高级语言,这些语言被称为__________语言。
11.在DB的三级模式结构中,数据按__________的描述提供给用户,按__________的描述存储在磁盘中,而__________提供了连接这两级的相对稳定的中间观点,并使得两级中的任何一级的改变都不受另一级的牵制。
12.层次、网状的DML属于________语言,而关系型DML属于_________语言。
13.DBS中存放三级结构定义的DB称为__________。
1.3.2 单项选择题(在备选答案中选出一个正确答案)1.在DBS中,DBMS和OS之间关系是[ ] A.并发运行B.相互调用C.OS调用DBMS D.DBMS调用OS2.在数据库方式下,信息处理中占据中心位置的是[ ] A.磁盘 B.程序 C.数据 D.内存3.DB的三级体系结构是对_________抽象的三个级别。
2022年同济大学软件工程专业《数据库原理》科目期末试卷B(有答案)一、填空题1、数据库管理系统的主要功能有______________、______________、数据库的运行管理以及数据库的建立和维护等4个方面。
2、在数据库系统封锁协议中,一级协议:“事务在修改数据A前必须先对其加X锁,直到事务结束才释放X锁”,该协议可以防止______;二级协议是在一级协议的基础上加上“事务T在读数据R之前必须先对其加S锁,读完后即可释放S锁”,该协议可以防止______;三级协议是在一级协议的基础上加上“事务T在读数据R之前必须先对其加S锁,直到事务结束后才释放S锁”,该协议可以防止______。
3、事务故障、系统故障的恢复是由______完成的,介质故障是由______完成的。
4、在SQL Server 2000中,新建了一个SQL Server身份验证模式的登录账户LOG,现希望LOG在数据库服务器上具有全部的操作权限,下述语句是为LOG授权的语句,请补全该语句。
EXEC sp_addsrvrolemember‘LOG’,_____;5、主题在数据仓库中由一系列实现。
一个主题之下表的划分可按______、______数据所属时间段进行划分,主题在数据仓库中可用______方式进行存储,如果主题存储量大,为了提高处理效率可采用______方式进行存储。
6、在SQL语言中,为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用____________语句,收回所授的权限使用____________语句。
7、数据模型是由______________、______________和______________三部分组成。
8、在设计局部E-R图时,由于各个子系统分别有不同的应用,而且往往是由不同的设计人员设计,所以各个局部E-R图之间难免有不一致的地方,称为冲突。
这些冲突主要有______、______和______3类。