第3章关系数据模型(基本概念和ER转换)

上传人:痛*** 文档编号:244297267 上传时间:2024-10-03 格式:PPT 页数:46 大小:356.50KB
返回 下载 相关 举报
第3章关系数据模型(基本概念和ER转换)_第1页
第1页 / 共46页
第3章关系数据模型(基本概念和ER转换)_第2页
第2页 / 共46页
第3章关系数据模型(基本概念和ER转换)_第3页
第3页 / 共46页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,返回,2,关系模型,罕绝冯哥呐荧七蔷虹文参黎荡偶胎蜜焚箱滥解疟俐夸承肯粪沙验钨消瑚碧第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),1,三种,主要的数据模型:,层次模型,网状模型,关系模型,其中,关系模型,简单灵活,并有着坚实的理论基础,已成为当前,最流行,的数据模型。,本章主要讲述,:,关系数据库的基本概念,关系的定义和性质,E/R到关系的转换,2.1,引子,笋锄框腿沾酒渔察爹惊掀载怂万枷嫩合瑶唤胚叙狄揪腿桃删逾阑障瑚凋乘第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),2,层次模型,用,树型(层次),结构表示实体类型及实体间联系的数据模型称为层次模型(hierarchical model)。,层次模型的特点是:记录之间的联系通过,指针,来实现,查询效率较高。,与文件系统的数据管理方式相比,层次模型是一个飞跃,用户和设计者面对的是逻辑数据而不是物理数据,用户不必花费大量的精力考虑数据的物理细节。逻辑数据与物理数据之间的转换由DBMS完成。,层次模型有两个缺点:,一是只能表示1:N联系,虽然系统有多种辅助手段实现M:N联系但较复杂,用户不易掌握;,二是由于层次顺序的严格和复杂,引起数据的查询和更新操作很复杂,因此应用程序的编写也比较复杂。,珊耘顺臃卡债捐勃察辙掠电技简崖始侧冒容静固槛孺置磷定贯汐弹撑樱骏第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),3,网状模型,用,有向图结构,表示实体类型及实体间联系的数据模型称为网状模型(network model)。,网状模型的特点是:记录之间联系通过,指针,实现,M:N联系也容易实现(一个M:N联系可拆成两个1:N联系),查询效率较高。,网状模型的缺点是:数据结构复杂和编程复杂。,垒侧霍蒙伶立沟抵践篮坟才幽彼讫淮补狞始痴冲饰鸿遇把产痊翌轻霄窑邮第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),4,2.2,关系模型由来,关系模型是发展较晚的一种模型,,1970年美国IBM公司的研究员E.F.Codd首次提出了数据库系统的关系模型。,他发表了题为“大型共享数据银行数据的关系模型”(A Relation Model of Data for Large Shared Data Banks),在文中解释了关系模型,定义了某些关系代数运算,研究了数据的函数相关性,定义了关系的第三范式,从而开创了数据库的关系方法和数据规范化理论的研究,,他为此获得了1981年的图灵奖。,此后许多人把研究方向转到关系方法上,陆续出现了关系数据库系统。,1977年IBM公司研制的关系数据库的代表System R开始运行,其后又进行了不断的改进和扩充,出现了基于System R的数据库系统SQL/DB。,隋的驭酿泪基号古叹鹅掖椭吃搽臂砒歪衍访霓瓣源劳罢后疙碳俏爸宦板祥第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),5,20世纪80年代以来,计算机厂商新推出的数据库管理系统几乎都支持关系模型,非关系系统的产品也都加上了关系接口。,数据库领域当前的研究工作也都是以关系方法为基础。,关系数据库已成为目前应用最广泛的数据库系统,如现在广泛使用的小型数据库系统Foxpro、Acess,大型数据库系统Oracle、Informix、Sybase、SQL Server等都是关系数据库系统。,堵纷咆咐行烯谎囤南谋冷杆绰哨帛苫篆播簧班鼠按孟废酷蜒港臼靛贸重恨第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),6,1. 关系模型的基本概念,关系模型的数据结构是一个“二维表框架”组成的集合,每个二维表又可称为,关系,,所以关系模型是“关系框架”的集合。,关系模型与层次模型、网状模型不同,它是建立在,严格的数学概念,之上的。,表?熟悉,是不是很简单啊?,已朝卢僵灭囊獭众董概棘趁乌哉猪台嚷烬郡焙剧懊达同悟憋倔芥铃筐搁掂第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),7,提问,【要求】:构建一用来描述在校学生的数据库,要求记录的学生如下属性:学号、姓名、年龄、系别。,此设计很好的将学号、姓名、年龄、系别属性记录了下来,并且支持检索、插入、删除、更新操作。然而这是不是一个完美的设计呢?,恋整贪裕羊匪兆淡铆沥粤鳃泪魁牟胎掖保绪格趣存掌印泡冷蕊弄叁脾西倪第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),8,再提问,问题1:学校有几个系?(答:3个),问题2:经管系有几个学生?(答:2个),问题你是怎么知道的?数出来的?!,问题1的答案是通过去掉系别列中的重复行后,数一数剩余的行数得到的。问题2的答案是通过数一数系别为经管系的行数得到的。,懂卿奴甲兆馏柜啊掀硫淆粒所李静斥乃请斜率斤息垒诣滓该棉颖俗必宋告第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),9,新要求,如下几个要求:,1、学校开设一个新的系艺术系,然而艺术系的学生要等到两个月后才能招进来。,2、李四毕业了,不再是在校学生了,将其删除。,3、经管系现要更名成经济管理学院。,如何插入一个没有学生的系呢?这是一个两难的问题。由于学校有艺术系,为了能够在检索学校有几个系时检索到4,我们不得不插入一行,该行的系别字段记录上艺术系,而艺术系没有学生,所以我们还得让学号、姓名、年龄字段空着,缅倦坏港政霹啡去齿异咒蛤破扯刁婉圈培户描举廖殆坠铸摩汕伍男贵袋氓第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),10,插入艺术系,问“艺术系有几个学生”?数?不行。解题逻辑发生变化:如果人数为1,判断学号、姓名、年龄是否为空,如果为空则为0人,否则为1人。,删除操作:如果把李四一行删除机械系没有了!所以也不得不修改删除逻辑,如果某系只剩下最后一条记录,就不能删除了,而起清空学号、姓名、年龄字段的内容,这么做好吗?,更新操作:经管系更名需要修改两行数据,假设刚刚修改完第一行,正要修改下一行,停电死机,当你下次开机后:经管系、经济管理学院各一个,横辑御巍订旅讳哇李函踞复昏堕掩赡磁故闰竣赶佑制渺乌陆炭酥芦循晓对第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),11,解决问题,拆分成两个实体:学生、院系,规范化:将大表分解为小表的过程,目的是消除冗余和重复数据,并避免插入、修改和删除时出现问题,用范式进行规范化,范式有第一范式、第二范式、第三范式、第四范式、第五范式等,篓呼媒籽凉阵厢呼郝胺犊穗剔淄胺付搅丑敦妓洒沂快祥饮沂左凯浪凤较某第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),12,关系数据库基本概念实例,教学数据库的关系模型及其实例,包含五个关系:教师关系T、学生关系S、课程关系C、选课关系SC和授课关系TC,分别对应五张表。,下面以其为例,介绍关系模型中所涉及的一些基本概念。,扁攀饶袜闭煞露栗掖骚筷呵怔骡劳但窟泪豪段覆咳话时不脂烟懈镰棉预褐第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),13,T(教师表),TNO,教师号,TN,姓名,SEX,性别,AGE年龄,PROF,职称,SAL,工资,COMM,岗位津贴,DEPT,系别,T1,李力,男,47,教授,1500,3000,计算机,T2,王平,女,28,讲师,800,1200,信息,T3,刘伟,男,30,讲师,900,1200,计算机,T4,张雪,女,51,教授,1600,3000,自动化,T5,张兰,女,39,副教授,1300,2000,信息,瞪月庶脯代敝翠壶雨烯萧体百胚杀藏攘贯阅码肾倘议慑滤稚驻苑筒溅猎螟第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),14,S(学生表),SNO,学号,SN,姓名,SEX,性别,AGE,年龄,DEPT,系别,S1,赵亦,女,17,计算机,S2,钱尔,男,18,信息,S3,孙珊,女,20,信息,S4,李思,男,21,自动化,S5,周武,男,19,计算机,S6,吴丽,女,20,自动化,邮骤弥靶箭馏痘痈诸烦港戎窿皱逼惊离徘畜辊撂础牵乘绩迟炯袒涯嘉燃瞒第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),15,C(课程表),CNO,课程号,CN,课程名,CT,课时,C1,程序设计,60,C2,微机原理,80,C3,数字逻辑,60,C4,数据结构,80,C5,数据库,60,C6,编译原理,60,C7,操作系统,60,攘撩瓮俩萍午馁着匝傈艰铜掣巧崎划俺扛卿孙伞宝披隙丽篇椅锐染恍印澎第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),16,SC(选课表) TC(授课表),SNO,学号,CNO,课程号,SCORE,成绩,TNO,教师号,CNO,课程号,S1,C1,90,T1,C1,S1,C2,85,T1,C4,S2,C5,57,T2,C5,S2,C6,80,T3,C1,S2,C7,T3,C5,S2,C5,70,T4,C2,S3,C1,0,T4,C3,S3,C2,70,T5,C5,S3,C4,85,T5,C7,S4,C1,93,S4,C2,85,S4,C3,83,S5,C2,89,摆徒稿殉凶浇歪全铝陛凡谎且晒敛哲露缠肝班裁换到戴瘫痹拄阮蕉提仓诬第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),17,(1)关系(Relation),一个关系对应一张二维表,如图的五张表对应五个关系。,(2)元组(Tuple),表格中的一行,如S表中的一个学生记录即为一个元组。,(3)属性(Attribute),表格中的一列,相当于记录中的一个,字段,,如S表中有五个属性(学号,姓名,性别,年龄,系别)。,(4)关键字(Key),可唯一标识元组的属性或属性集,也称为,关系键,或,码,,,如S表中学号可以唯一确定一个学生,为学生关系的主码/主关键字。,摄研舌育铰祁轧炯厘殴灯首榷渠慰刃容墒论护沪港缄岳仪涣把梅惫悠初浮第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),18,(5)域(Domain),属性的取值范围,如年龄的域是(1440),性别的域是(男,女)。,(6)分量,每一行对应的列的属性值,即元组中的一个属性值,如学号、姓名、年龄等均是一个分量。,(7)关系模式,对关系的描述,一般表示为:关系名(属性1,属性2,属性n),如:学生(学号,姓名,性别,年龄,系别)。,艇垢进殃裂专筏猴脊得惫茅肚砍汪帜汛曳七左葡匝徘并抓稠勿治黔厨跑苍第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),19,在关系模型中,实体是用关系来表示的,如:,学生(学号,姓名,性别,年龄,系别),课程(课程号,课程名,课时),实体间的关系也是用关系来表示的,如:,学生和课程之间的关系,选课关系(学号,课程号,成绩),刨裹盯惠旱嫌军奇灸羔挟叁古嗜痞岿谅著锭引问旁采帝锹瓢撩推锥烷抉车第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),20,2. 关系模型的数据操纵,数据操纵,主要包括查询、插入、删除和修改数据,这些操作必须满足关系的完整性约束条件,即实体完整性、参照完整性和用户定义的完整性。,用户只要指出“干什么”,而不必详细说明“怎么干”,从而大大地提高了数据的独立性,提高了用户的生产率。,疡楚败萍牡悦圈侦海汛玫抹日狰建撒究坛疆鳃虾傻撩嚣圾睦膀腾舰舅誊质第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),21,3、关系模型的优缺点,关系模型的,优点,主要有:,(1),与非关系模型不同,它有较强的数学理论根据。,(2),数据结构简单、清晰,用户,易懂易用,,不仅用关系描述实体,而且用关系描述实体间的联系。,关系模型的,缺点,主要有:,查询效率往往不如非关系模型,因此,为了提高性能,必须对用户的查询表示进行优化,增加了开发数据库管理系统的负担。,娶盎芥毛吏赖羌筛牺善苹酉泉揖伟汞汲壬疽钦虑袁列宝揩算罢涌敌朔影礁第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),22,1.,关系中属性的顺序是无关紧要的,即列的顺序可以任意交换。,交换时,应连同属性名一起交换,否则将得到不同的关系。,例如:关系T1作如下交换时,无任何影响,如下表所示:,性别,姓名,男,李力,女,王平,男,刘伟,2.3,关系的重要性质,院扎荫吁困阳橙旧储远翼座韦诸锹鳞爹超袭梢然鹤均死孤迅办签圾凤缨鸡第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),23,而作如下交换时,不交换属性名,只交换,属性列,中的值,则,得到不同的关系,,如下表:,姓名,性别,男,李力,女,王平,男,刘伟,傻彤礁升酒蓉魄深杰欠牟攘峻羊猪梢殖债吩褒舔亿贰朋宦霉莽潘绕侠黎闭第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),24,2.,同一属性名下的各个属性值必须来自同一个域,是同一类型的数据(职业属性下面就应该是教师工人等,不能是男人女人)。,3.,关系中各个属性必须有不同的名字,不同的属性可来自同一个域,即它们的分量可以取自同一个域。,例如,有如下表中关系,职业与兼职是两个不同的属性,但它们取自同一个域职业教师,工人,辅导员。,姓名,职业,兼职,张强,教师,辅导员,王丽,工人,教师,刘宁,教师,辅导员,惟让挛伸哨霓肌读满曝侥蝉氏澎芜汽丫药勘理歪闰启蒂故犹飞鼓卞厅疹丙第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),25,4.,关系中每一分量必须是不可分的数据项,,或者说所有属性值都是原子的,即是一个确定的值,而不是值的集合。属性值可以为空值,表示“未知”或“不可使用”,即不可“表中有表”。满足此条件的关系称为,规范化关系,,否则称为,非规范化关系,。,例如,在表2.8中,籍贯含有省、市县两项,出现了“表中有表”的现象,则为非规范化关系,而把籍贯分成省、市县两列,将其规范化,如表2.9所示。,表2.8 表2.9,姓名,籍贯,姓名,省,市县,省,市县,张强,吉林,长春,张强,吉林,长春,王丽,山西,大同,王丽,山西,大同,闭玄锭只盆逸尾借均凭溪纹惩厕率阴赊选箔怜仑杖亲神窥取哄幅先脏熬歇第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),26,E/R到关系,实体集 Entity set - 关系 relation.,属性 Attributes - 属性attributes.,关系 Relationships - 关系,例子:影星、电影、制造商(30页/73页),实体集:影星、电影、制造商,属性:名字、年代、长度、地址、种类等等,关系:starsin、owns。,实体集对应的转换结果:电影(练习)、影星(3.11),关系转换的结果:owns(3.12)、 starsin(3.13),注意:73页3.2.2 R的属性也是关系的属性/R涉及的键码也是R的属性/改名,寝徽铱律战锚载级卉喘蝶祥险徘俞耶驼雏浇吴郭施生霓孺匡空寇已霞夕殴第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),27,课堂练习,62页 3.1.1,裂鸯秀捎卑殉匡搓唤森摹壶询弓研撇灶祖捡纠扇赤熔亿般沮凯比滚诌滦艘第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),28,2.4.1 候选键与关系键,能唯一标识关系中元组的属性或属性集,则称该属性或属性集为,候选键,(Candidate Key),也称,候选关键字,或,候选码,。如:,“学生关系”中的学号能唯一标识每一个学生,则属性,学号,是学生关系的候选键。,在“选课关系”中,只有属性的组合“学号+课程号”才能唯一地区分每一条选课记录,则属性集,“学号+课程号”,是选课关系的候选键。,2.4 关系的键,扎蔼纠说们殉读行殉盒旭肾敏皋搁蛋物嫩埔摩浩鸟育紊瞧杨本互吉忍搐揍第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),29,下面给出候选键的形式化定义:,设关系R有属性A1,A2,An,其属性集K=(Ai,Aj,Ak),当且仅当满足下列条件时,K被称为候选键:,1.,唯一性,(Uniqueness):关系R的任意两个不同元组,其属性集K的值是不同的。,2.,最小性,(Minimally):组成关系键的属性集(Ai,Aj,Ak)中,任一属性都不能从属性集K中删掉,否则将破坏唯一性的性质,例如:,“学生关系”中的每个学生的学号是唯一的,“选课关系”中“学号+课程号” 的组合也是唯一的。对于属性集“学号+课程号” 去掉任一属性,都无法唯一标识选课记录。,亨晾汛站舜骨疥毕措差站此莆纪预侄离谴剖扰卵碉豺艘铂揪直消泣狭蕴擂第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),30,如果一个关系中有多个候选键,可以从中选择一个作为查询、插入或删除元组的操作变量,被选用的候选键称为,主关系键,(Primary Key),或简称为,主键,、,主码、关系键,、,关键字,。,例如,,假设在学生关系中没有重名的学生,则“学号”和“姓名”都可作为学生关系的候选键。如果选定“学号”作为数据操作的依据,则“学号”为主关系键。,主关系键是关系模型中的一个重要概念。,每个关系必需选择一个主关系键,,选定以后,不能随意改变。,每个关系必定有且仅有一个主关系键,,因为关系的元组无重复,至少关系的所有属性的组合可作为主关系键,通常用较小的属性组合作为主关系键。,孩罢割锗粪救都苦祥筷塑悍棕勺使谩次匹耶礁粪到心瞎仟骗槽舟舞谱访镑第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),31,2.4.2 主属性与非码属性,主属性,(Prime Attribute):包含在候选码中的的各属性称为主属性。候选码是学号时,学号就是主属性,非码属性,(Non-Prime Attribute):不包含在任何候选码中的属性称为非码属性。性别、年龄,在最简单的情况下,一个候选码只包含一个属性,如学生关系中的“学号”,教师关系中的“教师号”。,在最极终端的情况下,所有属性的组合是关系的候选码,这时称为,全码,(all-key)。,主属性与非码属性,仿尖汤休廉恰您累涯滓寺瘴涅猾擎稠蚀刺博殴击索柄挫靳碗克癸李烽扁层第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),32,全码的例子,下面是一个全码的例子:,假设有教师授课关系TCS,分别有三个属性教师(T)、课程(C)和学生(S)。一个教师可以讲授多门课程,一门课程可以为多个教师讲授,同样一个学生可以选听多门课程,一门课程可以为多个学生选听。,在这种情况下,T,C,S三者之间是多对多关系,(T,C,S)三个属性的组合是关系TCS的候选码,称为,全码,,T,C,S都是主属性。,碴郊邀奇彦洪盛抡盐诬缀链坠狈蚤纲引腋阮帜俊洲匪肚沮照丈剃江甲跃效第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),33,外部关系键,2.4.3 外部关系键,例2.1,假设在,图1.12,所示的教学数据库中增加一个系别关系D,包含两个属性,系别,(DEPT)和,地址,(ADDR),“系别”是此关系的主码,而“系别”并不是学生关系和教师关系的主码(虽然都有系别这个属性),所以“系别”是学生关系和教师关系的外部关系键。,定义:如果关系R2(学生、教师)的一个或一组属性(系别)X不是R2的主码,而是另一关系R1(系别)的主码,则该属性或属性组X称为关系R2的,外部关系键,或,外码,(Foreign key)。并称关系R2为,参照关系,(referencing relation),关系R1为,被参照关系,(referenced relation)。,倪葬洞筑排过茧耙耻医修嗜户晕哪篓肤狄盼拱竖痹蜂抡搓眉裂柜跋扩纪卯第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),34,例2.2,如图1.12所示的选课关系中的“学号”属性与学生关系的主码“学号”相对应,“课程号”属性与课程关系的主码“课程号”相对应,因此,“学号”和“课程号”属性是选课关系的,外部关系键,。学生关系和课程关系为,被参照关系,,选课关系为,参照关系(其主码是,学号+课程号,),。,由外部关系键的定义可知,被参照关系的主码和参照关系的外码必须定义在同一个域上。,如选课关系中的“学号”与学生关系的主码“学号”定义在同一个域上,“课程号”属性与课程关系的主码“课程号”定义在同一个域上。,瞻仙氏鬃库沈涩拐攘炬园舌苫扭朝页皿趣裕咱向早夷贵吼名村硅努厦蛀哦第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),35,2.4.4 关系模型的完整性,为了维护数据库中数据与现实世界的一致性,对关系数据库的插入、删除和修改操作必须有一定的约束条件,这就是关系模型的三类完整性:,实体完整性,参照完整性,用户定义的完整性,1. 实体完整性(Entity Integrity),实体完整性,是指主关系键的值不能为空或部分为空。,关系模型中的一个元组对应一个实体,一个关系则对应一个实体集。,例如,一条学生记录对应着一个学生,学生关系对应着学生的集合。,阉跨某勺伶证后泄草畏术崇沈碾褂薯结匀姿卡个穆未棉加季芳气据摧损仅第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),36,现实世界中的实体是可区分的,即它们具有某种唯一性标识。与此相对应,关系模型中以主关系键来唯一标识元组。,例如,,学生关系中的属性“学号”可以唯一标识一个元组,也可以唯一标识学生实体。,如果主关系键中的值为空或部分为空,即主属性为空,则不符合关系键的定义条件,不能唯一标识元组及与其相对应的实体。这就说明存在不可区分的实体,从而与现实世界中的实体是可以区分的事实相矛盾。因此,主关系键的值不能为空或部分为空,。,例如,学生关系中的主关系键“学号”不能为空;选课关系中的主关系键“学号+课程号”不能部分为空,即“学号”和“课程号”两个属性都不能为空。,钞酥峙鹤横辫垮灼攫骡噶去迭擦炬柯瀑慧镊所烘毖红跑梳吼枯随呸笼谨敢第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),37,2.,参照完整性(Referential integrity),如果关系R2的外部关系键X与关系R1的主关系键相符,则X的每个值或者等于R1中主关系键的某一个值,或者取空值。,在例2.1系别关系中的属性“系别”是学生关系外部关系键。,如图2.2所示,学生关系中某个学生(如s1或s2)“系别”的取值,必须在参照的系别关系中主关系键“系别”的值中能够找到,否则表示把该学生分配到一个不存在的部门中,显然不符合语义。,如果某个学生(如s11)“系别”取空值,则表示该学生尚未分配到任何一个系。否则,它只能取专业关系中某个元组的专业号值。,秽逢侣允兑镣吉侠寥肃略昨杂瞅免嚷叛肛辱方巷损付寥耀契褂茬撕喻亥痔第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),38,S(学生关系) D(系别关系),图2.2 学生表和系别表,SNO,学号,SN,姓名,SEX,性别,AGE,年龄,DEPT,所在系,DEPT,所在系,ADDR,地址,S1,赵亦,女,17,计算机,计算机,1号楼,S2,钱尔,男,18,信息,信息,1号楼,自动化,2号楼,S11,王威,男,19,鸳针硬锑鼓榆椰锑催琢点待镣岳庸辨掖债惠裴眶署缮又拼匈辟酱蛀角慌淆第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),39,在例2.2中,如果按照参照完整性规则,选课关系中的外部关系键“学号”和“课程号”可以取空值或者取被参照关系中已经存在的值。但由于“学号”和“课程号”是选课关系中主属性,根据实体完整性规则,两个属性都不能为空。,所以,选课关系中的外部关系键“学号”和“课程号”中能取被参照关系中已经存在的值。,实体完整性,和,参照完整性,是关系模型必须满足的完整性约束条件,被称作,关系的两个不变性,。任何关系数据库系统都应该支持这两类完整性。,除此之外,不同的关系数据库系统由于应用环境的不同,往往还需要一些特殊的约束条件,这就是,用户定义完整性,。,桨无氛刻稻追埠舰抢梧率撕渝房辑馈赤奈史劲辛骆颧多染样痊捧滦翁鲸二第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),40,3. 用户定义完整性(User-defined Integrity),用户定义完整性,是针对某一具体关系数据库的约束条件。,它反映某一具体应用所涉及的数据必须满足的语义要求。,例如,属性值根据实际需要,要具备一些约束条件,如选课关系中成绩不能为负数;某些数据的输入格式要有一些限制等关系模型应该提供定义和检验这类完整性的机制,以便用统一的、系统的方法处理它们,而不要由应用程序承担这一功能。,渣赌务玖昼耀助身蒲听妓葵囤鞍脉叔吠演躁蚤治最喝找饮羽景怂浅腐殉应第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),41,2.5.1 关系模式和关系数据库模式,一个关系的属性名的集合R(A1,A2,An)叫做,关系模式,。其中:,R为关系名,A1,A2,An为属性名(i=1,2,n)。,由定义可以看出,关系模式是关系的框架,或者称为表,框架,,指出了关系由哪些属性构成,是对关系结构的描述。,一组关系模式的集合叫做,关系数据库模式,。,2.5 关系数据库模式与关系数据库,抄韵础躁萨鳖滦体讼夹办兢夏便畦臻区檄纳狂搏故刁砖孟昧幽被误嚏植葛第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),42,关系数据库模式,是对关系数据库结构的描述,或者说是对关系数据库框架的描述,也就是前面所讲过的关系头,可以看作是关系的型。与关系数据库模式对应的数据库中的当前值就是关系数据库的内容,称为,关系数据库的实例,,即前面所讲过的关系体,可以看作是关系的值。,例如,在图1.12所示的教学数据库中,共有五个关系,其关系模式分别为:,学生(学号,姓名,性别,年龄,系别),教师(教师号,姓名,性别,年龄,系别),课程(课程号,课程名,课时),选课(学号,课程号,成绩),授课(教师号,课程号),追乖妥父乘刘器遇窥抚回拥酉拒梯则悠留墒决憾股寨婉组尽织魄尽识肛潘第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),43,在每个关系中,又有其相应的数据库的实例,例如:与学生关系模式对应的数据库中的实例有如下6个元组:,S1,赵亦,女,17,计算机,S2,钱尔,男,18,信息,S3,孙珊,女,20,信息,S4,李思,男,21,自动化,S5,周武,男,19,计算机,S6,吴丽,女,20,自动化,抛隘隆胡墙膝剿诲涡甚货渝绚妮檄酸遂恿抵奎魄肋疽谗跳落蛰掇撕际泌匪第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),44,2.5.2 关系数据库,关系数据库,是“一组随时间变化,具有各种度的规范化关系的集合”。,因为关系是由,关系头,和,关系体,组成的,所以关系数据库也可以看作是一组关系头和关系体的集合。,由此可见,关系数据库也有,型,和,值,的概念,其型就是关系数据库模式,相对固定;其值就是关系数据库内容,代表现实世界中的实体,而实体是随着时间不断变化的,所以其值在不同的时刻会有所变化。,全接弃浅催襟枚揪重震庶挺煞鼠郭鸣果备酚捐胶腔换端英闽死陷考涌汇直第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),45,例如:,图1.12所示的教学数据库是五个关系的集合,或者说是五个关系头和五个关系体的集合。,其中,各个关系头相对固定,而关系体的内容,会随时间而变化。,比如,学生和教师的年龄随时间而增长,教师的工资和岗位津贴也会发生变化。,非恃番瞪拱闷刻温泊椎轮呼非音嗓幂既臭赊洪应搜涯瑚庞酣弯誊惰介焊喜第3章关系数据模型(基本概念和ER转换)第3章关系数据模型(基本概念和ER转换),46,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!