欢迎来到天天文库
浏览记录
ID:57012987
大小:280.00 KB
页数:33页
时间:2020-07-26
《关系数据库设计理论课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章关系数据库设计理论第一节关系模型在关系模型中无论是实体还是实体间的联系均由单一的数据结构——关系来表示。一个关系的逻辑结构就是一张二维表。这种用二维表的形式表示实体和实体间联系的数据模型称为关系模型。关系模型用二维表表示实体集,通过外部关键字表示实体间的联系。在关系F中,客观事物间的关联和限制表现为一系列的约束条件,包括:域约束、键约束、完整性约束和数据依赖。一、关系模型的组成关系模型由三大要素组成:▲数据结构数据库中所有数据及其相互之间的联系都被组织成关系的形式把数据库表示为关系的集合关系的逻辑结构就是一张二维表▲关
2、系操作集合选择、投影、连接并、差、交、除插入、删除、更新、查询▲关系的完整性约束关系模型的数据完整性是指数据库中数据的正确性、相容性和一致性。数据的完整性由完整性规则来维护,关系模型的完整性规则是对关系的某种约束,也称为完整性约束。完整性性约束是为了保证数据库中数据的完整性对关系模型提出的某种约束条件和规则。完整性性约束包括:☆实体完整性约束☆参照完整性约束☆用户自定义完整性约束二、关系模型中的基本术语▲关系在关系模型中,一个关系就是一张二维表,每一个关系都有一个关系名。▲属性二维表中垂直方向上的列称为属性,每一个列有一个属性
3、名,列的值称为属性值。属性对应了数据表中的字段,属性名即为字段名。▲元组二维表中水平方向的行称为元组,一行就是一个元组。元组对应了数据表中的一条记录,元组的各分量分别对应关系的各个属性。关系模型要求每个元组的每个分量都是不可再分的数据项。▲域属性所取值的变化范围称为属性的值域,即不同元组中对同一个属性的取值所限定的范围。域约束规则限定了属性的取值必须是来自域中的原子值,即取值必须为不可再分的数据,集合、数组不能作为属性的值。▲关系模式对关系的描述称为关系模式。它表示为:关系名(属性名1,属性名2,……,属性名n)在数据表中,关系模式表示为表
4、的结构:表名(字段名1,字段名2,……,字段名n)在关系数据库中,关系模式是型,关系是值,关系模式是静态的,关系是关系模式在某一时刻的状态或内容,关系是动态的。▲关键字(码、键)能唯一识别一个元组的属性或属性的组合称为该关系的关键字(在数据表中即为字段或字段的组合)。关键字可分为:候选关键字(候选码)如果一个关系关系中的一个关键字移去了其中任何一个属性,它就不再是这个关系的关键字,则称这样的关键字为该关系的候选关键字。主关键字(主码)一个关系中往往有多个候选关键字,若选定其中一个用来唯一标识该关系的元组,则称这个被指定的关键字为该关系的
5、主关键字。外部关键字(外码)如果关系中的某个属性或属性组合虽然不是这个关系的主关键字,或者只是主关键字的一部分,但却是另一个关系的主关键字时,则称该属性或属性组为这个关系的外部关键字。通过外部关键字来创建两张表之间的关系。第二节关系代数关系代数是一种过程化的查询语言。它包含了一个运算的集合,这些运算是以一个或多个关系为操作对象,产生新的关系作为结果。关系的基本运算可分为两类:传统的集合运算如:并、差、交等。专门用于关系操作的运算如:选择、投影、联接等。一、传统的集合运算1、并运算(Union)设有关系R和S,它们具有相同的关系模式,并
6、且对应属性的作用域相同,它们的并运算结果生成一个新的关系,由关系R与关系S中所有的元组组成。记作:R∪S={t
7、t∈R∨t∈S}ABC123456789ABC123258704ABC123456789258704RST2、差运算(Difference)设有关系R和S,它们具有相同的关系模式,并且对应属性的作用域相同,R与S的差运算结果生成一个新的关系,由属于R但不属于S的元组组成。记作:R-S={t
8、t∈R∧t∈S}ABC123456789ABC123258704ABC456789RST3、交运算(Intersection)设有关系R和S,
9、它们具有相同的关系模式,并且对应属性的作用域相同,R与S的交运算结果生成一个新的关系,由既属于R同时也属于S的元组组成。记作:R∩S={t
10、t∈R∧t∈S}ABC123456789ABC123258704ABC123RST二、专门的关系运算1、选择运算(Selection)选择是从关系R中找出满足给定条件的元组,即从行的角度进行操作,对关系进行水平分解。如果给定的条件以逻辑表达式,则选择运算的结果就是从R中挑选出使逻辑表达式为真的元组。【例】(1)记录的筛选操作(包括:窗体筛选、选定内容筛选、内容排除筛选、高级筛选等)(2)从js表中查询z
11、c为"01"的教师信息。Select*FromjsWherezc="01"(3)从xs表中查询bjbh为"2001"的学生信息。Select*FromxsWherebjbh="2
此文档下载收益归作者所有