数据库基础与应用演示讲稿cqcl.pptx
《数据库基础与应用演示讲稿cqcl.pptx》由会员分享,可在线阅读,更多相关《数据库基础与应用演示讲稿cqcl.pptx(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 数据库基础与应用数据库基础与应用主教材:主教材:数据库基础与应数据库基础与应用(新版)用(新版)教师:教师:吴旻倩吴旻倩电话答疑:电话答疑:138070565181数据库基础与应用演示讲稿第2章关系运算2.1关系数据结构关系数据结构非常单一,它就是一张二维表(有限制的)。下面以集合论的观点给出有关概念的形式化定义。1.域是具有相同特性的数据集合。例如,男,女是一个域,它是有人类两种性别的集合;东,南,西,北域;在一些计算机语言中,允许把一个域直接定义为一种数据类型。记为:D1,D2,Dn。2数据库基础与应用演示讲稿2.笛卡儿积是定义在一组域上的集合,假定一组域用D1,D2,Dn表示,则它们的
2、笛卡儿积表示为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。3数据库基础与应用演示讲稿例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,
3、每个元素都是一个二元组。例2-2 设D1=学生=王力,赵火,孙平,D2=导师=刘华,张明,D3=专业=计算机,电子,则它们的笛卡儿积D1*D2*D3为(王力,刘华,计算机),(,),。每个元素都是一个三元组。D1*D2*D3的基数为3*2*2=12。该笛卡儿积给出了D1中的每个学生选择D2中的每个导师学习D3中每个专业的所有可能的组合情况。4数据库基础与应用演示讲稿构成笛卡儿积的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,
4、0),(F,T,1),(F,F,0),(F,F,1)基数元组5数据库基础与应用演示讲稿例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的一个子集。6数据库基础与应用演示讲稿例2-5假定学生,导师和专业这三个域 为D1=学生=王力,赵火,孙平,D2=导师=刘华,张明,D3=专业=计算机
5、,电子,则这些域上的一种关系R(学生,导师,专业)假定如表2-2所示P35一个n元关系具有下面六个性质:1.属性,属性名,属性值2.直接采用域名?3.关系中的属性次序无关(理论上,实际上)4.关系中任意两个元组不允许完全相同5.关系中元组的次序可以任意6.一个元组中的每个属性值都必须是单值7数据库基础与应用演示讲稿例2-6设一种表结构为(学生号,姓名,性别,专业,成绩(数学,物理,化学),有嵌套,不符合关系的要求。若改为(学生号,姓名,性别,专业,数学成绩,物理成绩,化学成绩)就变成了一个关系,也可以改为两个关系,可能含义更清楚。学生关系(学生号,姓名,性别,专业)成绩关系(学生号,数学,物理
6、,化学)查询时通过学生号将两个关系连接起来。8数据库基础与应用演示讲稿4.关系模式是关系的型,即一个关系的具体结构,通常被形式化定义为:R(U,D,DOM,F,I)其中R为关系名,U为所有属性名集合,D为关系的所有定义域的集合,该集合长度必然小于等于属性名集合的长度,DOM为属性向域映射的集合,它给出属性和域之间的对应关系,即哪个属性属于哪个域,F为该关系中各属性之间的数据依赖的集合,I为该关系中所定义的完整性规则的集合。9数据库基础与应用演示讲稿例2-8 假定有一个学生关系模式,它的属性名集合为学生号,姓名,性别,年龄,专业,则所有属性所对应的域的集合D可定义为6位数字字符串,6个字节字符串
7、,Sex男,女,1435,Course计算机,生物,机械,属性向域映射的集合DOM为学生号属于6位数字字符串域,姓名属于6个字节字符串域,性别属于Sex域,年龄属于1435内的整数域,专业属于Course域。10数据库基础与应用演示讲稿在数据库系统中定义一个关系模式时,主要给出关系名和所有属性名,其他都是辅助特性。例如属性的域被作为属性的类型和长度来定义,其中必然包含了属性向域的映射,属性之间的数据依赖的分析主要是找出关系的主码属性,关系的完整性规则的建立是为了保证数据库数据的正确性和一致性。一个关系模式可简化为:R(A1,A2,A3,An),即关系名(属性名组)11数据库基础与应用演示讲稿一
8、个关系模式可简化为:R(A1,A2,A3,An),即关系名(属性名组)如关系Student(Number,Name,Sex,Age,Course)主码的属性常放在前面并用下划线作标记;其余为一般属性。关系模式只是一个关系的框架,具有该框架的所有元组才是该关系的值(关系的内容)。关系的模式和关系的值共同确定了一个具体关系。实际系统允许空关系。12数据库基础与应用演示讲稿关系模式和关系值是一个关系的两个方面,定义关系模式 是为了规范和处理关系的值,处理关系值时必须按照模式去区分和标识元组 中的每个分量,并理解每个分量的语义。13数据库基础与应用演示讲稿5.码又称为键、关键字。在关系中有超码、侯选码
9、、主码、备用码、外码等。超码:关系中能唯一标识每个元组的属性或属性组(集)。可有多个超码。侯选码:关系中能唯一标识每个元组的最少属性或属性组(集)。可有多个侯选码。主码:从侯选码中选择一个作为该关系的主码,数据库系统将按主码标识和排序每个元组。一个关系在任一时刻至多只能有一个主码,单在不同时刻可以指定不同的侯选码作为主码,当然也可以不指定主码。14数据库基础与应用演示讲稿备用码:除了主码之外的所有侯选码都是高关系的备用码。一个关系可能没有备用码,也可能具有一个或多个备用码。例2-9 设一个关系R为(学生号,姓名,性别,年龄,专业,身份证号)超码:学生号,身份证号,属性组(学生号,身份证号)也是
10、一个超码。侯选码:学生号,身份证号,备用码:如选择学生号为主码,则另一个侯选码身份证号就是备用码。15数据库基础与应用演示讲稿外码:在关系R1中的属性或属性组若在另一个关系R2中作为主码使用,则称该属性或属性组为R1的外码。例2-10 设R1(学生号,姓名,性别,班级号),R2(班级号,班级名,班主任),其中R1 中的班级号属性在R2中是主码,所以班级号是R1的外码。若把R2(班级号,班级名,班主任,班长),班长属性应该与R1 中的主码学生号属性定义在同一域上,此时班长属性是R2的外码。16数据库基础与应用演示讲稿主属性和非主属性包含在任何侯选码中的属性都称为该关系的主属性,除主属性外都是非主
11、属性。例2-11 在关系R为(学生号,姓名,性别,年龄,专业,身份证号)中,主属性:学生号,身份证号非主属性:姓名,性别,年龄,专业R1(学生号,姓名,性别,班级号),R2(班级号,班级名,班主任),17数据库基础与应用演示讲稿例2-12 设有三个关系,学生(学生号,姓名,班级),课程(课程号,课程名,学分),选课(学生号,课程号,成绩)学生号是学生关系的主码,是选课关系的外码。课程号是课程关系的主码,是选课关系的外码。选课关系的主码由学生号和课程号联合构成,只有合并在一起才是惟一标识元组的最少属性集,该关系的主属性为学生号和课程号,非主属性为成绩属性。18数据库基础与应用演示讲稿第2章关系运
12、算2.2关系完整性关系完整性就是关系模型中数据的正确性、一致性和有效性。它包括实体完整性、参照完整性和用户定义的完整性三个方面。每种完整性都对应有相应的完整性规则,都需要用户在定义关系数据库时给出相应定义。19数据库基础与应用演示讲稿1.实体完整性实体完整性实体完整性规则:关系的实体完整性规则:关系的主码不能取空主码不能取空值,或者说任何关系中每个元组的主码值,或者说任何关系中每个元组的主码不能为空。不能为空。在关系数据库系统中,用户只要标明一在关系数据库系统中,用户只要标明一个关系的主码,个关系的主码,DBMS将自动对该关系将自动对该关系中的每个元组的主码进行检查,若发现中的每个元组的主码进
13、行检查,若发现主码为空将给出错误信息要求用户纠正。主码为空将给出错误信息要求用户纠正。有的关系数据库系统中,还允许用户定有的关系数据库系统中,还允许用户定义关系的备用码,系统也会自动检查。义关系的备用码,系统也会自动检查。20数据库基础与应用演示讲稿例例2-13 设学生关系(设学生关系(学生号学生号,姓名,年,姓名,年龄,专业,籍贯)龄,专业,籍贯)学生号为主码,每个学生必须有一个学生号为主码,每个学生必须有一个学生号,取空值为非法,学生号,取空值为非法,系统会自动系统会自动拒绝学生号为空的元组存在拒绝学生号为空的元组存在。(实体完(实体完整性规则)整性规则)例例2-14 设选课关系(设选课关
14、系(学生号学生号,课程号课程号,成绩)成绩)主码:主码:学生号学生号,课程号课程号,这两个属性,这两个属性值都不能为空。值都不能为空。成绩属性允许为空成绩属性允许为空。21数据库基础与应用演示讲稿2.参照完整性参照完整性在一个关系模型中,一个关系在一个关系模型中,一个关系R1中的外码中的外码对应另一个关系对应另一个关系R2中的主码,中的主码,R1中的外中的外码和码和R2中的主码不但要定义在同一域上,中的主码不但要定义在同一域上,而且要求而且要求外码的取值不能超出主码的取外码的取值不能超出主码的取值值,否则将为非法数据。,否则将为非法数据。如如R1(课程号课程号,课程名,学分,课程名,学分,系号
15、系号),),R2(系号系号,系名,系主任,办公电话)。,系名,系主任,办公电话)。*若一个关系若一个关系R1中外码的取值要参照另一中外码的取值要参照另一关系关系R2中主码的取值,则称中主码的取值,则称R1为参照关为参照关系、引用关系、系、引用关系、子关系子关系等,称等,称R2为被参为被参照关系、被引用关系、照关系、被引用关系、父关系父关系等,等,22数据库基础与应用演示讲稿参照完整性规则:在两个参照和被参照参照完整性规则:在两个参照和被参照关系中,关系中,参照关系中每个元组的外码或参照关系中每个元组的外码或者为空,或者等于被参照关系中某个元者为空,或者等于被参照关系中某个元组的主码。组的主码。
16、在关系数据库系统中,用户只要给出一在关系数据库系统中,用户只要给出一对参照关系和被参照关系,并给出参照对参照关系和被参照关系,并给出参照关系中的外码,则关系中的外码,则DBMS会自动进行检会自动进行检查。查。在实施参照完整性的两个关系中,通常在实施参照完整性的两个关系中,通常父子关系是父子关系是1对多对多;而子关系中的一个元;而子关系中的一个元组至多对应父关系中的一个元组,这里组至多对应父关系中的一个元组,这里包含着当外码为空时不对应父关系中的包含着当外码为空时不对应父关系中的任何元组。任何元组。23数据库基础与应用演示讲稿例例2-15 设有五个关系:设有五个关系:订单(订单号,客户号,雇员号
17、,订单日期)订单(订单号,客户号,雇员号,订单日期)订单明细(订单号,商品号,单价,订购数量)订单明细(订单号,商品号,单价,订购数量)客户(客户号,姓名,性别,联系电话,联系客户(客户号,姓名,性别,联系电话,联系地址)地址)雇员(雇员号,姓名,性别,柜台,工作电话)雇员(雇员号,姓名,性别,柜台,工作电话)商品(商品号,品牌号,型号,类别,产地,商品(商品号,品牌号,型号,类别,产地,电话)电话)其中每个客户可以签定多个订单,每个雇员也其中每个客户可以签定多个订单,每个雇员也可以签定多个订单,每个订单的客户可以订购可以签定多个订单,每个订单的客户可以订购多种商品。图多种商品。图2-1给出了
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 基础 应用 演示 讲稿 cqcl
限制150内