数据基础与应用 10_第1页
数据基础与应用 10_第2页
数据基础与应用 10_第3页
数据基础与应用 10_第4页
数据基础与应用 10_第5页
已阅读5页,还剩98页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关系数据库基础第3章2026数据库原理与应用教材第32—41页本章学习目标第3章导入教材第32页002/103本章结束时,你应该能够完成四类任务解释说明关系模型、关系、域、元组、属性、主码和关系模式判断判断基本关系是否满足六条基本性质运算使用集合运算与选择、投影、连接、除运算表达查询约束区分实体完整性、参照完整性和用户定义完整性本章重点不是背符号,而是理解“关系如何被变换成新关系”。本章内容路线第3章导入教材第32页003/103从“表是什么”走向“如何对表进行可靠运算”3.1关系模型与数据结构3.2关系代数3.3关系完整性约束3.4章节结语与练习学习顺序:概念→运算→约束→综合练习。外卖点餐系统中的关系数据库基础第3章导入教材第32页004/103关系数据库基础是外卖点餐系统的数据支撑1关系模型把外卖点餐系统中的实体及其联系表示为二维表。2关系代数说明怎样从已有关系得到查询所需的新关系。3完整性约束保证数据的一致性、完整性与有效性。本章围绕教材中的food、business、orders三个关系展开。3.1关系数据库理论基础3.1.1关系模型的概念教材第32页005/1033.1关系数据库理论基础关系模型的概念关系模型的数据结构先把“关系”讲清楚,再进入关系代数。关系模型的数学基础:集合理论3.1.1关系模型的概念教材第32页006/103关系模型的数学基础是集合理论1集合代数为“关系”给出严格的数学定义。2集合代数支持对关系进行各种运算。3关系模型在数据库实现中使用单一数据结构——关系。后面的每一种关系代数运算,本质上都建立在集合思想上。关系模型只有一种数据结构——关系3.1.1关系模型的概念教材第32页007/103教材定义关系的直观含义:通常所说的二维表;在关系数据库系统中,表和关系是同义词。一行:一个元组一列:一个属性一张表:一个关系关系操作:对象与结果都是集合3.1.1关系模型的概念教材第32页008/103关系操作分为查询操作与更新操作两部分查询选择、投影、连接、除、并、交、差等插入Insert删除Delete修改Update关系操作的特点:操作对象和操作结果都是集合。3.1.2关系模型的数据结构3.1.2关系模型的数据结构教材第32页009/1033.1.2关系模型的数据结构域与笛卡尔积关系与关系模式基本关系的性质定义是主线,表3-1是贯穿术语的教材例子。域的定义:同一数据类型的值的集合3.1.2关系模型的数据结构教材第33页010/103教材定义域的定义:域是一组具有相同数据类型的值的集合。整数、正数、负数、字符串(男,女)(苹果、橙子、香蕉、菠萝、西瓜)笛卡尔积的定义:从多个域中组合元组3.1.2关系模型的数据结构教材第32页011/103笛卡尔积的定义:给定域D₁,D₂,…,Dₙ,它们的笛卡尔积是所有可能组合的集合。D₁×D₂×…×Dₙ={(d₁,d₂,…,dₙ)|dᵢ∈Dᵢ}每个元素是一个n元组每个dᵢ是一个分量元组、分量与二维表3.1.2关系模型的数据结构教材第33页012/103笛卡尔积可以表示为二维表元组表中的每一行对应一个元组分量元组中的每一个值称为分量域表中的每一列对应一个域从多个域中各取一个值,按顺序组成一个元组。关系的定义:笛卡尔积的有意义子集3.1.2关系模型的数据结构教材第33页013/103教材定义关系的定义:笛卡尔积D₁×D₂×…×Dₙ的子集,叫作在域D₁,D₂,…,Dₙ上的关系。记作R(D₁,D₂,…,Dₙ)R是关系名n是关系的目或度关系的目与属性3.1.2关系模型的数据结构教材第33页014/103同一概念需要同时从“数学”和“表”两个角度理解目或度n目关系具有n个属性属性每列必须有唯一名称特殊情况n=1为单元关系;n=2为二元关系域可以相同,但不同属性必须使用不同属性名。教材表3-1:食品信息表3.1.2关系模型的数据结构教材第33—34页015/103教材用食品信息表说明关系模型中的术语食品编号食品名称食品介绍食品价格所属商家编号1001牛肉汉堡100%纯牛肉58.5011002鸡肉沙拉烤鸡肉48.5021003小龙虾麻辣口味88.503…………………………这张二维表既是“表”,也是一个“关系”。关系模型的八个常用术语3.1.2关系模型的数据结构教材第33页016/103教材围绕表3-1给出八个常用术语关系元组属性域分量主码关系模式关系数据库关系、元组与属性3.1.2关系模型的数据结构教材第33页017/103关系对应通常所说的一张二维表元组表中的一行属性表中的一列;每个属性都有属性名“一张表—一行—一列”分别对应“关系—元组—属性”。域、分量与主码3.1.2关系模型的数据结构教材第33页018/103域属性的取值范围分量元组中的一个属性值主码能唯一确定一个元组,且不含多余属性的属性或属性组主码的核心作用:唯一标识关系中的一个元组。关系模式的定义:描述关系的结构3.1.2关系模型的数据结构教材第33页019/103教材定义关系模式的定义:关系模式是对关系的结构性描述,即关系包括哪些属性。一般形式关系名(属性₁,属性₂,…,属性ₙ)食品信息表的关系模式3.1.2关系模型的数据结构教材第33页020/103食品信息表(食品编号,食品名称,食品介绍,食品价格,所属商家编号)关系名:食品信息表括号内:该关系的全部属性关系数据库的定义:关系的集合3.1.2关系模型的数据结构教材第34页021/103教材定义关系数据库的定义:关系数据库是关系的集合。foodbusinessorders……基本关系的六条性质3.1.2关系模型的数据结构教材第33—34页022/103基本关系具有六条性质①列同质②属性名唯一③列序无关④元组不重复⑤行序无关⑥分量原子化六条性质共同限定什么样的二维表才是规范的关系。性质1—2:列同质,属性名唯一3.1.2关系模型的数据结构教材第34页023/103性质1:列同质•每列中的分量属于同一类型•每列中的分量来自同一个域性质2:属性名唯一•不同列可以来自同一个域•不同属性必须有不同属性名同一列要同质,不同列要能用属性名区分。性质3与5:行列次序可以交换3.1.2关系模型的数据结构教材第33—34页024/103性质3:列序无关•列的次序可以任意交换•交换列不改变关系本身性质5:行序无关•元组的次序可以交换•交换行不改变关系本身关系是集合:集合中的元素没有固定排列次序。性质4:任意两个元组不能完全相同3.1.2关系模型的数据结构教材第34页025/103性质4:关系中的任意两个元组不能完全相同1一个关系不允许出现内容完全相同的两行。2投影操作可能产生重复行,因此投影结果必须删除重复元组。不能只看“表格能否显示重复行”,要看它是否仍满足关系的要求。性质6:分量必须是原子值3.1.2关系模型的数据结构教材第34页026/103教材定义原子值要求:关系中的每一个分量都必须是不可再分的数据项。一个单元格:一个不可再分的值不是列表不是嵌套表规范化最基本的要求3.1.2关系模型的数据结构教材第34页027/103关系模型要求关系必须是规范化的1关系模式必须满足一定的规范化条件。2这些条件中最基本的一条:每一个分量必须是不可分的数据项。3后续章节将继续讨论更系统的关系规范化问题。当前先牢牢记住:关系中的单元格必须取原子值。3.1暂停检查3.1.2关系模型的数据结构教材第33页028/103不看教材,能否完成下面四项判断?域为什么域中的值必须具有相同数据类型?关系关系与二维表是什么关系?主码主码怎样唯一确定一个元组?原子值为什么一个分量不能再分?能用自己的话回答后,再进入关系代数。3.2关系代数3.2关系代数|传统集合运算教材第34—35页029/1033.2关系代数传统集合运算专门的关系运算教材例3.1—例3.7关系代数是本章重点:每一步都把关系变成新关系。关系代数的定义:抽象的过程查询语言3.2关系代数|传统集合运算教材第34页030/103教材定义关系代数的定义:关系代数是一种抽象的过程查询语言,是施加于关系的一组集合运算。一个或多个关系作为运算对象生成一个关系作为运算结果关系代数的闭包性3.2关系代数|传统集合运算教材第35页031/103关系代数具有“闭包性”1输入:一个或多个关系。2运算:集合运算或专门的关系运算。3输出:仍然是一个关系。因为结果仍是关系,所以多个关系代数运算可以继续组合。本节使用的三个关系模式3.2关系代数|传统集合运算教材第34—35页032/103教材后续例题主要使用三个数据表foodfoodId,foodNamefoodExplain,foodPricebusinessIdbusinessbusinessIdbusinessNamebusinessAddressbusinessExplainstarPrice,deliveryPriceordersorderId,orderDateorderTotal,orderStateuserId,daId,businessId每次写关系代数表达式前,先确认属性属于哪个关系。教材表3-2:food3.2关系代数|传统集合运算教材第34页033/103foodIdfoodNamefoodExplainfoodPricebusinessId1001牛肉汉堡100%纯牛肉58.5011002鸡肉沙拉烤鸡肉48.5011003小龙虾麻辣口味88.503…………………………注意:教材表3-2中前两条食品都属于businessId=1。教材表3-3:business3.2关系代数|传统集合运算教材第34页034/103businessIdbusinessNamebusinessAddressbusinessExplainstarPricedeliveryPrice1快乐快餐蓝海路1号快餐20.005.002健康轻食蓝海路2号轻食30.006.003辣味轩蓝海路3号川菜25.005.50例3.5将从business中选择“辣味轩”。教材表3-4:orders3.2关系代数|传统集合运算教材第34—35页035/103orderIdorderDateorderTotalorderStateuserIddaIdbusinessId243312025.1.11121.500T1221311243322025.1.12150.500T1231322243332025.1.13171.500T1241343243342025.1.14124.501T1251343例3.2(2)使用daId=134且orderState=1。关系代数运算符的四类3.2关系代数|传统集合运算教材第35页036/103关系代数使用的运算符包括四类集合运算符并、交、差、笛卡尔积专门关系运算符选择、投影、连接、除算术比较符>、≥、<、≤、=、≠逻辑运算符¬、∧、∨比较运算符与逻辑运算符通常和专门关系运算符一起使用。两大运算类别:集合运算与专门运算3.2关系代数|传统集合运算教材第34页037/103传统集合运算•并、交、差、笛卡尔积•二目运算•主要从行的角度进行专门关系运算•选择、投影、连接、除•涉及二维表的行和列•用于实际查询操作两大类运算共同构成关系代数的核心工具。传统集合运算的前提3.2关系代数|传统集合运算教材第34页038/103并、差、交要求R与S具有相同的关系模式1属性个数一致。2对应属性来自相同的域。3满足相容条件后,才能比较或合并元组集合。先检查“能不能运算”,再讨论“运算结果是什么”。并运算的定义3.2关系代数|传统集合运算教材第35页039/103教材定义并运算的定义:R与S的并,是由属于R或属于S的元组组成的集合。记作R∪S“或”关系重复元组只保留一次差运算的定义3.2关系代数|传统集合运算教材第35页040/103教材定义差运算的定义:R与S的差,是由属于R但不属于S的元组组成的集合。记作R−S有方向性R−S与S−R通常不同交运算的定义3.2关系代数|传统集合运算教材第35页041/103教材定义交运算的定义:R与S的交,是由既属于R又属于S的元组组成的集合。记作R∩S“并且”关系只保留共同元组广义笛卡尔积的定义3.2关系代数|传统集合运算教材第34页042/103教材定义广义笛卡尔积的定义:R×S将R中每个元组与S中每个元组组合,得到新的元组集合。列数:r+s元组数:m×n记作R×S教材图3-1:传统集合运算举例3.2关系代数|传统集合运算教材第35页043/103教材图3-1传统的集合运算举例先识别输入关系R、S,再逐一观察(c)—(f)的结果。图3-1(c):并运算3.2关系代数|传统集合运算教材第35页044/103并运算:把属于R或属于S的元组合并,并删除重复元组。R∪S图3-1(c)包含R和S中出现过的所有不同元组结果共有4个元组图3-1(d)(e):差与交3.2关系代数|传统集合运算教材第35页045/103图3-1(d):R−S•只保留属于R但不属于S的元组•结果为(a1,b1,c1)图3-1(e):R∩S•只保留R与S的共同元组•共同元组:(a1,b2,c2)(a2,b2,c1)差关注“只在R中”,交关注“同时在R和S中”。图3-1(f):笛卡尔积3.2关系代数|传统集合运算教材第35页046/103笛卡尔积:R中每个元组分别与S中每个元组连接。|R×S|=|R|×|S|=3×3=9每个结果元组含6个分量图3-1(f)共有9个结果元组传统集合运算小结3.2关系代数|传统集合运算教材第35页047/103四种传统集合运算的关键词并∪或差−在R但不在S交∩并且积×两两组合并、差、交先要求同构;笛卡尔积不要求同构。专门的关系运算3.2关系代数|选择与投影教材第35—36页048/103专门的关系运算用于实际查询选择σ选行投影π选列并去重连接⋈按条件匹配两个关系除÷表达“全部包含”后续按“定义—表达式—教材例题—结果表”逐项学习。选择操作的定义:按条件选取元组3.2关系代数|选择与投影教材第36页049/103教材定义选择操作的定义:选择作用在一个关系上,按给定条件选出符合条件的元组。一元关系操作记作σF(R)从行的角度进行选择条件F的组成3.2关系代数|选择与投影教材第36页050/103选择条件F是取值为true或false的逻辑表达式1逻辑运算符:¬、∧、∨。2算术比较符:>、≥、<、≤、=、≠。3基本形式:X₁θY₁;属性名也可以用序号代替。只有使F为真的元组,才进入选择结果。选择是从“行”的角度进行运算3.2关系代数|选择与投影教材第35—36页051/103σF(R)={t|t∈R∧F(t)=true}输入:关系R判断:每个元组是否满足F输出:满足条件的元组集合例3.2:两项选择任务3.2关系代数|选择与投影教材第36页052/103教材例3.2包含两个选择查询例3.2(1)查找食品名称为“牛肉汉堡”的食品信息例3.2(2)查找送货地址编号为134的已支付订单信息先写条件,再决定条件作用于哪个关系。例3.2(1):查找牛肉汉堡3.2关系代数|选择与投影教材第34页053/103σfoodName='牛肉汉堡'(food)或σ2='牛肉汉堡'(food)属性名写法:foodName序号写法:第2列教材表3-5:例3.2(1)结果3.2关系代数|选择与投影教材第34页054/103选择结果只保留foodName为“牛肉汉堡”的元组foodIdfoodNamefoodExplainfoodPricebusinessId1001牛肉汉堡100%纯牛肉58.501表3-5仍然是一个关系。例3.2(2):查找已支付订单3.2关系代数|选择与投影教材第34—36页055/103σdaId=134∧orderState=1(orders)条件1:daId=134条件2:orderState=1两个条件用∧连接教材表3-6:例3.2(2)结果3.2关系代数|选择与投影教材第34—35页056/103同时满足两个条件的订单只有一条orderIdorderDateorderTotalorderStateuserIddaId243342025.1.14124.501T125134orderState=1表示已支付。选择操作暂停检查3.2关系代数|选择与投影教材第35页057/103选择操作检查方向选择主要改变行数,不改变属性列条件F为真:保留;F为假:舍弃输入一个关系输出仍然是一个关系看到σ,先读下标条件,再读括号中的关系。投影操作的定义:选取关系的某些列3.2关系代数|选择与投影教材第36页058/103教材定义投影操作的定义:投影也是一元关系操作;投影操作选取关系的某些列。输入:一个关系指定:若干属性列输出:删除重复行后的新关系投影产生新关系的两个步骤3.2关系代数|选择与投影教材第36页059/103投影运算分两步产生一个新关系1选择指定的属性,形成一个可能含有重复行的表。2删除重复行,得到满足关系要求的新关系。投影不是简单地“隐藏列”:它还必须处理重复元组。投影操作的记法3.2关系代数|选择与投影教材第36页060/103πAᵢ₁,Aᵢ₂,…,Aᵢₘ(R)π的下标:要保留的属性括号:被投影的关系属性名也可以用序号表示例3.3:两项投影任务3.2关系代数|选择与投影教材第36页061/103教材例3.3包含两个投影查询例3.3(1)从食品关系中查找所有食品名称和价格例3.3(2)查询商家关系中有哪些商家,即在编号属性上投影先确定“要哪些列”,再写π的下标。例3.3:关系代数表达式3.2关系代数|选择与投影教材第36—37页062/103πfoodName,foodPrice(food)或π2,4(food)πbusinessId(business)或π1(business)第一式保留食品名称与价格第二式保留商家编号教材表3-7:食品名称与价格3.2关系代数|选择与投影教材第36—37页063/103从food中投影foodName与foodPricefoodNamefoodPrice牛肉汉堡58.50鸡肉沙拉48.50小龙虾88.50…………结果关系只包含两列。教材表3-8:商家编号投影3.2关系代数|选择与投影教材第36—37页064/103从business中投影businessIdbusinessId123……投影后只保留商家编号属性。投影结果为什么要删除重复元组?3.2关系代数|选择与投影教材第36页065/103投影结果可能出现内容完全相同的若干元组1基本关系不允许出现完全相同的元组。2因此,投影结果中的重复元组只能保留一个。3“删除重复”是投影操作定义的一部分。投影=选列+去重。选择与投影的组合3.2关系代数|选择与投影教材第36—37页066/103选择与投影组合:先选择快餐商家,再投影商家名称。πbusinessName(σbusinessExplain='快餐'(business))先执行内层σ再执行外层π选择与投影暂停检查3.2关系代数|选择与投影教材第36页067/103选择σ•按条件选择元组•主要改变行•关键词:选行投影π•选取指定属性•主要改变列并去重•关键词:选列读表达式时从最内层关系开始,按括号由内向外执行。连接操作的定义:从积中选出匹配元组3.2关系代数|连接教材第37页068/103教材定义连接操作的定义:连接是二元关系操作,从R×S中选择两个关系的属性值满足比较关系的元组。输入:R与S先形成R×S再按AθB选择连接与笛卡尔积的区别3.2关系代数|连接教材第36页069/103笛卡尔积R×S•包含两关系所有元组组合•不附加匹配条件•结果通常较大连接R⋈S•从R×S中选择满足条件的元组•附加属性比较条件•只保留匹配组合连接不是“另一个积”,而是“积之后按条件选择”。等值连接的定义3.2关系代数|连接教材第37页070/103教材定义等值连接的定义:如果连接条件是两个关系中的两个属性进行相等比较,则称为等值连接。连接条件使用=结果保留两个连接属性列例3.4:businessId相等自然连接的定义3.2关系代数|连接教材第37页071/103教材定义自然连接的定义:自然连接要求比较同名属性的相等值,并在结果中去掉重复的属性列。同名属性相等比较去掉重复列自然连接同时涉及行和列3.2关系代数|连接教材第37页072/103一般连接•主要从行的角度运算•选择满足连接条件的元组自然连接•既处理行,也处理列•还要取消重复属性列自然连接中的连接属性通常是外键与被参照关系的主键。例3.4:关系R与S3.2关系代数|连接教材第36—37页073/103教材例3.4使用business与food的部分属性构造R、S(a)关系RbusinessIdbusinessName1快乐快餐2健康轻食3辣味轩(b)关系SbusinessIdfoodNamefoodPrice1牛肉汉堡58.502鸡肉沙拉48.503小龙虾88.50R与S的共同属性是businessId。例3.4:等值连接与自然连接3.2关系代数|连接教材第37页074/103等值连接:R⋈R.businessId=S.businessIdS自然连接:R⋈S等值连接显式写出比较条件自然连接通常省略同名属性条件教材表3-10(a):等值连接结果3.2关系代数|连接教材第37—38页075/103等值连接保留两个businessId属性列R.businessIdbusinessNameS.businessIdfoodNamefoodPrice1快乐快餐1牛肉汉堡58.502健康轻食2鸡肉沙拉48.503辣味轩3小龙虾88.50两个连接属性值相等,但两列都保留。教材表3-10(b):自然连接结果3.2关系代数|连接教材第37—38页076/103自然连接去掉重复的businessId属性列businessIdbusinessNamefoodNamefoodPrice1快乐快餐牛肉汉堡58.502健康轻食鸡肉沙拉48.503辣味轩小龙虾88.50同名连接属性只保留一列。等值连接与自然连接对比3.2关系代数|连接教材第37页077/103等值连接•相等条件•连接属性可以不同名•保留两个连接属性列自然连接•同名属性相等•通常省略条件•去掉重复属性列自然连接是满足更严格要求的等值连接。例3.5:查询辣味轩食品价格3.2关系代数|连接教材第38页078/103例3.5:查询用户在辣味轩所购食品价格教材原式同时使用选择、自然连接和投影按括号由内向外读表达式例3.5:按运算顺序拆解3.2关系代数|连接教材第37—38页079/103例3.5的运算顺序1在business中选择businessName='辣味轩'的元组。2通过businessId与food进行自然连接。3从连接结果中投影businessId和foodPrice。选择缩小行,连接补齐跨表信息,投影保留所需列。除操作:先理解“像集”3.2关系代数|除操作教材第37页080/103除操作用于表达“全部包含”的查询第一步先理解某个值在另一些属性上的“像集”第二步判断像集是否包含除数关系的投影例3.6回答“哪些A值覆盖了S在(B,C)上的全部要求”。像集的定义3.2关系代数|除操作教材第38页081/103像集的定义:固定X上的值x,收集相应元组在Z上的分量集合固定:r[X]=x收集:r[Z]得到:x在R中的像集Zₓ除运算的定义3.2关系代数|除操作教材第37页082/103除运算的定义:寻找像集能够包含S在Y上投影的X值R(X,Y)提供候选XS在Y上的投影提供必须全部满足的Y值例3.6:关系R、S与R÷S3.2关系代数|除操作教材第38页083/103教材表3-11把R、S与R÷S并列展示R.AR.BR.CS.BS.CS.DR÷S.Aa1b1c2b1c2d1a1a2b3c7b2c1d1a3b4c6b2c3d2a1b2c3a4b6c6a2b2c3a1b2c1例3.6:a1与a2的像集3.2关系代数|除操作教材第39页084/103先按A的不同取值分组,计算像集1a1的像集:{(b1,c2),(b2,c3),(b2,c1)}2a2的像集:{(b3,c7),(b2,c3)}像集只保留与固定A值对应的(B,C)组合。例3.6:a3、a4与S上的投影3.2关系代数|除操作教材第39页085/103继续比较其余像集与S在(B,C)上的投影1a3的像集:{(b4,c6)}2a4的像集:{(b6,c6)}3S在(B,C)上的投影:{(b1,c2),(b2,c3),(b2,c1)}判断标准是“包含全部投影元素”,不是只包含其中一个。例3.6:为什么结果只有a1?3.2关系代数|除操作教材第38页086/103例3.6的结论:只有a1的像集包含S在(B,C)属性组上的全部投影。R÷S={a1}a1:全部包含a2、a3、a4:至少缺少一个要求例3.7:至少制作两种汉堡的商家3.2关系代数|除操作教材第38—39页087/103例3.7:找出至少制作“牛肉汉堡”和“鸡肉汉堡”的商家临时关系KfoodName牛肉汉堡鸡肉汉堡查询要求商家必须同时覆盖K中列出的两种食品名称“至少制作这两种”正是除法表达的“全部包含”。例3.7:关系代数表达式与步骤3.2关系代数|除操作教材第37—38页088/103例3.7的教材表达式先投影businessId与foodName再除以临时关系K关系代数综合小结3.2关系代数|除操作教材第38页089/103专门关系运算的四个核心动作σ选择选行π投影选列并去重⋈连接匹配两个关系÷除全部包含复杂查询通常由多个基本运算按括号组合而成。3.3关系完整性约束3.3关系完整性约束教材第39页090/1033.3关系完整性约束实体完整性参照完整性用户定义完整性完整性约束回答:什么数据可以进入关系数据库?实体完整性的定义:避免重复行3.3关系完整性约束教材第39页091/103教材定义实体完整性的定义:基本关系的所有主关键字对应的主属性都不能取空值。用户编号不能为空订单编号不能为空设置主键避免重复行参照完整性的定义:保持表间一致3.3关系完整性约束教材第39页092/103教材定义参照完整性的定义:引用其他关系主关键字的属性值,必须在被参照关系中确实存在。订单.userId引用用户.用户编号订单中的用户编号必须真实存在删除被引用对象时如何处理?3.3关系完整性约束教材第39页093/103删除被引用的用户元组之前,必须处理引用它的订单删除引用对象先删除所有引用该用户的订单元组设置为空如果业务和属性定义允许,可把引用值设置为空不能让订单中的用户编号指向一个不存在的用户。用户定义完整性的定义3.3关系完整性约束教材第39—40页094/103教材定义用户定义完整性的定义:针对具体应用环境定义约束条件,反映数据必须满足的语义要求。订单状态只取0或1用户性别只取0或1由关系模型统一定义和检

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论