付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库系统--基本知识与关哈尔滨工业大 教授.博士生导黑龙江省教学教育部大学计算机课程教学指 委ResearchCenteronIn ComputingforEnterprises&Services,HarbinInstituteofTechnology第5讲关系模哈尔滨工业大 教授.博士生导黑龙江省教学教育部大学计算机课程教学指 委ResearchCenteronIn ComputingforEnterprises&Services,HarbinInstituteofTechnology
关系元组演算公式的关系元组演算公式:与、存在量、全称量用关系元组演算公式用QBE语言表达查询的关系元组演关系元哈尔滨工业大 教授.博士生导黑龙江省教学教育部大学计算机课程教学指 委ResearchCenteronIn ComputingforEnterprises&Services,HarbinInstituteofTechnology关系元组演概 前面出现过关系演算形如,并运算定义中:RS {r|rRrS再如,差运算定义中:RSr|rRrS关系演算是以数理逻辑中的谓词演算为关系演算是描述关系运算的另一种思维SQL语言是继承了关系代数和关系演算各自的优点所形按照谓词变量的不同,可分为关系元组演算和关系元组演算是以元组变量作为谓词变量的基关系域演算是以域变量作为谓词变量的基本关系关系元组演算公式的形 关系元组演算公式的基本形式{t|P(t)上式表示:所P为真的t的集ttr表示元组t在关系rtA]表示元组t的分量,即t在属A上的P是与谓词逻辑相似的公式,P(t)表示以元组tP(t)可以如下递归地进行关系关系元组演算公式的完整定 其中公式P(t)可以递归地三种形式的原子公式是s∈s[A]s[A]如果P是公式,那么P也是
如果P1P2是公式,则P1P2,P1P2也是公如果P(t)是公式,R是关系,则(tR)(P(t))和(tR)(P(t))也是需要时可加上述运算符的优先次序自高至低为:括弧;;;;;;公式只限于哈尔滨工业大 教授.博士生导黑龙江省教学教育部大学计算机课程教学指 委ResearchCenteronIn ComputingforEnterprises&Services,HarbinInstituteofTechnology关系元组演算公式之原子公式及与、或、非之理解元组演算公式之原子公 P(t)可以是如下三种形式之一的t∈t是关系R中的一个元组,例如:{t t∈Students[A]元组分量s[A]与常量c之间满足比较关系:比较运,<=,,<>,,例如:{t tR t[Sage]<=19t[Sname]= ’t关系元组演算公式之原子公式及与、或、非之理解元组演算公式之原子公 s[A]s[A]与u[B]为元组分量,A和B分别是某些关比较关系例如:{t| tStudent(uStudent)(t[Sage]>u[Sage])} tu关系元组演算公式之原子公式及与、或、非之理解元组演算公式之与、或、非运算 P(t)可以由公式加运算符(与)、(或)、(非)递归地如果F是一个公式,则F也是公如果F1、F2是公式F1F2,F1F2也是关系元组演算公式之原子公式及与、或、非之理解(2)元组演算公式之与、或、非运算 例如:检索 小于20岁并且是男同学的所有学生t t[Sage20t[Ssex]男再例如:检索 小于20岁或者03系的所有男学生t|tStudentt[Sage]20t[D03t[Ssex男在元组演算公式构造过程中,如果需要,可以使用括号,通过括号算的优先次序,即:括号内的运算优先t关系元组演算公式之原子公式及与、或、非之理解元组演算公式之与、或、非运算 再例如:检索出不是03系的{t tStudent(t[D#]=‘03’)再例如:检索不是(小于20岁的男同学)t|tStudentt[Sage] t[Ssex]男t关系元组演算公式之原子公式及与、或、非之理解注意运算符之次序及语义正确 P(t)运算符优先次序(括弧;;;;;;)请注意下述语句的结果t|tStudentt[Sage]20t[D t[Ssex]男t|tStudentt[Sage]20t[D‘03t[Ssex]男t|tStudentt[Sage t[Ssex]男t|tStudentt[Sage20t[Ssex]男哈尔滨工业大 教授.博士生导黑龙江省教学教育部大学计算机课程教学指 委ResearchCenteronIn ComputingforEnterprises&Services,HarbinInstituteofTechnology关系元组演算公式之存在量词与全称量词之理解与 存在量如果F是一个公式,则(trF(t)也是如果F是一个公式,则(trF(t)也是公运算符和,又称为量词,前者称“存在量词”,后者称“全称量词而被 或限定的元组变量t,或者说,元组变量t前有存在量词或全量词,则该变量被称为“约束变量”,否则被称为 变量”关系元组演算公式之存在量词与全称量词之理解与 存在量例如:“检索 不是最小的所有同学{t tStudent(uStudent)(t[Sage]>u[Sage])请大家写一下,在关系代数中,如何表达上面的查询需求tu关系元组演算公式之存在量词与全称量词之理解与 (2)存在量再例如:检索出课程都及格的所{t|tStudent(uSCt[S#]=u[S#])(u[Score]>=60)用关系代数,如何书写上面例子请注意上式写成下面的公式会表达什么{t|tStudent(uSC)(t[S#]=u[S#]u[Score]>=60)tu关系元组演算公式之存在量词与全称量词之理解与 (2)存在量例如:检索计算机系的所有同t|tStudent(uDept)(t[D#u[D#u[Dname]=‘计算机例如:检索出 小的所有同学{t|tStudent(wStudent)(w[Sname]= t[Sage]<w[Sage])w 关系元组演算公式之存在量词与全称量词之理解与运 (2)存在例如:检索学过所有课{t|tStudent(uCourse)((s(s[S#]=t[S#]u[C#]=s[C#]))uts关系元组演算公式之存在量词与全称量词之理解与 (2)存在量例如:检索所有同学所有课程全都及格{t|tDept(sStudents[D#]=((uSCs[S#]=u[S#])(u[Score]>=60))sut哈尔滨工业大 教授.博士生导黑龙江省教学教育部大学计算机课程教学指 委ResearchCenteronIn ComputingforEnterprises&Services,HarbinInstituteofTechnology关系元组演算之应用训练语义正确性与等价性变换元组演算的等价性变 {t|P(t)P(t)公式,如谓词演算一样,也有一系列演算的例如与的等价性符号表示等价于=<>><=<>=>=<=<>等价性示例{t tStudent(t[D#]=‘03’)等价{t tStudentt[D#]<>‘03’关系元组演算之应用训练语义正确性与等价性变换元组演算的等价性变 再例、与运算之间的等P1P2(P1n个否定的或操作的再否定,便是n个肯定的与操P1P2(P1n个否定的与操作的再否定,便是n个肯定的或操等价“或者学过001课程或者学过002{u|uSC(u[C#]=‘001’u[C#]=‘002’)0?{u|uSC(u[C#]<>‘001’u[C#]<>‘002’)u关系元组演算之应用训练语义正确性与等价性变换元组演算的等价性变 等价性再示“ 小于20岁又 的所有学生s|sStudent(s[Sage20s[Ssex男等价于“去掉:或 大于等于20岁,或者不 的,所有人s|sStudents[Sage]20s[Ssex男s关系元组演算之应用训练语义正确性与等价性变换元组演算的等价性变 例如与运算之间的(tR)(P(t))((tR)(P(t))(tR)(P(t))((tR)(P(t))等价性示例“既学过001课程又学过002{t|tStudent(sSCuSCs[S#]=t[S#]u[S#]t[S#])(s[C#]=‘001’u[C#]=‘002’)或者{t|tStudent(sSCuSC)(s[S#]=t[S#]u[S#]t[S#]s[C#]=‘001’u[C#]=‘002’)等价于“去掉:或者未学过001课程,或者未学过002课程的所有人{t|tStudent((sSCs[S#]=t[S#])(s[C#]<>‘001’(sSCs[S#]=t[S#])(s[C#]<>‘002’))哈尔滨工业大 教授.博士生导黑龙江省教学教育部大学计算机课程教学指 委ResearchCenteronIn ComputingforEnterprises&Services,HarbinInstituteofTechnology关系元组演算之应用训练四个最复杂的例“全都学过 已知:学生关系:Student(SSname,Sage,Ssex,Sclass)课程关系:Course(C#,CnameChoursCreditTname)选课关系:SC(S#,C#,Score)求学 老师讲授所有课程的学 (全都学过Sname(Sname,C# Course) {t[Sname]|tStudent(uCourse ((wSC)(w[S#]=t[S#]w[C#]=u[C#]))关系元组演算之应用训练四个最复杂的例“全没学过 已知:学生关系:Student(S#,Sname,Sage,Ssex,Sclass)课程关系:Course(C#,Cname,Chours,Credit,Tname)选课关系:SC(S#,C#,Score)求没学 老师讲授任一门课程的学 (全没学过Sname(Student) {t[Sname]|tStudent(uCourse ((wSC)(w[S#]=t[S#]w[C#]=u[C#]))关系元组演算之应用训练四个最复杂的例“至少有一学过 已知:学生关系:Student(S#,Sname,Sage,Ssex,Sclass)课程关系:Course(C#,Cname,Chours,Credit,Tname)选课关系:SC(S#,C#,Score)求至少学过一 老师讲授课程的学 (至少学过一门 {t[Sname]|tStudent(uCourse)(wSC)( w[S#]=t[S#]w[C#]=u[C#])关系元组演算之应用训练四个最复杂的例“至少有一没学过 已知:学生关系:Student(S#,SnameSage,Ssex,Sclass)课程关系:Course(C#,Cname,Chours,Credit,Tname)选课关系:SC(S#,C#,Score)求至少有一 老师讲授课程没有学过的学 (至少有一门没学过– Course)C# {t[Sname]|tStudent(uCourse ((wSC)w[S#]=t[S#]w[C#]=u[C#])哈尔滨工业大 教授.博士生导黑龙江省教学教育部大学计算机课程教学指 委ResearchCenteronIn ComputingforEnterprises&Services,HarbinInstituteofTechnology关系元组演算之应用训练将关系代数转换为元组元组演算公式与关系代数的等价 关系代数有五种基本操作:并、差、广义积、选择、投影操作,还有交、-连接操作并运算:RS {t|tRtS差运算:RS {t|tRtS交运算:RS {t|tRtS广 R(A)S(B)={t|(uR)(sS)(t[A]=u[A]t[B]=con(R)=t|tRF(conARt[A]|tR关系元组演算之应用训练将关系代数转换为元组元组演算公式总 其中公式P(t)的构三种形式的原子公式是s∈R;s[A]c;s[A]如果P是公式,那么P也是如果P1P2是公式,则P1P2,P1P2也是如果P(t)是公式,R是关系,则(tR)(P(t))和(tR)(P(t))也是公需要时可加括弧上述运算符的优先次序自高至低为:括弧;;;;;;公式只限于用用递归定义公一种用逻辑表达查询元组演算与关系代数可以相互转换(有前提,后面介绍关系域哈尔滨工业大 教授.博士生导黑龙江省教学教育部大学计算机课程教学指 委ResearchCenteronIn ComputingforEnterprises&Services,HarbinInstituteofTechnology关系域关系域演算公 关系域演算公式的基本形式x1,x2xn|Px1,x2xn其中,xi代表域变量或常量,P为以xi为变量的公公式P可以递归地进行构造三种形式的原子公式是x1,x2xn∈Rxi代表域变量或常量表示由域量构成的x1,x2xn是属于关系Rxc。其中,域变量x与常量c之间满足比较关系。:比较运算,<=,,<>,,>=如果P是公式,那么P也是公如果P1P2是公式,则P1P2,P1P2也是公如果P是公式,x是域变量,则(x)(P(x))和(x)(P(x))也是公需要时可加上述运算符的优先次序自高至低为:括弧;;;;;;公式只限于关系域关系域演算公式构造示 例如:检索出不是03系的{<a,b,c,d,e,f>|<a,b,c,d,e,f>Studente<>’03’例如:检索不是(小于20岁的男同学)的所<b>|a,c,d,e,fa,b,c,d,e,f>Studentd20c男例如:检索成绩不及格的同 、课程及其成{<b,h,m>|a,c,d,e,f,g,I,j,k(<a,b,c,d,e,f>Student(g,h,I,j,k)Course(a,g,m)SCm<60)
关系域关系域演算与关系元组演算的比 元组演算的基本形式t|P(t域演算的基本形式 {<x1,x2,…,xn>|P(x1,x2,…,xn)公式的运算符((与)(或)(非)(全称量词)和(存在量词))是同的,只是其中的变量元组演算和域演算可以基于关系域演算的QBE哈尔滨工业大 教授.博士生导黑龙江省教学教育部大学计算机课程教学指 委ResearchCenteronIn ComputingforEnterprises&Services,HarbinInstituteofTechnology基于关系域演算的QBE语关系域演算语言 域演算语言QBE:QueryBy1975年由M.M.Zloof提出,1978年在IBM370特点:操作独特,基于屏幕表格的查询语言, 写复杂的公式,需将条件填在表格中即是一种高度非过程化的特别适合于终端用户的基于关系域演算的QBE语QBE的基本形 QBE操作框架由四个部关系名区属性名操作命令区:用于书写查询操 查询条关系 属性操作命 查询条基于关系域演算的QBE语QBE的操作命 QBE的操作Print---显示输出Delete或---删除Insert或---操Update或 更新操示例,如下图表示,向Student表 两个元 ,Male,35,03, ,Male,32,03,基于关系域演算的QBE语QBE的操作命 再示例,如下图表示,将Student表中如下的两 ,Male,35,03, ,Male,32,03,基于关系域演算的QBE语QBE的简单条件书 QBE的查询条 简单条QBE查询条件可以直接在查询条件区中书写,形式为可以是<,>,>=,<=,=,<>;如省略,则默认参量中的参量可以是常量,直接书写例如:找 小于17岁的所有同基于关系域演算的QBE语QBE的简单条件书 QBE的查询条 不同属性上的与条QBE不同属性上的与条件可以写在同例如:找 小于17岁的所有女同同一行中各个条件之间是“”关系(与),如上图,可写为域演{<a,b,c,d,e,f>|<a,b,c,d,e,f>Studentc=‘Female’d<17基于关系域演算的QBE语QBE的复杂条件书写与示例元 QBE的查询条 示例元素与投条件的值.例如:找 小于17岁的所有女同学当不是显示所有内容时,可在条件区对应要显示的列下面书出命令(即投影运算),如上例输 P.x,你可以任意写一个名字, 都是一样的,他们是示例元素基于关系域演算的QBE语(5)QBE的复杂条件书写与示例元 QBE的查询条 用示例元素实现‘与’运算和‘或’运当书写条件(或运算)时,可以采用在多行书写,然后在打印命令后同的示例元素来表征,如下图,一行写为P.X,一行使用P.Y例如:找 小于17岁或 大于20岁的所有同学如果一批条件分多行书写,则相互存在关系的行要采用相同的例如:表示找 大于17并 小于等于20的同基于关系域演算的QBE语(5)QBE的复杂条件书写与示例元 QBE的查询条 相当于括号的条件表也可以将、和条件写在操作命令区,如下当、和运算符写在操作区时,是对整行条件而言,相当于行条件放在括号中一如上例,表达的是 并且是男的)或者 >20并且女的基于关系域演算的QBE语(5)QBE的复杂条件书写与示例元 QBE的查询条 用示例元素实现多个表的连当检索涉及多个表时,可利用同一连接条件使用相同的示例来实现多个表的连接例如 老师教过的所有学基于关系域演算的QBE之应 教育部大学计算机课程教学指 委ResearchCenteronIn ComputingforEnterprises&Services,HarbinInstituteofTechnology基于关系域演算的QBE语言之应用QBE进行“查询”的构 例如:查询计算机 大于19岁的男同学基于关系域演算的QBE语言之应用QBE进行“查询”的构 例如:查询计算机系或 大于19岁或者是男同学基于关系域演算的QBE语言之应用QBE进行“查询”的构 例如:查询既选修了001号课程又选修了002号课程的学再例如:找出比男同 大的所有男同学基于关系域演算的QBE语言之应用QBE进行“查询”的构 例如: 同学 更新为19再例如:将每位同学 增加1基于关系域演算的QBE语言之应用QBE进行“查询”的构 例如:找出成绩不及格同学 及不及格的课程和分基于关系域演算的QBE语言之应用QBE实现关系代 关系代数的并、差、乘积、选择和投影运算可以用QBE来实T=RU基于关系域演算的QBE语言之应(2)用QBE实现关系代 关系代数的并、差、乘积、选择和投影运算可以用QBE来实T=R–基于关系域演算的QBE语言之应(2)用QBE实现关系代 关系代数的并、差、乘积、选择和投影运算可以用QBE来实T=R基于关系域演算的QBE语言之应(2)用QBE实现关系代 关系代数的并、差、乘积、选择和投影运算可以用QBE来实T=其中RAij是某一个基于关系域演算的QBE语言之应(2)用QBE实现关系代 关系代数的并、差、乘积、选择和投影运算可以用QBET=其中ConditionBox中表示选择运算中的F公式(详细转换略关系演哈尔滨工业大 教授.博士生导黑龙江省教学教育部大学计算机课程教学指 委ResearchCenteronIn ComputingforEnterprises&Services,HarbinInstituteofTechnology关系演算的关系运算的安全性 关系运算的安关系代数是一种集合运算,是安集合本身是有限的,有限元素集合的有限次运算仍旧是有限例如:t|(R(t))},{t|R(tt[2]>3可能表示无限R(t)是有限的,但不在R(t)中的元素就可能是无限的,后例中的t[2]>3无限的再例如:(u)((u)),(u)((u))可能导致无穷前者被称为“ ,即验证所有元素是否都使(u)为fl;后者被称为真验证”,即验证所有元素是否都使得(u)为tr。检验所有元素就可能造成无穷。关系演算的关系演算的约束 安全约束有限集合DOM()是一个有限集合,其中的每个符号要么是中明显出现的符号,么是出现在中的某个关系R的某元组的分量DOM主要用于约束中一些谓词的计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 客户服务培训
- 天然手工皂品牌营销推广方案模板
- 剧院舞台灯光设备安装技术方案
- 数字创业基础知识60
- 屠宰场全面安全管理及操作规程
- 餐饮企业厨师岗位技能培训大纲
- 服装厂员工劳动合同标准版
- 2025-2030中国专业物流仓储行业市场供需现状分析评估投资规划研究发展报告
- 幼儿园冬季趣味运动会方案
- 古诗文《夜游承天寺》赏析与讲解
- 精二类处方权培训课件
- 计件工资保底协议书
- 光伏车棚+充电桩一体化解决方案
- 工程建设执业资格法规教案(2025-2026学年)
- 打桩中介费合同范本
- 机械手安全培训试题及答案解析
- 2025年山东地区光明电力服务公司招聘笔试参考题库附带答案详解
- 2024年郑州财税金融职业学院单招职业适应性考试题库附答案详解
- 新入职员工信息安全培训
- DB3206∕T 1018-2021 医疗保险 医疗服务大数据智慧结算系统管理规范
- 食材供应知识培训内容课件
评论
0/150
提交评论