![技术基础-2 -关系数据库_第1页](http://file4.renrendoc.com/view/1e47ed8fca0bce0532c6bcebee5ea537/1e47ed8fca0bce0532c6bcebee5ea5371.gif)
![技术基础-2 -关系数据库_第2页](http://file4.renrendoc.com/view/1e47ed8fca0bce0532c6bcebee5ea537/1e47ed8fca0bce0532c6bcebee5ea5372.gif)
![技术基础-2 -关系数据库_第3页](http://file4.renrendoc.com/view/1e47ed8fca0bce0532c6bcebee5ea537/1e47ed8fca0bce0532c6bcebee5ea5373.gif)
![技术基础-2 -关系数据库_第4页](http://file4.renrendoc.com/view/1e47ed8fca0bce0532c6bcebee5ea537/1e47ed8fca0bce0532c6bcebee5ea5374.gif)
![技术基础-2 -关系数据库_第5页](http://file4.renrendoc.com/view/1e47ed8fca0bce0532c6bcebee5ea537/1e47ed8fca0bce0532c6bcebee5ea5375.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本章要求:本章内容:1、掌握关系、关系模式、关系数据库等基本概念2、掌握关系的三类完整性的含义3、掌握关系代数运算§1关系模型的基本概念§2RDBS的数据操纵语言:关系代数§3RDBS的数据操纵语言:关系演算语言2021/1/17数据库技术基础1层次、网状数据库是面向专业人员的,使用很不方便。程序员必须经过良好的培训,对所使用的系统有深入的了解才能用好系统。关系数据库就是要解决这一问题,使它成为面向用户的系统。关系数据库是应用数学方法来处理数据的。它具有结构简单、理论基础坚实、数据独立性高以及提供非过程性语言等优点。§1关系模型的基本概念2021/1/17数据库技术基础2一、关系的数学定义
1、域(Domain):值的集合。它们具有相同的数据类型,语义上通常指某一对象的取值范围。
例如:全体整数,
0到100之间的整数,长度不超过10的字符串集合2、笛卡尔积(CartesianProduct):设D1、D2、…、Dn是n个域,则它们的笛卡尔积为D1D2…Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}
其中每一个元素称为一个n元组(n-tuple),简称元组;
元组中的每个值di称为一个分量(component).2021/1/17数据库技术基础3笛卡尔积可以写成一个二维表例如:设D1={张三,李四},
D2={数学,语文},
D3={优,良}则D1×D2×D3可用二维表表示为:张三数学优张三数学良张三语文优张三语文良李四数学优李四数学良李四语文优李四语文良3、关系(Relation)笛卡尔积D1D2…Dn的子集合,记作
R(D1,D2,…,Dn)关系名n为关系的目或度2021/1/17数据库技术基础44、说明
关系是一个二维表。
每行对应一个元组。
每列可起一个名字,称为属性。属性的取值范围为一个域,元组中的一个属性值是一个分量。5、关系的性质
列是同质的,即每列中的数据必须来自同一个域
每一列必须是不可再分的数据项(不允许表中套表,即满足第一范式)
不能有相同的行
行、列次序无关2021/1/17数据库技术基础5二、关系模型三部分:关系数据结构、关系操作集合、关系的完整性(一)数据结构
1、单一的数据结构:关系(二维表)
不论是实体还是实体间的联系都用关系表示。实体值关系的元组,在关系数据库中通常称为记录属性值元组的分量,在关系数据库中通常称为字段关键字(码):唯一标识一个元组的属性组关键字可以有多个,统称候选关键字。在使用时,通常选定一个作为主关键字。主关键字的诸属性称为主属性,其它为非主属性。2021/1/17数据库技术基础6关系数据库模式:对关系数据库的描述,包括域的定义及在域上定义的所有关系模式。关系数据库:所有实体及实体间联系的关系的集合。是某时刻所有关系模式对应的关系的集合。2、关系模式:关系的描述。包括关系名、诸属性名、属性向域的映象、属性间的依赖。关系的型一个元组为关系的一个值表示:R(U,D,dom,F)属性的类型、长度等值型2021/1/17数据库技术基础73、关系的三种类型基本关系:客观存在的基本表查询表:由基本表按一定条件检索得到的结果视图(View):从一个或多个基本关系上导出的关系。它不对应实际的存储数据,是一个虚关系,然而可永久存在。相当于关系模型的外模式。
由于二维表的存储策略非常简单,关于数据库的物理存储完全由DBMS自动完成。因此,在关系模型中不需要与内模式相应的概念。关系简单吗?2021/1/17数据库技术基础8(二)关系操作
1、种类:选择、投影、连接、除、并、交、差增加、删除、修改查询操作维护操作一次一集合(关系型)一次一记录(非关系型)非过程化语言:用户只需告诉做什么(What)不需告诉怎么做(How)数据定义、数据操纵、数据控制语言集成在一起DDLDMLDCL:权限控制、完整性控制等2、特点:
集合操作,一次操作可存取多个元组2021/1/17数据库技术基础9(三)关系模型的三类完整性
1、实体完整性(EntityIntegrity)基本关系的所有主属性不能取空值原因:基本关系实体集实体必可区分(标识符)主关键字是唯一性标识,故不能空2、参照完整性(ReferentialIntegrity),也叫引用完整性
若基本关系R含有与另一个基本关系S的主关键字相对应的属性组F(F称为R的外键或外部码),则R中每个元组在F上的值或为空值,或等于S中某个元组的主关键字值。2021/1/17数据库技术基础10例:职工关系EMP(ENO,ENAME,DNO)部门关系DEPT(DNO,DNAME)DEPT的主键EMP的外键,只能取空值或DEPT中某关键字的值又如:学生关系(SNO,SNAME,AGE,SEX)课程关系(CNO,CNAME)选课关系(SNO,CNO,G)3、用户定义的完整性用户定义的某一属性值必须满足的语义要求。一经定义,DBMS会自动检查,从而不必在应用程序中作检查。2021/1/17数据库技术基础11
3、差(Difference):RS={t|t∈R∧t∈S}
一、传统的集合运算
1、并(Union):RS={t|t∈R∨t∈S}
2、交(Intersection):RS={t|t∈R∧t∈S}
§2RDBS的数据操纵语言:关系代数
关系代数的运算对象是关系,运算结果也为关系。其运算按运算符的不同可分为两类。4、笛卡尔积(广义):RS={trts|tr∈
R∧ts∈
S}2021/1/17数据库技术基础12二、专门的关系运算
1、选择(Selection),又称限制(Restriction)(R):F在关系R中选出满足条件F的诸元组形成一个新关系。条件表达式2、投影(Projection)(R)A:在R中选出若干属性列组成一个新关系。属性组投影后若有重复行,则自动保留一个从行的角度的运算从列的角度的运算2021/1/17数据库技术基础13当为等号且A、B两属性相同时,称为自然连接,记作3、连接(Join)RSAB:从两个关系的笛卡尔积中选取属性间满足条件AB的元组。R中属性S中属性比较运算符说明:RSAB=(RS)ABRS自然连接将去掉重复属性连接是同时处理多个关系的重要运算若仅有为等号的条件,称为等值连接2021/1/17数据库技术基础14?4、除(Division)
R(X,Y)S(Y,Z):把R按X的值分组,若某一组中属性组Y的值包含S在Y上投影的全部元组,则该X的值作为商关系的一个元组属性组例:求至少选修C1、C3课程的学生号码设一临时关系K:C#C1C3关系代数表达式(SC)K=S#,C#{S1,…}S#C#GS1C1AS1C2AS1C3AS1C5BS2C1BS2C2CS2C4CS3C2BS3C3CS3C4BS4C1BS4C3ASC:按S1分组2021/1/17数据库技术基础15{S1,…}S1C1AS1C2AS1C3AS1C5BS2C1BS2C2CS2C4CS3C2BS3C3CS3C4BS4C1BS4C3A4、除(Division)
R(X,Y)S(Y,Z):把R按X的值分组,若某一组中属性组Y的值包含S在Y上投影的全部元组,则该X的值作为商关系的一个元组属性组例:求至少选修C1、C3课程的学生号码设一临时关系K:C#C1C3关系代数表达式(SC)K=S#,C#S#C#GSC:按S2分组2021/1/17数据库技术基础16S1C1AS1C2AS1C3AS1C5BS2C1BS2C2CS2C4CS3C2BS3C3CS3C4BS4C1BS4C3A{S1,…}4、除(Division)
R(X,Y)S(Y,Z):把R按X的值分组,若某一组中属性组Y的值包含S在Y上投影的全部元组,则该X的值作为商关系的一个元组属性组例:求至少选修C1、C3课程的学生号码设一临时关系K:C#C1C3关系代数表达式(SC)K=S#,C#S#C#GSC:按S3分组2021/1/17数据库技术基础17{S1,…}4、除(Division)
R(X,Y)S(Y,Z):把R按X的值分组,若某一组中属性组Y的值包含S在Y上投影的全部元组,则该X的值作为商关系的一个元组属性组例:求至少选修C1、C3课程的学生号码设一临时关系K:C#C1C3关系代数表达式(SC)K=S#,C#S#C#GSC:按S4分组{S1,S4}S1C1AS1C2AS1C3AS1C5BS2C1BS2C2CS2C4CS3C2BS3C3CS3C4BS4C1BS4C3A2021/1/17数据库技术基础18三、关系代数运算举例S:
S#SNSDSAS1ACS20S2BCS21S3CMA19S4DCI19S5EMA20S6FCS22C:
C#CNPC#C1GC2HC1C3IC2C4JC2C5KC4SC:S#C#GS1C1AS1C2AS1C3AS1C5BS2C1BS2C2CS2C4CS3C2BS3C3CS3C4BS4C2BS4C5DS5C2CS5C3BS5C5BS6C1AS6C5A求至少选修这样一门课的学生姓名,这门课的直接先行课是C2先找出先行课为C2的课程号:
(C),记为PCPC#=‘C2’找选修该类课程的学生学号:记为PCSPC(SC)S#,C#找出学生姓名:PCS(S)S#,SN()SN2021/1/17数据库技术基础19最终的关系代数表达式:
()SN
(S)S#,SN
(C)PC#=‘C2’(SC)S#,C#PCPCS说明:用关系代数表示查询时,若查询涉及多个关系,需用连接操作实现;若查询诸如“选修了全部课程”的学生、“使用了全部零件”的工程等,需用除法操作实现。2021/1/17数据库技术基础20一、元组关系演算
1、元组关系演算表达式:关系演算:基于谓词演算面向元组:谓词变量的获得值是关系中的元组(元组变量)面向域:谓词变量的获得值是关系中某属性的值(域变量)按谓词变量的特征划分{t|(t)}公式t为元组变量运算的结果还是一个关系§3RDBS的数据操纵语言:关系演算语言2021/1/17数据库技术基础212、原子公式R(t):表示t是关系R中的一个元组t[i]u[j]:表示t的第i个分量和u的第j个分量满足比较关系t[i]C或Ct[i]
:含义同上,只不过C为常量3、公式的递归定义
(1)每个原子公式是一个公式;
(2)设1、2是公式,则
1、
12、
12也是公式;
(3)设是公式,t是元组变量,则(t)、(t)也是公式;
(4)除此之外没有其它形式的公式。2021/1/17数据库技术基础224、关系代数运算均可用关系演算来表示,反之亦然
S:
S#SNSDSA5、用关系演算来表达查询例1,求年龄大于或等于20的学生:S1ACS20S2BCS21S3CMA19S4DCI19S5EMA20S6FCS22S20={t|S(t)t[4]20}例2,求学生姓名及所在的系:S1={t(2)|(u)(S(u)t[1]=u[2]t[2]=u[3])}S1ACS20S2BCS21S3CMA19S4DCI19S5EMA20S6FCS222021/1/17数据库技术基础234、关系代数运算均可用关系演算来表示,反之亦然
S:
S#SNSDSA5、用关系演算来表达查询例如,求年龄大于或等于20的学生:S1ACS20S2BCS21S3CMA19S4DCI19S5EMA20S6FCS226、安全表达式:
不产生无限关系和无穷验证的关系演算表达式。措施;进行安全限制。即规定一个有限的符号集(通常取关系的各属性列中所有值的汇集)S20={t|S(t)t[4]20}2021/1/17数据库技术基础24安全演算表达式的充分条件:设DOM()是适当选定的一个有限集合,当满足下述条件时,元组演算表达式{t|(t)}是安全的:(1)如果t使(t)为真,则t的每个分量是DOM()中的元素;
(2)对于(t)中每一个形如(u)(W(u))的子表达式,若u使W(u)为真,则u的每个分量是DOM()中的元素;(3)对于(t)中每一个形如(u)(W(u))的子表达式,若u使W(u)为假,则u的每个分量是DOM()中的元素;
换言之,若u的某一分量不属于DOM(),则W(u)为真限定自由变量,保证结果的有限性限定约束变量,保证计算过程的有穷验证性2021/1/17数据库技术基础25二、未实现的元组关系演算语言——ALPHAE.F.Codd提出,但并未实现。
1、检索操作(GET)
(1)不设元组变量例:取出计算机系学生的学号:工作空间名表达式限定条件GETW(S.S#):S.SD=‘CS’2021/1/17数据库技术基础26二、未实现的元组关系演算语言——ALPHAE.F.Codd提出,但并未实现。
1、检索操作(GET)(1)不设元组变量例:取出计算机系学生的学号:相当于原子公式t[i]CGETW(1)(S.S#):S.SD=‘CS’(事实上关系名起到元组变量的作用)相当于投影取出一个计算机系学生的学号GETW(S.S#):S.SD=‘CS’定额2021/1/17数据库技术基础27(2)使用元组变量应用场合用较短的名字代替较长的关系名使用量词时例查找不选C1课程的学生姓名RANGESCXGETW(S.SN):X(X.S#S.S#X.C#’C1’)查找选修全部课程的学生姓名RANGECCXRANGESCSCXGETW(S.SN):CXSCX(SCX.S#=S.S#SCX.C#=CX.C#)变量范围说明关系名元组变量2021/1/17数据库技术基础282、存储操作(1)修改:UPDATE
(2)插入:PUT
(3)删除:DELETE关键字不能修改,只能先删除、再插入2021/1/17数据库技术基础29四、域关系演算语言——QBEQBE是QueryByExample
的缩写,1978年在IBM370上实现。
1、特点用户通过表格形式提出查询,查询结果也通过表格显示出来用户容易掌握,易学易用三、域关系演算与元组关系演算类似,只不过这里的变量取值范围是属性值,其谓词变元称作欲变量,关系的属性名可视作欲变量。
关系代数、元组关系演算、域关系演算的表达能力是等价的。2021/1/17数据库技术基础302、使用方法(1)用户提出使用要求(如键入某一命令)(2)机器显示空白表格(3)用户输入关系名
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国际牛肉贸易合同纲要
- 标准厂房租赁合同模板欣赏
- 简版劳动合同解除合同书
- 2024-2025学年新教材高中化学 第一章 物质及其变化 微专题 大素养(一)说课稿 新人教版必修第一册
- 第8课《 开关量的与关系》说课稿 2023-2024学年 浙教版六年级下册信息科技
- 禹影的离婚协议书
- 2024-2025学年高中化学上学期第七周 铁铜及其化合物说课稿
- 2023四年级数学上册 6 除数是两位数的除法第1课时 口算除法配套说课稿 新人教版
- 《玩纸:2 纸飞机比赛》说课稿-2024-2025学年五年级上册综合实践活动沪科黔科版
- Unit6 General Revision 3(说课稿)-2023-2024学年人教精通版英语六年级下册
- 旅行社导游合同
- 2023年四川省自贡市中考数学真题(原卷版)
- 05-第三章-环境污染物的生物转运和生物转化-生物转化幻灯片
- 室内钢结构隔层施工合同
- 荣威iMAX8汽车说明书
- 山东省潍坊市高职单招2023年英语自考测试卷(含答案)
- 工科高等数学(下)知到章节答案智慧树2023年上海海洋大学
- 儿童羽毛球教程
- 通信工程安全生产手册
- 流程成熟度模型(PEMM)
- 催化动力学分析法及其应用
评论
0/150
提交评论