




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库基础与应用,主教材:数据库基础与应用(新版)教师:电话答疑第2章关系运算,2.1关系数据结构关系数据结构非常单一,它就是一张二维表(有限制的)。下面以集合论的观点给出有关概念的形式化定义。1.域是具有相同特性的数据集合。例如,男,女是一个域,它是有人类两种性别的集合;东,南,西,北域;在一些计算机语言中,允许把一个域直接定义为一种数据类型。记为:D1,D2,Dn。,2.笛卡儿积是定义在一组域上的集合,假定一组域用D1,D2,Dn表示,则它们的笛卡儿积表示为D1*D2*Dn,笛卡儿积中每个元素由下式给出:D1*D2*Dn=(d1,d2,dn)|diDi,1in,n1笛卡儿积中的每个元素又习惯称为元组,每个元组的一个值di称为该元组的一个分量,n是域的个数,也是每个元组中分量的个数,具有n个分量的元组被称为n元组。在D1,D2,Dn域中,若任一个域di的基数(所含元素的个数)用mi表示,它们的笛卡儿积中所含元组的个数为m=m1*m2*mn。,例2-1设D1=1,3,D2=2,4,则它们的笛卡儿积D1*D2为(1,2),(1,4),(3,2),(3,4)。D1和D2的基数2和2,故D1*D2的基数为4,每个元素都是一个二元组。例2-2设D1=学生=王力,赵火,孙平,D2=导师=刘华,张明,D3=专业=计算机,电子,则它们的笛卡儿积D1*D2*D3为(王力,刘华,计算机),(,),。每个元素都是一个三元组。D1*D2*D3的基数为3*2*2=12。该笛卡儿积给出了D1中的每个学生选择D2中的每个导师学习D3中每个专业的所有可能的组合情况。,构成笛卡儿积的n个域通常是互不相同的,即对应不同的集合,但也允许使用相同的域。例2-3设D1=D2T,F,D3=0,1,则它们的笛卡儿积D1*D2*D3为:(T,T,0),(T,T,1),(T,F,0),(T,T,1),(F,T,0),(F,T,1),(F,F,0),(F,F,1)基数元组,例2-4设D1=D2上海,大连,南京,广州,则它们的笛卡儿积D1*D2为(上海,上海),(上海,大连),表2-1笛卡儿积的二维表示例P35。3.关系关系是笛卡儿积的一个子集,若笛卡儿积具有n个域,则该笛卡儿积上的关系被称为n元关系。设D1,D2,Dn为n个域,则该域上的关系用R(D1,D2,Dn)表示,R称为关系名,R关系所包含的全部元组是D1*D2*,*Dn的一个子集。,例2-5假定学生,导师和专业这三个域为D1=学生=王力,赵火,孙平,D2=导师=刘华,张明,D3=专业=计算机,电子,则这些域上的一种关系R(学生,导师,专业)假定如表2-2所示P35一个n元关系具有下面六个性质:1.属性,属性名,属性值2.直接采用域名?3.关系中的属性次序无关(理论上,实际上)4.关系中任意两个元组不允许完全相同5.关系中元组的次序可以任意6.一个元组中的每个属性值都必须是单值,例2-6设一种表结构为(学生号,姓名,性别,专业,成绩(数学,物理,化学),有嵌套,不符合关系的要求。若改为(学生号,姓名,性别,专业,数学成绩,物理成绩,化学成绩)就变成了一个关系,也可以改为两个关系,可能含义更清楚。学生关系(学生号,姓名,性别,专业)成绩关系(学生号,数学,物理,化学)查询时通过学生号将两个关系连接起来。,4.关系模式是关系的型,即一个关系的具体结构,通常被形式化定义为:R(U,D,DOM,F,I)其中R为关系名,U为所有属性名集合,D为关系的所有定义域的集合,该集合长度必然小于等于属性名集合的长度,DOM为属性向域映射的集合,它给出属性和域之间的对应关系,即哪个属性属于哪个域,F为该关系中各属性之间的数据依赖的集合,I为该关系中所定义的完整性规则的集合。,例2-8假定有一个学生关系模式,它的属性名集合为学生号,姓名,性别,年龄,专业,则所有属性所对应的域的集合D可定义为6位数字字符串,6个字节字符串,Sex男,女,1435,Course计算机,生物,机械,属性向域映射的集合DOM为学生号属于6位数字字符串域,姓名属于6个字节字符串域,性别属于Sex域,年龄属于1435内的整数域,专业属于Course域。,在数据库系统中定义一个关系模式时,主要给出关系名和所有属性名,其他都是辅助特性。例如属性的域被作为属性的类型和长度来定义,其中必然包含了属性向域的映射,属性之间的数据依赖的分析主要是找出关系的主码属性,关系的完整性规则的建立是为了保证数据库数据的正确性和一致性。一个关系模式可简化为:R(A1,A2,A3,An),即关系名(属性名组),一个关系模式可简化为:R(A1,A2,A3,An),即关系名(属性名组)如关系Student(Number,Name,Sex,Age,Course)主码的属性常放在前面并用下划线作标记;其余为一般属性。关系模式只是一个关系的框架,具有该框架的所有元组才是该关系的值(关系的内容)。关系的模式和关系的值共同确定了一个具体关系。实际系统允许空关系。,关系模式和关系值是一个关系的两个方面,定义关系模式是为了规范和处理关系的值,处理关系值时必须按照模式去区分和标识元组中的每个分量,并理解每个分量的语义。,5.码又称为键、关键字。在关系中有超码、侯选码、主码、备用码、外码等。超码:关系中能唯一标识每个元组的属性或属性组(集)。可有多个超码。侯选码:关系中能唯一标识每个元组的最少属性或属性组(集)。可有多个侯选码。主码:从侯选码中选择一个作为该关系的主码,数据库系统将按主码标识和排序每个元组。一个关系在任一时刻至多只能有一个主码,单在不同时刻可以指定不同的侯选码作为主码,当然也可以不指定主码。,备用码:除了主码之外的所有侯选码都是高关系的备用码。一个关系可能没有备用码,也可能具有一个或多个备用码。例2-9设一个关系R为(学生号,姓名,性别,年龄,专业,身份证号)超码:学生号,身份证号,属性组(学生号,身份证号)也是一个超码。侯选码:学生号,身份证号,备用码:如选择学生号为主码,则另一个侯选码身份证号就是备用码。,外码:在关系R1中的属性或属性组若在另一个关系R2中作为主码使用,则称该属性或属性组为R1的外码。例2-10设R1(学生号,姓名,性别,班级号),R2(班级号,班级名,班主任),其中R1中的班级号属性在R2中是主码,所以班级号是R1的外码。若把R2(班级号,班级名,班主任,班长),班长属性应该与R1中的主码学生号属性定义在同一域上,此时班长属性是R2的外码。,主属性和非主属性包含在任何侯选码中的属性都称为该关系的主属性,除主属性外都是非主属性。例2-11在关系R为(学生号,姓名,性别,年龄,专业,身份证号)中,主属性:学生号,身份证号非主属性:姓名,性别,年龄,专业R1(学生号,姓名,性别,班级号),R2(班级号,班级名,班主任),,例2-12设有三个关系,学生(学生号,姓名,班级),课程(课程号,课程名,学分),选课(学生号,课程号,成绩)学生号是学生关系的主码,是选课关系的外码。课程号是课程关系的主码,是选课关系的外码。选课关系的主码由学生号和课程号联合构成,只有合并在一起才是惟一标识元组的最少属性集,该关系的主属性为学生号和课程号,非主属性为成绩属性。,第2章关系运算,2.2关系完整性关系完整性就是关系模型中数据的正确性、一致性和有效性。它包括实体完整性、参照完整性和用户定义的完整性三个方面。每种完整性都对应有相应的完整性规则,都需要用户在定义关系数据库时给出相应定义。,1.实体完整性实体完整性规则:关系的主码不能取空值,或者说任何关系中每个元组的主码不能为空。在关系数据库系统中,用户只要标明一个关系的主码,DBMS将自动对该关系中的每个元组的主码进行检查,若发现主码为空将给出错误信息要求用户纠正。有的关系数据库系统中,还允许用户定义关系的备用码,系统也会自动检查。,例2-13设学生关系(学生号,姓名,年龄,专业,籍贯)学生号为主码,每个学生必须有一个学生号,取空值为非法,系统会自动拒绝学生号为空的元组存在。(实体完整性规则)例2-14设选课关系(学生号,课程号,成绩)主码:学生号,课程号,这两个属性值都不能为空。成绩属性允许为空。,2.参照完整性在一个关系模型中,一个关系R1中的外码对应另一个关系R2中的主码,R1中的外码和R2中的主码不但要定义在同一域上,而且要求外码的取值不能超出主码的取值,否则将为非法数据。如R1(课程号,课程名,学分,系号),R2(系号,系名,系主任,办公电话)。*若一个关系R1中外码的取值要参照另一关系R2中主码的取值,则称R1为参照关系、引用关系、子关系等,称R2为被参照关系、被引用关系、父关系等,,参照完整性规则:在两个参照和被参照关系中,参照关系中每个元组的外码或者为空,或者等于被参照关系中某个元组的主码。在关系数据库系统中,用户只要给出一对参照关系和被参照关系,并给出参照关系中的外码,则DBMS会自动进行检查。在实施参照完整性的两个关系中,通常父子关系是1对多;而子关系中的一个元组至多对应父关系中的一个元组,这里包含着当外码为空时不对应父关系中的任何元组。,例2-15设有五个关系:订单(订单号,客户号,雇员号,订单日期)订单明细(订单号,商品号,单价,订购数量)客户(客户号,姓名,性别,联系电话,联系地址)雇员(雇员号,姓名,性别,柜台,工作电话)商品(商品号,品牌号,型号,类别,产地,电话)其中每个客户可以签定多个订单,每个雇员也可以签定多个订单,每个订单的客户可以订购多种商品。图2-1给出了这五种关系及其联系。,3.用户定义的完整性用户定义的完整性规则:包括对每个关系每个属性的取值限制(或约束)的具体定义,它同其他两个完整性规则一样也被记录在DBMS的数据字典中,在数据库操作时,DBMS会自动根据各种完整性规则进行监控,拒绝不符合要求的数据进入数据库。,第2章关系运算,2.3关系运算关系比一般的集合要复杂,对关系可采用传统的集合运算,也可以采用专门的运算。2.3.1传统的集合运算包括并、交、差和笛卡儿积四种运算。对应符号、表示。设一个元组变量用t表示,则t属于一个关系R则用tR表示,t不属于R用tR表示。,假定关系R中一个属性用A表示,则t.A就表示属性A在元组t中的值。用元组t中的一个分量同其他值进行比较需要用到六个比较运算符:、又称为运算符。由逻辑运算符与()、或()、非()连接比较运算式构成逻辑表达式。,1.并运算(具有完全相同的结构或模式)R和S的并记作RS,用集合公式表示为:RS=t|tRtS即并运算结果中的元组t或者属于R或者属于S,包括同时属于两者。集合的并满足交换率,即RS=SR。例2-16P42篮球爱好者足球爱好者=足、篮球爱好者=篮、足球爱好者(表2-3c),2.交运算R和S的交记作RS,用集合公式表示为:RS=t|tRtS即交运算结果中的元组t既属于R又属于S(同时)集合的交满足交换率,即RS=SR。例2-17P42篮球爱好者足球爱好者=足、篮球同时爱好者(表2-4a),3.差运算R和S的交记作RS,用集合公式表示为:RS=t|tRtS即差运算结果中的元组t只能属于R但不能属于S。集合的差不满足交换率,即R-SS-R。例2-18P42篮球爱好者足球爱好者=不爱足球的篮球爱好者(表2-4b),4.笛卡儿积R(n个属性)和S(m个属性),则它们的笛卡儿积仍是一个关系,该关系的结构是R和S的结构之连接,即前n个属性来自R,后m个属性来自S,属性的个数等于n+m,该关系的值是由R中的每个元组连接S中的每个元组所构成元组的集合。R和S的笛卡儿积记作RS,用集合公式表示为:RS=tRtS|tRRtSS这表明对于笛卡儿积运算结果中的元组t,它的前n个分量tR属于R中的元组,后m个分量tS属于S中的元组。若设R和S分别具有k1和k2个元组,则RS中元组的个数为k1k2。,由于在实际应用中需要考虑关系中属性的次序,所以关系的笛卡儿积不满足交换率,即RSSR。表2-5c例2-19P43表2-5a表2-5b,2.3.2专门的关系运算包括选择、投影、连接和除四种,对应的运算符分别用、表示。1.选择运算单目运算,它从一个关系R中选择满足给定条件的所有元组,并同R具有相同的结构。选择运算提供了横向划分(分割)关系的手段。,设F(t)为元组逻辑表达式,当值为真(TRUE)时,元组t就被选择出来,成为结果关系的一个元组。对关系R按条件F(t)做选择运算记为F(t)(R),用集合公式表示为:F(t)(R)=t|tRF(t)=TRUE例2-20P44t.年级=1t.年级=2(R),2.投影运算单目运算,它从一个关系R中按所需顺序选取若干个属性构成新关系,新关系的元组必然小于等于原关系R中的元组数,因为要从中去掉在新关系模式下重复的元组。选择运算提供了纵向划分(分割)关系的手段。,设t是R中的一个元组,A是要从R中投影出的属性子集,则用t.A表示t元组中属性子集A所对应的分量值,对关系R按属性自己A做投影运算记为A(R),用集合公式表示为:A(R)=t.A|tR例2-21P44课程号,成绩(R)表2-7b课程号,学生号(R)表2-7c学生号(R)表2-7d课程号(R)表2-7e,3.连接运算双目运算,它把两个关系R和S按相应属性值的比较条件连接起来,它是R和S的笛卡儿积的一个子集。比较条件就是比较运算表达式,相应的连接就称为该运算符连接,如大于连接、小于等于连接、等于连接等,总称为连接。假定P45对R和S按条件进行连接记作:RSR.AS.B或RR.AS.BS,用笛卡儿积和选择运算表示为:,对R和S按条件进行连接记作RSR.AS.B或RR.AS.BS,用笛卡儿积和选择运算表示为:RSR.AS.B=R.AS.B(RS)=t|tRRtSSR.AS.B=TRUE例2-22P45求RSR.BS.C和RSR.C=S.C,求RSR.BS.C表2-8a关系R表2-8c大于连接表2-8b关系S,求RSR.C=S.C表2-8a关系R表2-8d等于连接表2-8b关系S,在连接运算中,常用的连接是等于连接,即等值连接。如在学生关系S、课程关系C、选课关系SC构成的关系数据库系统中,若要查询出每个学生所选每门课程的课程号和成绩,就需要把学生关系和选课关系按学生号相等进行等值连接;若要查询每个学生所选每门课程的课程名、学分和成绩,就需要首先把学生关系和选课关系按学生号等值连接,再接着同课程关系按课程号等值连接,然后再从中投影出所需要的属性。例2-23P46,在等值连接中,其连接结果存在着
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年上半年上海市卫生健康技术评价中心工作人员公开招聘考前自测高频考点模拟试题及答案详解(易错题)
- 2025年4月广东深圳小学光明学校曙光校区、狮山校区赴济南定点面向2025年应届毕业生招聘教师11人模拟试卷含答案详解
- 安全培训教师体会课件
- 2025年福建省莆田市秀屿区上塘珠宝城实业有限公司招聘1人考前自测高频考点模拟试题及答案详解(典优)
- 2025年合肥复兴控股集团第一批人员招聘27人考前自测高频考点模拟试题及1套完整答案详解
- 安全培训教员资质课件
- 广播电台培训课件
- 2025贵州黔西南州望谟县消防救援大队招聘政府专职消防文员1人模拟试卷附答案详解
- Human-ZIC1-mRNA-生命科学试剂-MCE
- Heptanamide-Enanthamide-生命科学试剂-MCE
- 人教版音乐八年级上册-《学习项目二探索旋律结构的规律》-课堂教学设计
- 《中国人民站起来了》课件 (共50张)2025-2026学年统编版高中语文选择性必修上册
- 2025-2030滑雪培训行业市场发展分析及前景趋势预测与投资可行性评估报告
- 中国企业供应链金融白皮书(2025)-清华五道口
- 2025年陕西省专业技术人员继续教育公需课答案
- 2025年土方坍塌应急预案演练脚本
- 医院常用消毒液的使用及配置方法
- 2022英威腾MH600交流伺服驱动说明书手册
- 2025年中国药典培训试题及答案
- 新疆教育惠民政策课件
- 非法言论主题班会课件
评论
0/150
提交评论