欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    [理学]sql-课件-第2章-关系模型.ppt

    • 资源ID:79179678       资源大小:884KB        全文页数:82页
    • 资源格式: PPT        下载积分:30金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要30金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [理学]sql-课件-第2章-关系模型.ppt

    山东财政学院计算机信息工程学院第二章第二章 关系模型关系模型 本章主要介绍介绍关系模型的基本概念及常用术本章主要介绍介绍关系模型的基本概念及常用术语、关系模型的完整性约束和关系代数操作。语、关系模型的完整性约束和关系代数操作。山东财政学院计算机信息工程学院第二章关系模型n2.1 关系模型的基本概念n2.2 关系代数n2.3*关系演算n2.4 关系约束山东财政学院计算机信息工程学院2.1 关系模型的基本概念n2.1.1关系的定义n2.1.2关系模式n2.1.3关系模型的定义关系模型n关系模型是建立在一种称为“关系理论”的数学理论基础上,E.F.Codd就是以“关系理论”的形式提出关系模型的。n关系理论一般由两部分组成,即关系模型的数学表示与关系模式的规范化理论。前者给出了关系模型的代数方式或逻辑方式的数学表示,为关系模型研究提供有效的数学工具支撑。后者则对数据库设计提供理论指导。山东财政学院计算机信息工程学院山东财政学院计算机信息工程学院基本概念n关系关系:是二维表的一个抽象,是一种规范化了的二维表。n列的名字称为属性属性(attribute)。n每个属性都有一个取值范围,这个取值范围称为属性的值域值域(domain)。n表中的一行称为元组元组,它对应各个属性的某个具体属性值。n元组的集合就称为关系关系。山东财政学院计算机信息工程学院基本概念n超超码码:在一个关系中,能唯一标识元组的属性集称为关系的超码。n候候选选码码:如果一个属性集能唯一地标识元组,且又不含有多余属性,那么这个属性集称为候选码。n主主码码:用户可以指定一个候选码为主码,即用户正在使用的候选码称为主码。山东财政学院计算机信息工程学院在关系模型中的关系规范性限制:n关系中的每一个属性值都是不可分解的。n关系中不允许出现完全相同的元组。n由于关系是一个集合,因此不考虑元组间的顺序。n关系中的属性理论上也是无序的,但使用时按习惯考虑列的顺序。山东财政学院计算机信息工程学院2.1.2 关系模式n在数据库中要区分型型与值值。关系数据库中,关系模式是型,关系是值。n一般地,关系模式关系模式由组成关系的属性序列、各属性的值域以及各属性之间的依赖关系构成。n关系是关系模式在某一时刻的状态或内容。n关系模式是静态的、稳定的,而关系是动态的,随时间关系模式是静态的、稳定的,而关系是动态的,随时间不断更新变化的。不断更新变化的。n基于关系模型的数据库管理系统遵循三级体系结构:物理模式、逻辑模式和用户模式。其中逻辑模式就是关系模式的集合,也称为关系数据库模式。山东财政学院计算机信息工程学院Account(Account(account_numberaccount_number,branch_namebranch_name,balance),balance)Branch(Branch(branch_namebranch_name,branch_citybranch_city,assets),assets)Customer(Customer(customer_namecustomer_name,customer_streetcustomer_street,customer_citycustomer_city)Deposits(Deposits(customer_namecustomer_name,account_numberaccount_number)Loan(Loan(loan_numberloan_number,branch_namebranch_name,amount),amount)Borrows(Borrows(customer_namecustomer_name,loan_numberloan_number)关系模式集山东财政学院计算机信息工程学院account_number(账号)branch-name(开户支行名称)balance(余额)A101市中支行5 000A215舜耕支行7 000A102经七路支行4 000A305解放支行3 500A201栈桥支行9 000A202铁路支行7 000A217栈桥支行7 500Account(账户)关系山东财政学院计算机信息工程学院branch_name(支行名称)branch_city(支行所在地)assets(资产额)栈桥支行青岛7 100 000市中支行青岛9 000 000舜耕支行济南400 000北园支行泰安3 700 000经七路支行济南1 700 000和平支行济宁300 000铁路支行枣庄100 000解放支行济南8 000 000Branch(支行)关系山东财政学院计算机信息工程学院customer_name(客户名)customer_street(客户所在街道)customer_city(客户所在城市)李勇迎春路威海钱小平市府前街青岛吴宾北大街泰安张爱国泺源大街东营张力经纬路烟台刘晨满庭芳路淄博王敏泗水路枣庄赵维满庭芳路淄博孙大庆珍珠塔路威海刘伟北大街泰安于童漱玉路烟台刘建风筝路潍坊Customer(客户)关系山东财政学院计算机信息工程学院customer_name(客户名)account_number(账号)刘晨A 102王敏A 101王敏A 201赵维A 217孙大庆A 202刘伟A 215于童A 305Deposits(储蓄)关系山东财政学院计算机信息工程学院loan_number(贷款号)branch_name(支行名称)amount(金额)L-11解放支行9 000L-14市中支行15 000L-15经七路支行15 000L-16经七路支行13 000L-17市中支行10 000L-23铁路支行20 000L-93舜耕支行5 000Loan(贷款)关系山东财政学院计算机信息工程学院customer_name(客户名)loan_number(贷款号)李勇L-16吴宾L-93刘晨L-15林志伟L-14赵维L-17刘伟L-11刘伟L-23刘建L-17Borrows(借贷)关系山东财政学院计算机信息工程学院2.1.3 关系模型的定义 关系模型由三部分组成:数据结构数据结构、数据操作数据操作和完整性约束完整性约束。n关系模型的数据结构非常单一。在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。在用户看来,关系模型中数据的逻辑结构是二维表格。n关系模型支持对数据库中数据的各种操作,这些操作称为关系代数操作。n关系模型允许定义四类完整性约束,即域域完完整整性性约约束束、实实体体完整性约束完整性约束、引用完整性约束引用完整性约束和用户定义完整性约束用户定义完整性约束,山东财政学院计算机信息工程学院关系模型的优点 n关系模型提供单一的数据结构形式,具有高度的简明性和精确性。n关系模型的逻辑结构和相应的操作完全独立于数据的存储方式,具有高度的数据独立性。n关系模型使数据库的研究建立在比较坚实的数学基础上。n关系数据库语言与一阶谓词逻辑的固有内在联系。山东财政学院计算机信息工程学院2.2 关 系 代 数n早期的关系操作能力由关系代数和关系演算表示。n关系代数、元组关系演算和域关系演算三种语言表达能力等价,是抽象语言,用作评估实际系统中语言能力的标准。n关系代数操作以关系作为操作对象,关系操作的结果仍为关系,可以再参与其他关系操作,由此可以构成对关系的各种复杂操作。n基本操作:选择、投影、并、差、笛卡尔积n附加的操作:交、自然连接、除山东财政学院计算机信息工程学院2.2.1 基本操作 n选择n投影n并n差n笛卡儿积山东财政学院计算机信息工程学院一、选择n选择选择操作从一个关系中选出满足给定条件的元组。n可以表示为 ()n选择运算是从行的角度进行的运算nn通常,在选择条件中使用=,进行比较构成简单布尔表达式,并且可以用连词与与()、或或()和非非()将多个简单布尔表达式连接起来。山东财政学院计算机信息工程学院例子n例如,选择贷款额大于12000元并由经七路支行发放的贷款 branch_name=经七路支行经七路支行 amount12000(Loan)loan_number(贷款号)branch_name(支行名称)amount(金额)L-15经七路支行15 000L-16经七路支行13 000山东财政学院计算机信息工程学院二、投影 n投投影影操作选取关系的某些列。如果只对关系的某些属性感兴趣,则可用投影操作去掉那些不必要的属性。n投影操作可以表示为()n投影操作主要是从列的角度进行运算n经投影操作后,结果中很可能出现重复元组山东财政学院计算机信息工程学院例子n例如,查询Loan关系中所有贷款号及其金额。nloan_numberloan_number,amount,amount(Loan)loan_number(贷款号)amount(金额)L-119 000L-1415 000L-1515 000L-1613 000L-1710 000L-2320 000L-935 000相关符号nR,tR,tAin设关系模式为R(A1,A2,An)n它的一个关系设为R。tR表示t是R的一个元组ntAi则表示元组t中相应于属性Ai的一个分量相关符号nA,tA,A若A=Ai1,Ai2,Aik,其中Ai1,Ai2,Aik是A1,A2,An中的一部分,则A称为属性列或域列。tA=(tAi1,tAi2,tAik)表示元组t在属性列A上诸分量的集合。A则表示A1,A2,An中去掉Ai1,Ai2,Aik后剩余的属性组。ntrts R为n目关系,S为m目关系。trR,tsS,trts称为元组的连接元组的连接。它是一个n+m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。相关符号山东财政学院计算机信息工程学院三、并n做并并操作的两个关系必须是相容的。也就是说,参加集合并操作的两个关系必须限制为同类型的,即具有相同属性个数,并且对应的属性的域相同。nR和Sn具有相同的目n(即两个关系都有n个属性)n相应的属性取自同一个域nRSn仍为n目关系,由属于R或属于S的元组组成RS=t|t Rt S 并ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSRS 山东财政学院计算机信息工程学院例子n例如:找出所有的有贷款或有账户或二者兼有的银行客户。ncustomer_name(Borrows)customer_name(Deposits)customer_name李勇吴宾刘晨林志伟赵维刘伟刘建孙大庆王敏于童山东财政学院计算机信息工程学院四、差n差差操作可以找出在一个关系中而不在另一个关系中的那些元组。n做差操作的两个关系也必须是相容的。nR和Sn具有相同的目nn相应的属性取自同一个域nR-Sn仍为n目关系,由属于R而不属于S的所有元组组成R-S=t|tRtS差ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S 山东财政学院计算机信息工程学院例子n例如,找出所有在银行有账户而无贷款的客户ncustomer_name(Deposits)customer_name(Borrows)Customer_name王敏孙大庆于童山东财政学院计算机信息工程学院五、笛卡儿积 n用表示的笛卡儿积操作可以将任意两个关系的信息组合在一起,注意参与笛卡儿积操作的两个关系不必是相容的。nRnn目关系,k1个元组nSnm目关系,k2个元组nRSn列:(n+m)列的元组的集合n元组的前n列是关系R的一个元组n后m列是关系S的一个元组n行:k1k2个元组nRS=trts|trRtsS笛卡儿积 笛卡儿积ABCa1b1c1a1b2c2a2b2c1R.AR.B R.Ca1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR S S.A S.B S.Ca1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1customer_nameBorrows.loan_numberLoan.loan_numberbranch_nameamount李勇L-16L-11解放路支行 9 000李勇L-16L-14市中支行15 000李勇L-16L-15经七路支行15 000李勇L-16L-16经七路支行13 000李勇L-16L-17市中支行10 000李勇L-16L-23和平路支行20 000李勇L-16L-93舜耕路支行 5 000吴宾L-93L-11解放路支行 9 000吴宾L-93L-14市中支行15 000吴宾L-93L-15经七路支行15 000吴宾L-93L-16经七路支行13 000吴宾L-93L-17市中支行10 000山东财政学院计算机信息工程学院例子n例如:要找出所有在经七路支行有贷款的客户姓名。ncustomer_name(Borrows.loan_number=Loan.loan_number(branch_name=经七路支行经七路支行(BorrowsLoan)customer_name李勇刘晨山东财政学院计算机信息工程学院2.2.2 附加的操作 n交n自然连接n除山东财政学院计算机信息工程学院一、交n集合运算中的交交运算也可以用于关系。nR和Sn具有相同的目nn相应的属性取自同一个域nRSn仍为n目关系,由既属于R又属于S的元组组成 RS=t|t Rt S RS=R(R-S)n交操作可以用基本操作中的差操作来表示交操作可以用基本操作中的差操作来表示。关系R和S的交用差操作可以表示为RSR(RS)交ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR S 山东财政学院计算机信息工程学院例子n例如,找出所有在银行既有账户又有贷款的客户ncustomer_name(Borrows)customer_name(Deposits)Customer_name刘晨赵维刘伟山东财政学院计算机信息工程学院二、自然连接n自然连接自然连接操作首先进行作为其操作对象的两个关系的笛卡儿积操作,然后基于两个关系的公共属性上的相等性进行选择操作,最后去除重复属性。n自然连接用符号 表示。n两个关系中进行比较的分量必须是相同的属性组n在结果中把重复的属性列去掉n R和S具有相同的属性组BRS=|trRtsStrB=tsBtr tsABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52RS自然连接R S ABCEa1b153a1b267a2b3810a2b382 山东财政学院计算机信息工程学院例子n例如,找出所有在银行中有贷款的客户姓名及相应贷款号和贷款金额customer_name,Loan.loan_number,amount(Borrows loan)山东财政学院计算机信息工程学院例子n找出居住在淄博并在银行中有账户的客户的开户支行名称branch_name(customer_city=淄博淄博(Customer Account Deposits)山东财政学院计算机信息工程学院例子n找出所有在银行中既有贷款又有账户的客户customer_name(BorrowsDeposits)山东财政学院计算机信息工程学院三、除 n除操作用符号表示,适合于包含短语“对所有的对所有的”的查询。n除操作是同时从行和列角度进行运算RS象集Z给定一个关系R(X,Z),X和Z为属性组。当tX=x时,x在R中的象集(ImagesSet)为:Zx=tZ|t R,tX=x 它表示R中属性组X上值为x的诸元组在Z上分量的集合。象集ZABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1c2d1b2c1d1b2c3d2RS在关系在关系R中,中,A可以取四个值可以取四个值a1,a2,a3,a4 a1的象集为的象集为(b1,c2),(b2,c3),(b2,c1)a2的象集为的象集为(b3,c7),(b2,c3)a3的象集为的象集为(b4,c6)a4的象集为的象集为(b6,c6)除给定关系给定关系R(X,Y)和和S(Y,Z),其中其中X,Y,Z为属性组。为属性组。R中的中的Y与与S中的中的Y可以有不同的属性名,但必须出自相同可以有不同的属性名,但必须出自相同的域集。的域集。R与与S的除运算得到一个新的关系的除运算得到一个新的关系P(X),P是是R中满足下列条件的元组在X属性列上的投影:元组在属性列上的投影:元组在X上分上分量值量值x的象集的象集Yx包含包含S在在Y上投影的集合。上投影的集合。RS=trX|trRY(S)YxYx:x在在R中的象集,中的象集,x=trX除ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1c2d1b2c1d1b2c3d2RSAa1RS分析:在关系在关系R中,中,A可以取四个值可以取四个值a1,a2,a3,a4 a1的象集为的象集为(b1,c2),(b2,c3),(b2,c1)a2的象集为的象集为(b3,c7),(b2,c3)a3的象集为的象集为(b4,c6)a4的象集为的象集为(b6,c6)S在在(B,C)上的投影为上的投影为 (b1,c2),(b2,c1),(b2,c3)只有只有a1的象集包含了的象集包含了S在在(B,C)属性组上的投影属性组上的投影所以RS=a1山东财政学院计算机信息工程学院例子n查找在青岛所有支行都有账户的客户名称。ncustomer_name,branch_name(DepositsAccount)branch_name(branch_city=青岛青岛(Branch)branch_name(支行名称)branch_city(支行所在地)assets(资产额)栈桥支行青岛7 100 000市中支行青岛9 000 000舜耕支行济南400 000北园支行泰安3 700 000经七路支行济南1 700 000和平支行济宁300 000铁路支行枣庄100 000解放支行济南8 000 000branch_name(branch_city=“青岛青岛”(Branch)branch_name(支行名称)栈桥支行市中支行customer_name,branch_name(DepositsAccount)customer_namebranch_name刘晨经七路支行王敏市中支行王敏栈桥支行赵维栈桥支行孙大庆和平支行刘伟舜耕支行于童解放支行ncustomer_name可以取六个值刘晨、王敏、赵维、孙大庆、刘伟、于童 刘晨的象集为刘晨的象集为 经经七路支行七路支行王敏王敏的象集为的象集为 市中支行,市中支行,栈桥栈桥支行支行赵维赵维的象集为的象集为 栈桥栈桥支行支行孙孙大大庆庆的象集为的象集为 和平支行和平支行 刘刘伟伟的象集为的象集为 舜耕支行舜耕支行 于童于童的象集为的象集为 解放支行解放支行nbranch_name(branch_city=“青岛青岛”(Branch)栈桥栈桥支行,市中支行支行,市中支行 只有刘晨的象集包含了只有刘晨的象集包含了栈桥栈桥支行,市中支行支行,市中支行 所以所以 customer_name,branch_name(Deposits Account)branch_name(branch_city=青岛青岛(Branch)=刘晨刘晨 2.3关系演算n按谓词变元不同分类n元组关系演算n以元组变量作为谓词变元的基本对象元组关系演算语言ALPHAn域关系演算n以域变量作为谓词变元的基本对象域关系演算语言QBE(QueryByExample)元组关系演算n元组关系演算是以元组为变量n其一般形式为:t属性表|P(t)n语法说明:nt是元组变量,既可以用整个t作为查询对象,也可以查询t中的某些属性。如果查询整个t,则可省去。nP(t)是t应满足的谓词。利用元组关系演算,可以表示关系代数操作n投影投影:设有关系R(a,b,c),则:a,b(R)=ta,b|tRn选择选择:设有关系R(a,b,c),则:F(R)=t|tRANDF。其中F是以t为变量的布尔表达式,属性变量以t.a形式表示。n并并:设有关系R(a,b,c)和S(a,b,c),则:RS=t|tRORtS。n差差:设有关系R(a,b,c)和S(a,b,c),则:RS=t|tRANDNOT(tS)。n自然连接自然连接:设有关系R(a,b,c)和S(c,d,e),则:RS=ta,b,c,d,e|ta,b,cRANDtc,d,eS域关系演算n域关系演算以域为变量n其一般形式为:|P(x1,x2,xn,xn+1,xn+m)n语法说明:n式中x1,x2,xn,xn+1,xn+m为域变量,其中x1,x2,xn出现在结果中,其他m个域变量不出现在结果中,但出现在谓词P中。山东财政学院计算机信息工程学院2.4关系约束n2.4.1 关系模型的完整性约束 n2.4.2 更新操作与关系约束 山东财政学院计算机信息工程学院2.4.1 关系模型的完整性约束 n为了维护数据库中数据与现实世界的一致性,关系数据库中的数据必须满足一定的限制。n数据的语义不但会限制属性的值,而且还会制约属性间的关系。n语义还对不同关系中的数据带来一定的限制。n完整性约束可以由用户检查,也可由系统来检查。完整性约束检查只有在进行数据库更新操作时才需进行。山东财政学院计算机信息工程学院关系模型的完整性约束 n域完整性约束n实体完整性约束n引用完整性约束n用户定义完整性约束山东财政学院计算机信息工程学院一、域完整性约束 域完整性约束规定每一个属性的值应该是其值域中的值。指定一个值域的通常方法是指定一个数据类型,如整型、实型、字符型等,从而属性的值都应该属于该数据类型。除此之外,一个属性的值能否为空值(NULL),也是域完整性约束的内容。山东财政学院计算机信息工程学院二、实体完整性约束 n实体完整性约束规定关系中主码的值不能为NULL,每个元组的主码值应是唯一的。n实体完整性约束规定主码包含的所有属性都不能取空值。n大部分DBMS支持实体完整性约束检查,但不是强制的。实体完整性约束n例如,在关系Customer(customer_name,customer_street,customer_city)中,客户姓名customer_name属性为主码(这里假设客户不会重名),那么customer_name不能取空值。n注意注意,实体完整性约束规定主码包含的所有属性都不能取空值,而不仅是主码整体不能取空值。n选修(学号,课程号,成绩)“学号、课程号”为主码,则两个属性都不能取空值。山东财政学院计算机信息工程学院三、引用完整性约束 n引用完整性约束是不同关系之间或同一关系的不同元组间的约束,它规定不允许引用不存在的元组。n设F是关系R的一个或一组属性。如果F与关系S的主码K相对应,则称F是关系R的外码外码(foreignkey),并且称关系S为基本关系基本关系,关系R为依赖关系依赖关系。n引用完整性约束规定依赖关系R中外码F的取值只允许两种可能:空值;等于基本关系S中某个元组的K值(主码值)。n在引用完整性约束中,基本关系S与依赖关系R可以是同一个关系。n许多DBMS具有引用完整性约束检查功能引用完整性约束n例如:账户和支行账户Account(account_number,branch_name,balance)支行Branch(branch_name,branch_city,assets)。引用完整性约束n例如:学生实体、专业实体以及专业与学生间的一对多联系学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)引用完整性约束n例如:学生、课程、学生与课程之间的多对多联系学生(学号学号,姓名,性别,专业号,年龄)课程(课程号课程号,课程名,学分)选修(学号学号,课程号课程号,成绩)学生学生学生选课学生选课课程课程引用完整性约束例如:学生实体及其内部的领导联系(一对多)学生(学号,姓名,性别,专业号,年龄,班长班长)山东财政学院计算机信息工程学院四、一般性完整性约束 域完整性约束、实体完整性约束和引用完整性约束是关系数据模型的三个最基本、最普遍的完整性约束。其他的语义约束与数据的具体内容有关,数量很大,要说明、管理和检查这些约束开销太大。目前,在有些DBMS中,允许用户对个别数据说明一些约束及违反约束时的处理过程。山东财政学院计算机信息工程学院2.4.2 更新操作与关系约束 n关系模型操作分成查询和更新两类。有三个基本的关系更新操作:插入、删除和修改。n应用更新操作时,不应该破坏关系模型中定义的完整性约束(域完整性约束、实体完整性和引用完整性约束三种基本的完整性约束和用户定义的完整性约束)。山东财政学院计算机信息工程学院一、插入操作 n插入操作提供一个新元组t的属性值列表,然后将它插入到关系R中。n插入操作可能会破坏三种基本的完整性约束类型中的任何一种。n如果元组t的某个属性值不是其值域中的值,那么域完整性约束将被破坏。n如果元组t的主码值已经在关系R中的另一个元组中存在,或者元组t的主码值是空值,那么实体完整性将被破坏。n如果元组t中的外码值引用了一个基本关系中并不存在的元组,那么引用完整性约束将被破坏。n如果插入操作破坏了一个或多个约束,缺省的处理方式是拒绝这个插入操作。另外一种可能的处理方式是去尝试纠正拒绝插入的原因。插入操作n在Account关系中插入元组NULL,市中支行,800n由于新元组中主码account_number为空值,这个插入操作破坏了实体完整性约束,因此拒绝该操作。n在Account关系中插入元组A101,铁路支行,800n由于新元组的主码值A101与Account关系中已经存在的另一个元组的主码值相同,这个插入操作破坏了实体完整性约束,所以拒绝该操作。n在Account关系中插入元组A401,花园支行,700n这个插入破坏了指定在branch_name上的引用完整性约束,因为Branch关系中没有branch_name为花园支行的元组存在。n在Account关系中插入元组A401,和平支行,700n这个插入操作满足所有的约束,所以接受该操作。山东财政学院计算机信息工程学院二、删除操作 n在指定删除操作时,要指出一个关系属性上的条件来选择要被删除的元组。如果要删除的元组正在被数据库中其他元组的外码所引用,那么删除操作就会被破坏引用完整性。n如果删除操作破坏了一个引用完整性约束,则可以选择三种不同的处理方式。n第一种方式是拒绝该删除操作。n第二种方式是级联删除,即把依赖关系中那些引用被删元组的元组一并删除。n第三种方式是修改引起约束破坏的外码属性的值,将其设置为空值或者改为其他有效值。n注意,如果一个引起约束破坏的外码属性是主码的一部分,那么就不能将它设置为空值,否则将破坏实体完整性。山东财政学院计算机信息工程学院三、修改操作 n修改操作用于在某关系的一个元组(或一些元组)中改变一个或多个属性的值。一般在关系的属性上指定一个条件来选择要修改的元组。n修改一个既不是主码也不是外码的属性的值,DBMS仅仅需要检查新值是否满足域完整性约束,即是否有正确的数据类型和域。n因为主码被用来标识元组,所以修改一个主码的值类似于删除一个元组,然后在它的位置上再插入另一个元组。n如果要修改一个外码属性,DBMS必须确认新值引用的是基本关系中已经存在的元组或者为空值。删除操作n删除branch_name=和平支行的Branch元组n这个删除操作是可接受的。n删除branch_name=市中支行的Branch元组n这个删除操作将破坏引用完整性约束,因为来自Account关系和Loan关系的元组正在引用这个元组。山东财政学院计算机信息工程学院n掌握关系、属性、值域、元组、超码、候选码、主码等基本概念,了解关系的基本性质。n掌握关系模型的构成。n掌握关系代数。n了解关系演算。n掌握关系模型的四类完整性约束。n了解更新操作破坏的约束类型,以及如果更新操作引起破坏时可以采取的处理方式。本章教学目的

    注意事项

    本文([理学]sql-课件-第2章-关系模型.ppt)为本站会员(得****1)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开