[理学]sql-课件-第2章-关系模型.ppt
《[理学]sql-课件-第2章-关系模型.ppt》由会员分享,可在线阅读,更多相关《[理学]sql-课件-第2章-关系模型.ppt(82页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、山东财政学院计算机信息工程学院第二章第二章 关系模型关系模型 本章主要介绍介绍关系模型的基本概念及常用术本章主要介绍介绍关系模型的基本概念及常用术语、关系模型的完整性约束和关系代数操作。语、关系模型的完整性约束和关系代数操作。山东财政学院计算机信息工程学院第二章关系模型n2.1 关系模型的基本概念n2.2 关系代数n2.3*关系演算n2.4 关系约束山东财政学院计算机信息工程学院2.1 关系模型的基本概念n2.1.1关系的定义n2.1.2关系模式n2.1.3关系模型的定义关系模型n关系模型是建立在一种称为“关系理论”的数学理论基础上,E.F.Codd就是以“关系理论”的形式提出关系模型的。n关
2、系理论一般由两部分组成,即关系模型的数学表示与关系模式的规范化理论。前者给出了关系模型的代数方式或逻辑方式的数学表示,为关系模型研究提供有效的数学工具支撑。后者则对数据库设计提供理论指导。山东财政学院计算机信息工程学院山东财政学院计算机信息工程学院基本概念n关系关系:是二维表的一个抽象,是一种规范化了的二维表。n列的名字称为属性属性(attribute)。n每个属性都有一个取值范围,这个取值范围称为属性的值域值域(domain)。n表中的一行称为元组元组,它对应各个属性的某个具体属性值。n元组的集合就称为关系关系。山东财政学院计算机信息工程学院基本概念n超超码码:在一个关系中,能唯一标识元组的
3、属性集称为关系的超码。n候候选选码码:如果一个属性集能唯一地标识元组,且又不含有多余属性,那么这个属性集称为候选码。n主主码码:用户可以指定一个候选码为主码,即用户正在使用的候选码称为主码。山东财政学院计算机信息工程学院在关系模型中的关系规范性限制:n关系中的每一个属性值都是不可分解的。n关系中不允许出现完全相同的元组。n由于关系是一个集合,因此不考虑元组间的顺序。n关系中的属性理论上也是无序的,但使用时按习惯考虑列的顺序。山东财政学院计算机信息工程学院2.1.2 关系模式n在数据库中要区分型型与值值。关系数据库中,关系模式是型,关系是值。n一般地,关系模式关系模式由组成关系的属性序列、各属性
4、的值域以及各属性之间的依赖关系构成。n关系是关系模式在某一时刻的状态或内容。n关系模式是静态的、稳定的,而关系是动态的,随时间关系模式是静态的、稳定的,而关系是动态的,随时间不断更新变化的。不断更新变化的。n基于关系模型的数据库管理系统遵循三级体系结构:物理模式、逻辑模式和用户模式。其中逻辑模式就是关系模式的集合,也称为关系数据库模式。山东财政学院计算机信息工程学院Account(Account(account_numberaccount_number,branch_namebranch_name,balance),balance)Branch(Branch(branch_namebranch
5、_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(
6、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
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(客户)
8、关系山东财政学院计算机信息工程学院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(贷款)关系山东财政学院计算机信息工程学院cu
9、stomer_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关系模型允许定义四类完整性约束,即域域完完整整性性约约束束、实实
10、体体完整性约束完整性约束、引用完整性约束引用完整性约束和用户定义完整性约束用户定义完整性约束,山东财政学院计算机信息工程学院关系模型的优点 n关系模型提供单一的数据结构形式,具有高度的简明性和精确性。n关系模型的逻辑结构和相应的操作完全独立于数据的存储方式,具有高度的数据独立性。n关系模型使数据库的研究建立在比较坚实的数学基础上。n关系数据库语言与一阶谓词逻辑的固有内在联系。山东财政学院计算机信息工程学院2.2 关 系 代 数n早期的关系操作能力由关系代数和关系演算表示。n关系代数、元组关系演算和域关系演算三种语言表达能力等价,是抽象语言,用作评估实际系统中语言能力的标准。n关系代数操作以关系
11、作为操作对象,关系操作的结果仍为关系,可以再参与其他关系操作,由此可以构成对关系的各种复杂操作。n基本操作:选择、投影、并、差、笛卡尔积n附加的操作:交、自然连接、除山东财政学院计算机信息工程学院2.2.1 基本操作 n选择n投影n并n差n笛卡儿积山东财政学院计算机信息工程学院一、选择n选择选择操作从一个关系中选出满足给定条件的元组。n可以表示为 ()n选择运算是从行的角度进行的运算nn通常,在选择条件中使用=,进行比较构成简单布尔表达式,并且可以用连词与与()、或或()和非非()将多个简单布尔表达式连接起来。山东财政学院计算机信息工程学院例子n例如,选择贷款额大于12000元并由经七路支行发
12、放的贷款 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,
13、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,A
14、2,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 并ABCa1b1c1a1b2c2a2b2c1ABC
15、a1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSRS 山东财政学院计算机信息工程学院例子n例如:找出所有的有贷款或有账户或二者兼有的银行客户。ncustomer_name(Borrows)customer_name(Deposits)customer_name李勇吴宾刘晨林志伟赵维刘伟刘建孙大庆王敏于童山东财政学院计算机信息工程学院四、差n差差操作可以找出在一个关系中而不在另一个关系中的那些元组。n做差操作的两个关系也必须是相容的。nR和Sn具有相同的目nn相应的属性取自同一个域nR-Sn仍为n目关系,由属于R而不属于S的所有元组组成R-S=t|t
16、RtS差ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S 山东财政学院计算机信息工程学院例子n例如,找出所有在银行有账户而无贷款的客户ncustomer_name(Deposits)customer_name(Borrows)Customer_name王敏孙大庆于童山东财政学院计算机信息工程学院五、笛卡儿积 n用表示的笛卡儿积操作可以将任意两个关系的信息组合在一起,注意参与笛卡儿积操作的两个关系不必是相容的。nRnn目关系,k1个元组nSnm目关系,k2个元组nRSn列:(n+m)列的元组的集合n元组的前n列是关系R的一个元组n后
17、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解放路
18、支行 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.l
19、oan_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)交ABCa1b1c1a1b2c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 理学 sql 课件 关系 模型
限制150内