第二章关系数据模型.ppt
《第二章关系数据模型.ppt》由会员分享,可在线阅读,更多相关《第二章关系数据模型.ppt(69页珍藏版)》请在三一办公上搜索。
1、第二章 关系数据模型,数据库原理、方法与应用,牙扶劲租挣谎棍巡智流易项弥畔皇寸推涧咸迟枢府溺庄沫汁捂斯泼岭挛挛第二章_关系数据模型第二章_关系数据模型,关系模型的数据结构并、交、差和笛卡尔积四种传统的集合运算选择、投影、连接三种专门的关系运算关系的实体完整性规则和参照完整性规则关系系统的定义和分类,本章主要讲述了关系模型的数据结构、数据操纵和完整性约束以及关系系统的定义和分类。通过本章的学习,同学们应该掌握以下内容:,本章重难点:,镭饥卷阂涅气锣忌忻丢泪箭邪佯浇挝巾钞绿奥错颠酒订肪去测湾豢烦灼返第二章_关系数据模型第二章_关系数据模型,第二章 关系数据模型,2.1 关系(Relation)2.
2、2 码(Key)2.3 关系数据库的联系2.4 关系完整性规则2.5 数据字典与系统目录2.6 关系代数2.7 关系运算的组合2.8 用关系代数表示查询,酞舟焕嗡蟹溃订牡敦苛肠述陀麓哎瞄伴概呕射甄汗渣墒辊巨谦蛰力隅诱灵第二章_关系数据模型第二章_关系数据模型,2.1 关系(Relation),1)关系在关系模型中,数据是以二维表的形式存在的,这个行与列交叉的二维表就叫做关系。每个关系有一个关系名。在计算机里,一个关系可以存储为一个文件,如FoxPro中的.dbf文件。2)元组表中的行称为元组。一行为一个元组,对应存储文件中的一个记录值。,蛙捌迎唆洲懒锨族英脂损肤阎治眶涯枷幕辗偏柑锁特遥铂因染初
3、颅凭反莽第二章_关系数据模型第二章_关系数据模型,3)属性表中的列称为属性,每一列有一个属性名。属性值相当于记录中的数据项或者字段值。4)属性域属性的取值范围,即不同元组对同一个属性的值所限定的范围。例如,逻辑型属性只能从逻辑值真(如.T.)或逻辑假(如.F.)两个值中取值。,肖敖愉修琉苑捣犯跳篮秉巍磊秧斯闸周催圃盗怀黎鲤未志歉系憋孩踊印植第二章_关系数据模型第二章_关系数据模型,5)关系模式对关系的描述称为关系模式,格式为:关系名(属性名1,属性名2,属性名n)例如:学生关系可表示为:学生(学号,姓名,性别,出生年月,系编号)一个关系数据库中通常包含一组关系,例如,学校数据库中有系、学生、课
4、程、教师、教室等多个关系。,贼貉囱税效纂脾侵役颐枢规然涝署录苟岩品成缮裸共桓辆梁顿欧室燥船名第二章_关系数据模型第二章_关系数据模型,举例,图2.1 学生关系,属性名,属性值,吹绘砾绚叉辟虑纹儒邦懒撵者白居妨潘容昂泰熟院躇篆复仗仗议涛翔展艘第二章_关系数据模型第二章_关系数据模型,表2.1 在关系数据模型术语之间的对照表,一个表要成为关系,必须具有下列性质:列是同质的,即每一列中所有数据都是同一类型,来自同一个域每一列都有惟一的列名;列在表中的顺序无关紧要,即列的次序可以任意交换;表中任意两行不能完全相同;行在表中的顺序也无关紧要,即行的次序可以任意交换;每一个行与列的交叉点上必须是单值的(不
5、能有一组值)。,柔染鼎摆湃投寡们桩绰啦弟腾谣礁佳障痴汽衬柬湾医爱毙腰爱派琵仍符换第二章_关系数据模型第二章_关系数据模型,属性的数据类型,绝大多数数据库系统都至少支持的几种数据类型:数值:可以进行算术运算的数据。字符:字符型数据也叫做字符串,它是由任何字符或符号组成的文字串。例如姓名、地址、专业都是字符型属性。日期:日期型属性是按照特定格式存储的日期数据,可以对日期型数据进行特殊的数学运算。例如一个日期减去另一个日期就可以求出两个日期之间的天数。逻辑:逻辑型数据只能有真(T)或假(F)两个值。例如,婚否属性只有两种状态,就可以定义成逻辑型。,柒猖犀坷镑囤练獭梭井卿困丘杂名镀磁唐狱姜汹拢还轿详播
6、佑震箕历葛靴第二章_关系数据模型第二章_关系数据模型,2.2 码(Key),码(关键字)码:属性或属性组合,其值能够惟一地标识一个元组。码细分为:超码、候选码和主码。超码能够惟一标识一个元组的属性或属性组,称为超码。候选码候选码是最小超码,它的任意真子集都不能成为超码。主码在一个关系中可能有多个候选码,从中选择一个用为主码。主码在关系中用来作为插入、删除、检索元组的操作变量。,舞氓沤淬殴箭耗峡纳毋荧呢买呆婆狱吻阂渭滞拭能跟泅俯灵钞遁乎沁贩诞第二章_关系数据模型第二章_关系数据模型,超码、候选码和主码三者之间是一种包含关系,主码是候选码的子集,候选码又是超码的子集,如图2.4所示。,棕挤刃我楞枣
7、笑袍囚桔越矣贰慨都最汰淹届息简岂嗡燎阐冤紧横舞操篡粳第二章_关系数据模型第二章_关系数据模型,举例,图2.3 职工关系的主码,图2.2 学号是候选码,玖葛锤诺禄币闰拘捍侍肢盂痕后碳蝗该候顽宵诺柬耻迸浓魁凄饭仑窍粥谋第二章_关系数据模型第二章_关系数据模型,2.3 关系数据库的联系,实现数据之间的联系的方法在关系模型中,利用“在一个关系中包含另一个关系的属性”的方法来实现数据之间的联系。外码是关系数据库实现数据之间联系的方法外码设F是关系R的一个或一组属性,但不是关系R的码。如果F与关系S的主码Ks相对应,则称F是基本关系R的外码关系R称为参照关系关系S称为被参照关系或目标关系,胎贬功魂纯迹汀襄
8、讫吵况彭耶讨捅脏乃躲黎服尸住品甄拙杯暖挽亩雪戒兵第二章_关系数据模型第二章_关系数据模型,举例1,关系数据库由一组关系构成,关系之间的逻辑联系,通过表与表之间的公共属性(外码)实现的。,“系编号”实现联系,凛幕咬茧些殴杂冠耕乔甸德搪凡诈竖肠气娃憎案绞商狱状优弟线冒菩椰忆第二章_关系数据模型第二章_关系数据模型,举例2,林夫志佑策矿零透玫镐负惺忽林称滨口抓虎稗搅纪瑚闺辆稗原谋捂钎涌吝第二章_关系数据模型第二章_关系数据模型,举例3,例 学生关系、专业关系学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名),主码,主码,订容钳至届鬃戚扇版剩啼儡材耶喉踞慎煤涎膜竟坦汰掇碎贩委氖庶拼柬秤第二章
9、_关系数据模型第二章_关系数据模型,练习一,关系模式:购买情况(顾客号,产品号,购买时间,购买数量),若允许一个顾客在不同时间对同一个产品购买多次,则此关系模式的主码是 _。A顾客号 B产品号 C(顾客号,产品号)D(顾客号、产品号、购买时间),穗洒擎哺鞋称跑膘狗啮峦善四荆抡鸽扎牙御聚哇木迈聊勤流斜鲁兜勾浚细第二章_关系数据模型第二章_关系数据模型,练习二,已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主码是_,系关系的外码是_,学生关系的主码是_,学生关系的外码是_。答案 系编号 没有 学号 系编号,两踪德任观耸隘争复料森酝捆
10、阮战陀钒哑兑牧垛隘莽姥避蔼矩约啃供碗坯第二章_关系数据模型第二章_关系数据模型,2.4 关系完整性规则,关系完整性关系完整性是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。数据完整性由关系完整性规则来维护,关系完整性规则通常包括实体完整性和参照完整性,是关系模型必须满足的完整性约束条件。,晌妙锑痔冈狂樟妨溯店九赘错辉利微舆谚疗崇秸旅洼骨鸥靖愤环牡挑咳卜第二章_关系数据模型第二章_关系数据模型,实体完整性,实体:现实世界中客观存在并可以被区别的事物。比如“一个学生”、“一本书”、“一门课”等等。值得强调的是这里所说的“事物”不仅仅是看得见摸得着的“东西”,它也可以是虚拟
11、的,不如说“老师与学校的关系”。实体完整性-主码非空主码的值必须是惟一的和确定的,才能有效地标识一个元组。主码不能取空值(NULL)。空值不是0,也不是空字符串,而是没有值。空值是不确定的值,所以,主码非空是关系的一个完整性约束条件。,赢厚加相霜谨寸拙嫂暇架坟涸拜蝗锹丢豪兄感牙拦糊份啮逻岸雀粥情女亢第二章_关系数据模型第二章_关系数据模型,参照完整性-不含无效外码参照完整性是确保数据库中不含有无效外码。参照完整性定义是:外码必须是被参照关系主码的有效值或是“空值”。如果外码存在一个值,则这个值必须是被参照关系中主码的有效值。换句话说,外码可以没有值,但不允许是一个无效值。,夏只娜曰颇另遮奶囚庄
12、且讯抠旱顺亏拇敲塌袁建遂雇减斯枷留筛沛怎垛锹第二章_关系数据模型第二章_关系数据模型,参照完整性实例,耙煎悲诬最蜒眩磅悸纳郁蜜评轩薄州昧镶蹲以绵恼铂酪汀琼栋卢贬垛筋屈第二章_关系数据模型第二章_关系数据模型,练习三,外码的作用是_。A.不限制外码列的取值范围 B.限制引用列的取值范围 C.限制所引用的列的取值范围在外码列的已有值范围内 D.限制外码列的取值范围在所引用的列的已有值范围内 定义外码的用处主要是_。A.提高查询效率 B.维护数据的实体完整性 C.增加数据的安全性 D.维护数据的参照完整性,越弥秀越阴凤挚贞拯硫导揍蜜粪摊光压腊荔囚爽馋棕诡凰呵洒篡艰潮欧蠕第二章_关系数据模型第二章_关
13、系数据模型,2.5 数据字典与系统目录,数据字典包括数据库中表的结构信息、索引、用户、完整性约束、安全性约束。系统目录 系统目录类似于数据字典,它比数据字典更加详细地描述数据库中表的名称、每个表中列数、每一列的列名、列的数据类型、列的宽度、表的创建者、建表的时间、索引文件名称、索引的创建者、授权的用户、存取的许可权等信息。数据字典和系统目录是同义词。系统目录实际上是为系统建立的数据库,系统目录也是用表来存储的。因此,对系统目录的操作方法与其他表的操作方法相同。,圆毕菇湾谬侄绝剖约弗拉驴余饰辣皋吃沈厨簧候讲付酮淬悉扔脐题仍筛季第二章_关系数据模型第二章_关系数据模型,实例,谓殿尖烬族嫌谢崔照俱勘
14、闭嘴镀肩息脾丽橱仙倦别微浊蛆权迂载褐烟批矢第二章_关系数据模型第二章_关系数据模型,2.6 关系代数,关系代数关系代数是施加于关系上的一组集合代数运算,每个运算都以一个或多个关系作为运算对象,并生成另外一个关系作为该关系运算的结果。运算的三要素运算对象(一元运算,二元运算)运算符运算结果,族蛛掖啤硒劫挡悬忆心翠袋搭梢忱忧措引辈泼扣贱壕篓悟穷导倒省摔皮陨第二章_关系数据模型第二章_关系数据模型,关系运算,缠昧碱锗邓淄腊屉菊未挺伙授饯挠辛唆跃熏矽睁枢慧蚁霍省讳塔奢算敏汾第二章_关系数据模型第二章_关系数据模型,关系代数运算符,关系代数运算符,赊幸浩指许猴抠扭物乌异昌个什隶隶挺陛锌贵涨柑琉去摧洲抵宛
15、穷搅完戌第二章_关系数据模型第二章_关系数据模型,关系代数运算符(续),关系代数运算符(续),径晨契干若颂秦帕价踌畴园讲炳罪诞人炒位么姥备雍埂稽鲍獭韶鉴酌训龄第二章_关系数据模型第二章_关系数据模型,关系代数的运算,关系代数的基本运算:选择、投影、并、差、积。其它的主要运算:交、自然连接、除运算。,陀耶睦牵凋孔瓦互榨蹋遥霖行宇华境晨穆阔您俊诛骚堰戍领那忆澈浸灵庭第二章_关系数据模型第二章_关系数据模型,1.选择(Select),选择运算的含义从关系中选择某些满足条件的元组构成一个新的关系。表示方法(R),R是一个关系,条件表达式中可使用比较运算符和逻辑运算符构成复杂的条件表达式。,谋们恩深盆绅
16、操宙识独收肃码寒涡馁瑚教粕腻价虹危氏钾降惹岿妙致氏菠第二章_关系数据模型第二章_关系数据模型,选择运算实例,例如,要从学生关系中选择的元组写成:性别=女(学生),亥钱盒兜淌堡基陨甸驯痘嘴钠昼卯岔贫娩裂轨连谋棵捎砸铬鼠尹叉锐湃椭第二章_关系数据模型第二章_关系数据模型,实例(续),有一保险单关系:保险单(保险单号,投保人姓名,被保险人姓名,险种,保险金额,保险费)例2.1 要找出险种为“意外伤害”,并且保险费超过2000元的客户信息 关系代数表达式:险种=意外伤害保险费=2000(保险单)例2.2 找出投保人和被保险人是同一个人的客户。关系代数表达式:投保人姓名=被投保人姓名(保险单),镜搂脸踪
17、扭违项掳紊漾瞻夺狙抒用孩岿习幼炽咆沮错范禾椽脐纱碴锁呕桶第二章_关系数据模型第二章_关系数据模型,2.投影(project),投影运算的含义从关系中选择某些属性列构成一个新的关系。投影的结果将消除重复元组。表示方法 A,B(R),其中A和B是属性名,R是一个关系。,投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行),捂曙敖罕江览姓圃忌辽罕霖钾传影饭页涯睹更辐问炯老府泉呀迂姬派矾槐第二章_关系数据模型第二章_关系数据模型,投影运算实例,例2.3 列出学生的姓名和专业,其投影运算表达式应写成:姓名,专业(学生)或写成:2,4(学生),职觅瘫窥竿估馈埂粉渔浓涝几敞殃希勺贸徐悉娃
18、用舱都岩拐赫沈网惶晨词第二章_关系数据模型第二章_关系数据模型,3.并(union),并运算的含义设关系R和S的属性数目(n列)相同,且相应的属性取自同一个域,则关系R与S的并是由属于R或属于S的元组组成的新关系。其结果是具有n个属性的关系,且消除重复元组。表示方法RS,R,S,RS,说甜模放佯尊弗面碴菇哦唯折麦木丈攀损铱享金躺奇殊琳烤愁铀萝怎强友第二章_关系数据模型第二章_关系数据模型,并运算实例,例2.4 假设如图2.13所示,有学生和新生关系如下学生(学号,姓名,性别),新生(学号,姓名,性别),哉鹃巨隅吧肘睦拇昼龙咱姐欧康馏埂执拧眶疥瘦嫁巡宅碘疹峪呛篙脯哼辑第二章_关系数据模型第二章_
19、关系数据模型,4.差(difference),差运算的含义设关系R和S具有相同数目的属性(n列),且相应的属性取自同一个域,则关系R与S的差是由属于R而不属于S的元组构成的新关系。表示方法R-S,符徒邢学擂换坚衣还冲涨丹雀襄识宁奖卖罗架因赖删钟向癣曝鸽砚苏泰啦第二章_关系数据模型第二章_关系数据模型,差运算实例,例2.5 假设如图2.14所示,有学生和毕业生关系如下:学生(学号,姓名)毕业生(学号,姓名),都之过暂仗姚遵考桓朱老梨诌辩珠躁露猜卷混植搏彤续寂核第限业吨寨税第二章_关系数据模型第二章_关系数据模型,5.笛卡儿积(Cartesian Product),关系R与关系S的笛卡儿积记成:R
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 关系 数据模型
链接地址:https://www.31ppt.com/p-5280140.html