第三章 关系数据库.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第三章 关系数据库.ppt》由会员分享,可在线阅读,更多相关《第三章 关系数据库.ppt(102页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库系统及应用数据库系统及应用数据库系统及应用数据库系统及应用 基于基于基于基于SQLServer2000SQLServer2000屠菁屠菁AnIntroductiontoDatabaseSystems数据库系统及应用数据库系统及应用基于基于SQLServer2000第三章第三章 关系数据库关系数据库AnIntroductiontoDatabaseSystems关系数据库简介关系数据库简介v提出关系模型的是美国IBM公司的E.F.Codd1970年提出关系数据模型E.F.Codd,“ARelationalModelofDataforLargeSharedDataBanks”,Communic
2、ationoftheACM,1970之后,提出了关系代数和关系演算的概念1972年提出了关系的第一、第二、第三范式1974年提出了关系的BC范式AnIntroductiontoDatabaseSystems第三章第三章关系数据库关系数据库3.1关系数据结构及形式化定义关系数据结构及形式化定义3.2关系操作关系操作3.3关系的完整性关系的完整性3.4关系代数关系代数3.5小结小结AnIntroductiontoDatabaseSystems3.1关系数据结构及形式化定义关系数据结构及形式化定义v3.1.1关系关系v3.1.2关系数据库关系数据库AnIntroductiontoDatabaseSy
3、stems3.1.1 关系关系v单一的数据结构-关系现实世界的实体以及实体间的各种联系均用关系来表示v逻辑结构-二维表从用户角度,关系模型中数据的逻辑结构是一张二维表AnIntroductiontoDatabaseSystems关系关系(续续)域(Domain)2.笛卡尔积(CartesianProduct)3.关系(Relation)AnIntroductiontoDatabaseSystems域(域(Domain)v域是一组具有相同数据类型的值的集合。例:整数实数介于某个取值范围的整数长度指定长度的字符串集合男,女.AnIntroductiontoDatabaseSystems2.笛卡尔积
4、(笛卡尔积(CartesianProduct)v笛卡尔积给定一组域D1,D2,Dn,这些域中可以有相同的。D1,D2,Dn的笛卡尔积为:D1D2Dn(d1,d2,dn)diDi,i1,2,n所有域的所有取值的一个组合不能重复AnIntroductiontoDatabaseSystems笛卡尔积(续笛卡尔积(续)v元组(Tuple)笛卡尔积中每一个元素(d1,d2,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)(张清玫,计算机专业,李勇)、(张清玫,计算机专业,刘晨)等都是元组v分量(Component)笛卡尔积元素(d1,d2,dn)中的每一个值di叫作一个分量张清玫、计算机专
5、业、李勇、刘晨等都是分量AnIntroductiontoDatabaseSystems笛卡尔积(续笛卡尔积(续)v笛卡尔积的表示方法笛卡尔积可表示为一个二维表表中的每行对应一个元组,表中的每列对应一个域AnIntroductiontoDatabaseSystemsAnIntroductiontoDatabaseSystems3.关系(关系(Relation)1)关系D1D2Dn的子集叫作在域D1,D2,Dn上的关系,表示为R(D1,D2,Dn)nR:关系名nn:关系的目或度(Degree)AnIntroductiontoDatabaseSystems关系(续)关系(续)2)关系的表示关系也是一
6、个二维表,表的每行对应一个元组,表的每列对应一个域AnIntroductiontoDatabaseSystems关系(续)关系(续)3)属性n关系中不同列可以对应相同的域n为了加以区分,必须对每列起一个名字,称为属性(Attribute)nn目关系必有n个属性AnIntroductiontoDatabaseSystems关系(续)关系(续)4)码候选码(Candidatekey)若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码简单的情况:候选码只包含一个属性全码(All-key)最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)AnIntro
7、ductiontoDatabaseSystems关系(续)关系(续)码(续)主码若一个关系有多个候选码,则选定其中一个为主码(Primarykey)主属性候选码的诸属性称为主属性(Primeattribute)不包含在任何侯选码中的属性称为非主属性(Non-Primeattribute)或非码属性(Non-keyattribute)AnIntroductiontoDatabaseSystems关系(续关系(续)vD1,D2,Dn的笛卡尔积的某个子集才有实际含义例:表2.1的笛卡尔积没有实际意义取出有实际意义的元组来构造关系关系:SAP(SUPERVISOR,SPECIALITY,POSTGRA
8、DUATE)假设:导师与专业:1:1,导师与研究生:1:n主码:POSTGRADUATE(假设研究生不会重名)SAP关系可以包含三个元组(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨),(刘逸,信息专业,王敏)AnIntroductiontoDatabaseSystems关系(续)关系(续)5)基本关系的性质基本关系的性质v列的个数和每列的数据类型是固定的,即每一列中的分量是同类型的数据,列的个数和每列的数据类型是固定的,即每一列中的分量是同类型的数据,来自同一个值域。来自同一个值域。v每一分量必须是不可分的最小数据项,即每个属性都是不可再分解的,这是每一分量必须是不可分的最小数据项
9、,即每个属性都是不可再分解的,这是关系数据库对关系的最基本的限定。关系数据库对关系的最基本的限定。v不同的列可以出自同一个值域,每一列称为属性,每个属性要给予不同的属不同的列可以出自同一个值域,每一列称为属性,每个属性要给予不同的属性名。性名。v列的顺序是无关紧要的,即列的次序可以任意交换,但一定是整体交换,属列的顺序是无关紧要的,即列的次序可以任意交换,但一定是整体交换,属性名和属性值必须作为整列同时交换。性名和属性值必须作为整列同时交换。v行的顺序是无关紧要的,即行的次序可以任意交换。行的顺序是无关紧要的,即行的次序可以任意交换。v元组不可以重复,即在一个关系中任意两个元组不能完全一样。元
10、组不可以重复,即在一个关系中任意两个元组不能完全一样。AnIntroductiontoDatabaseSystems3.1关系数据结构关系数据结构3.1.1关系关系3.1.2关系数据库关系数据库AnIntroductiontoDatabaseSystems3.1.2 关系数据库关系数据库v关系数据库n在一个给定的应用领域中,所有关系的集合构成一个关系数据库AnIntroductiontoDatabaseSystems第三章第三章关系数据库关系数据库3.1关系模型概述关系模型概述3.2关系操作关系操作3.3关系的完整性关系的完整性3.4关系代数关系代数3.5关系演算关系演算3.6小结小结AnIn
11、troductiontoDatabaseSystems3.2.1基本关系操作基本关系操作v常用的关系操作传统的集合运算 并(Union)交(Intersection)差(Difference)广义笛卡尔积(Extended Cartesian Product)专门的关系运算选择(Select)投影(Project)连接(Join)除(Divide)有关的数据操作查询(Query)插入(Insert)删除(Delete)修改(Update)v关系代数的特点集合操作方式:操作的对象和结果都是集合,一次一集合一次一集合的方式AnIntroductiontoDatabaseSystems第三章第三章关
12、系数据库关系数据库3.1关系数据结构及形式化定义关系数据结构及形式化定义3.2关系操作关系操作3.3关系的完整性关系的完整性3.4关系代数关系代数3.5小结小结AnIntroductiontoDatabaseSystems2.3关系的完整性关系的完整性2.3.1关系的三类完整性约束关系的三类完整性约束2.3.2实体完整性实体完整性2.3.3参照完整性参照完整性2.3.4用户定义的完整性用户定义的完整性AnIntroductiontoDatabaseSystems3.3.1关系的三类完整性约束关系的三类完整性约束v在数据库中数据完整性是指保证数据正确的特性。它包括两方面的内容:与现实世界中应用需
13、求的数据的相容性和正确性;数据库内数据之间的相容性和正确性。v在关系数据模型中一般将数据完整性分为三类 实体完整性参照完整性用户定义完整性 AnIntroductiontoDatabaseSystems3.3关系的完整性关系的完整性3.3.1关系的三类完整性约束关系的三类完整性约束3.3.2实体完整性实体完整性3.3.3参照完整性参照完整性3.3.4用户定义的完整性用户定义的完整性AnIntroductiontoDatabaseSystems3.3.2实体完整性实体完整性规则规则3.1实体完整性规则(实体完整性规则(EntityIntegrity)若属性A是基本关系R的主属性,则属性A不能取空
14、值例:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)POSTGRADUATE:主码(假设研究生不会重名)不能取空值AnIntroductiontoDatabaseSystems实体完整性实体完整性(续续)实体完整性规则的说明v实体完整性规则是针对关系而言的,而关系则对应一个现实世界中的实体集。例如,仓库关系对应现实世界中的仓库实体集。v现实世界中的实体是可区分的,它们具有某种标识特征;相应地,关系中的元组也是可区分的,在关系中用主关键字做唯一性标识。v主关键字中的属性、即主属性不能取空值。如果主属性取空值,则意味着关系中的某个元组是不可标识的,即存在不可区分的实
15、体,这与实体的定义也是矛盾的。AnIntroductiontoDatabaseSystems3.3关系的完整性关系的完整性3.3.1关系的三类完整性约束关系的三类完整性约束3.3.2实体完整性实体完整性3.3.3参照完整性参照完整性3.3.4用户定义的完整性用户定义的完整性AnIntroductiontoDatabaseSystems3.3.3参照完整性参照完整性1.关系间的引用2.外码3.参照完整性规则AnIntroductiontoDatabaseSystems1.关系间的引用关系间的引用v在关系模型中实体及实体间的联系都是用关系来描述的,因此可能存在着关系与关系间的引用。例1学生实体、专
16、业实体学生(学号,姓名,性别,专业号专业号,年龄)专业(专业号专业号,专业名)主码主码主码主码v学生关系引用了专业关系的主码“专业号”。v学生关系中的“专业号”值必须是确实存在的专业的专业号,即专业关系中有该专业的记录。AnIntroductiontoDatabaseSystems关系间的引用关系间的引用(续续)例2学生、课程、学生与课程之间的多对多联系学生(学号学号,姓名,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号学号,课程号,成绩)AnIntroductiontoDatabaseSystems关系间的引用关系间的引用(续续)例3学生实体及其内部的一对多联系学生(学号,姓名,
17、性别,专业号,年龄,班长)v“学号”是主码,“班长”是外码,它引用了本关系的“学号”v“班长”必须是确实存在的学生的学号AnIntroductiontoDatabaseSystems2外码(外码(ForeignKey)v设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码v基本关系R称为参照关系(ReferencingRelation)v基本关系S称为被参照关系(ReferencedRelation)或目标关系(TargetRelation)AnIntroductiontoDatabaseSystems外码外码(续续)v例1:学生关系
18、的“专业号与专业关系的主码“专业号”相对应n“专业号”属性是学生关系的外码n专业关系是被参照关系,学生关系为参照关系AnIntroductiontoDatabaseSystems外码外码(续续)v例2:选修关系的“学号”与学生关系的主码“学号”相对应选修关系的“课程号”与课程关系的主码“课程号”相对应“学号”和“课程号”是选修关系的外码学生关系和课程关系均为被参照关系选修关系为参照关系AnIntroductiontoDatabaseSystems外码外码(续续)v例3:“班长”与本身的主码“学号”相对应“班长”是外码学生关系既是参照关系也是被参照关系AnIntroductiontoDataba
19、seSystems外码外码(续续)v关系R和S不一定是不同的关系v目标关系S的主码Ks和参照关系的外码F必须定义在同一个(或一组)域上v外码并不一定要与相应的主码同名当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别AnIntroductiontoDatabaseSystems3.参照完整性规则参照完整性规则规则规则3.2参照完整性规则参照完整性规则若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:n或者取空值(F的每个属性值均为空值)n或者等于S中某个元组的主码值AnIntroductio
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三章 关系数据库 第三 关系 数据库
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内