欢迎来到乐乐文库,课件爱好者! | 帮助中心 精品ppt课件,ppt课件精品!
乐乐文库,课件爱好者
首页 乐乐文库,课件爱好者 > 资源分类 > PPT文档下载

0数据库理论2_n.ppt

  • 资源大小:1.39MB        全文页数:55页
  • 资源格式: PPT        下载权限:游客/注册会员/VIP会员    下载费用:15金币 【人民币15元】
游客快捷下载 游客一键下载
会员登录下载
下载资源需要15金币 【人民币15元】

邮箱/手机:
温馨提示:

支付成功后,系统会根据您填写的邮箱或者手机号作为您下次登录的用户名和密码(如填写的是手机,那登陆用户名和密码就是手机号),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦;
支付方式: 支付宝   
验证码:   换一换

 
友情提示
2、本站资源不支持迅雷下载,请使用浏览器直接下载(不支持QQ浏览器)
3、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

0数据库理论2_n.ppt

2020/3/21,第二章 关系数据库,1970年,IBM公司的E.F.Codd第一次提出了以关系的数学关系理论为基础的关系数据模型,奠定了关系数据库的理论基础。 90年代,关系模型数据库系统已成为商用主流数据库系统,广泛应用于各个领域,2020/3/21,2,2.1 关系的数学定义,“关系”“二维表”(非形式化) “关系”的理论是建立在集合代数理论的基础上,2020/3/21,3,2.1.1 域,定义2.1域Domain是一组具有相同数据类型的值的集合。 例如整数、实数、 {男,女} 等都是域。 在关系中用域来表示属性的取值范围 域中所包含的值的个数称域的基数用m表示 例D1 (姓名) {李平,张红,王钢} M13 D2 (性别) {男,女} M22 D3 (年龄) {17,18,19} M33,2020/3/21,4,2.1.2 笛卡儿积,定义2.2 给定一组任意集合D1,D2,Dn,这些域中可以有相同的。 这n个集合的笛卡儿积为 D1D2Dn{d1,d2,dn| di∈ Di, i1,2,n} 笛卡儿积也是一个集合,其中 Di称为域; 每一个元素d1,d2,dn 叫做一个n元组简称元组; 元素中每一个值di叫做一个分量 Di的基数用mii1,2,,n表示,则笛卡儿积的D1D2Dn的基数为所有域的基数的累乘乘积,2020/3/21,5,2.1.2 笛卡儿积,例设有两个域, D1 {0,1}和D2 {a,b,c} 则D1D2{0,a,0,b,0,c,1,a,1,b,1,c} 笛卡儿积也可以用二维表表示,其中表的框架由域构成,表的任意一行就是一个元组,每一列数据来自同一域。笛卡儿积基数为所有域的基数的累乘乘积。,0 1,A B C,,,,,,2020/3/21,6,,例给出三个域 D1=导师集合=(张清玫,刘逸) D2=专业集合=计算机专业,信息专业 D3=研究生集合=(李勇,刘晨,王敏) D1D2D3= {(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨) (张清玫,计算机专业,王敏), (张清玫,信息专业,李勇), (张清玫,计信息专业,刘晨),(张清玫,信息专业,王敏), (刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨), (刘逸,计算机专业,王敏), (刘逸,信息专业,李勇), (刘逸,信息专业,刘晨), (刘逸,信息专业,王敏)} 其中(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨) (张清玫,计算机专业,王敏)等都是元组,张清玫、计算机专业、李勇、刘晨等都是分量。 该笛卡尔积的基数是223=12,有12个元组。,2020/3/21,7,张清玫 刘逸,计算机专业 信息专业,李勇 刘晨 王敏,,,D1D2D3,D1,D2,D3的笛卡尔积,,2020/3/21,9,2.1.3 关系,定义2.3笛卡儿积 D1D2 Dn 的子集称为定义在域D1,D2,,Dn上的n元关系Relation,可用RD1,D2,,Dn 表示。 其中R为关系名,n称为关系的目或度Degree; 关系中的每个元素是关系中的元组; 关系中的元组个数是关系的基数; 可以把关系看作是一个二维表,表的框架由DiI1,2,n构成,每一行对应一个元组,表的每一列对应一个域,给每个域起一个名字,称为属性;,2020/3/21,10,2.1.3 关系,例1在上述笛卡尔积中取出一个子集构造一个关系。由于一个研究生只师从一个导师,学习某一个专业,所以笛卡尔积中的许多元组是无实际意义的。该关系的名字为SAP,关系表示为 SAP导师,专业,研究生) 假设导师与专业是一一对应的,导师与学生是一对多。这样SAP可以包括三个元组。,D1,D2,D3的笛卡尔积,2020/3/21,12,这里假设研究生不会重名(只是为了举例),研究生 属性的每一个值都唯一地标识了一个元组,因此可作 为SAP 关系的主码。,SAP,2020/3/21,13,2.1.3 关系,例2设 D1男人集合MAN{王兵、李平、张英} D2 女人集合WOMAN{丁红、肖芳} D3儿童集合CHILD{王一、李一、李二} (1)求上面三个集合的笛卡儿积 (2)构造一个家庭关系,可表示为 FAMILY(MAN,WOMAN,CHILD) MAN WOMAN CHILD 王兵 丁红 王一 李平 肖芳 李一 李平 肖芳 李二 Family,,,,,,,,,,2020/3/21,14,2.1.3 关系,由上例可知,关系是笛卡儿乘积的任意子集,但从实际应用中,只有取某个子集才有实际意义。 一般说来,关系是从笛卡儿积中选取的有意义的子集。,2020/3/21,15,2.1.3 关系,关系头与关系体的定义 定义2.4 定义在域D1,D2,Dn不要求完全相异上的关系由关系头Heading和关系体Body组成。关系头由属性名的A1,A2,An的集合组成,每个属性Ai正好对应一个域DiI1,2,n; 关系体由随时间变化的n个元组的集合构成,每个元组依次由一组属性值的集合构成。,2020/3/21,16,2.1.3 关系,关系头 是关系的数据结构的描述(关系框架) 关系头相对固定。 关系体 是指关系结构中的内容(数据值) 关系体随时间变化(随元组的建立、修改或删除而变化),2020/3/21,17,2.1.4 关系的性质,1关系中没有重复元组,任意元组在关系中都是唯一的。 2元组的顺序(行)无关紧要,即元组的次序可以任意交换。 3属性的顺序(列)是非排序的,即它的次序可以任意交换。 4属性必须具有不同的属性名,不同的属性可来自同一个域。 5同一属性名下的诸属性值同列是同类型数据,且来自同一个域。 6所有的属性值都是原子的,即每一个分量必须是不可分的数据项。,2020/3/21,18,2.2 关系模型,一、单一的数据结构关系 关系模型的数据结构非常单一。在关系模型中,实体以及实体之间的各种联系均由关系来表示。在用户看来,关系模型中数据的逻辑结构是一张二维表。,2020/3/21,19,2.2 关系模型,1. 码在给定的关系中,具有唯一标识元组的一个或一组属性,称为关系的码。 例如学生(学号,姓名,性别,班级,年龄,系部) 假设没有重名,学号,姓名都是码。 2. 候选码如果在关系中,具有码特性的属性或属性组有多个,则把它们都称为关系的候选码。 3. 主码当一个关系中有多个候选码时,我们从候选码中选择一个作为关系的主码。每个关系都必定有且只有一个主码。 对于一个关系,主码一经选定,通常是不能随意改变的。,2020/3/21,20,2.2 关系模型,4. 外部码如果关系R2的一个或一组属性不是R2的主码,而是另一关系R1的主码,则该属性或属性组成为关系R2的外部码。 例如 R2学生(学号,姓名,性别,年龄,专业号,系部) R1专业(专业号,专业名) 专业号是R2的外部码。,2020/3/21,21,2.2 关系模型,二、关系操作 关系模型给出了关系操作的能力,但不对DBMS的语言给出具体的语法要求。 关系模型中常用的关系操作包括 选择Select、投影Project、连接 Join、除Divide 、并Union、交Intersection、差Set Difference等查询。以及增加Insert、删除Delete 、修改Update操作。,2020/3/21,信息与通信工程学院,22,2.2 关系模型,三、关系模型的三类完整性 指实体完整性、参照完整性和用户定义的完整性(其中前两类完整性是关系模型必须满足的约束条件) 1. 实体完整性 在关系中,要求主码的值不能为空值。 学生(学号,姓名,年龄,性别,系部,年级) 主码学号不能为空值。,2020/3/21,信息与通信工程学院,23,2.2 关系模型,2. 参照完整性 如果关系R2的外部码X与关系R1的主码相符,那么外部码X的每个值必须在关系R1中主码的值中找到,或者取空值,称为参照完整性。 例如 R2学生(学号,姓名,性别,年龄,专业号,系部) R1专业(专业号,专业名) 即R2学生中,专业号的取值要参照R1专业中专业号的取值。,2020/3/21,信息与通信工程学院,24,2.2 关系模型,3. 用户定义完整性 针对某个具体数据库的约束条件,由应用环境决定,它反映某一具体应用所涉及的数据必须满足的语义要求。 例如某个属性必须取唯一值,某个属性的取值范围在0-100之间等。,2020/3/21,信息与通信工程学院,25,2.3 关系数据库模式与关系数据库,一、关系模式 定义一个关系的属性名集合 RA1,A2,An 叫做关系模式。 其中R为关系名 A1,A2,An为属性名 关系模式就是关系的框架(表框架) 它是对关系结构的描述 例如学生(学号,姓名,性别,班级,年龄,系部),2020/3/21,信息与通信工程学院,26,2.3 关系数据库模式与关系数据库,二、关系数据库模式 定义一组关系模式的集合构成关系数据库模式。 它是对关系数据库结构的描述,2020/3/21,信息与通信工程学院,27,2.3 关系数据库模式与关系数据库,三、关系数据库 关系数据库是由一组关系头的集合及其关系体的集合组成的 关系头的集合就是关系数据库模式 关系体的集合代表数据库的内容 关系数据库有型和值的概念,其型就是关系数据库模式,它是相对固定;其值就是数据库的内容,它是随时间而变化的,2020/3/21,信息与通信工程学院,28,2.4 关系代数,关系代数包含两类运算 传统的集合运算,如并、交、差、广义笛卡尔积,这类运算将关系看成元组的集合,其运算是从关系的“水平”方向即行的角度来进行的。 专门的关系运算,如选择、投影、连接、除,这类运算不仅涉及行,而且涉及列。 关系运算的运算对象是关系,结果也是关系。,2020/3/21,信息与通信工程学院,29,2.4 关系代数,关系代数的运算符有 集合运算符∪并 ∩交 差 广义笛卡尔积 专门的关系运算符σ选择 π投影 连接 除 算术比较符θ{,,≥,≤,,≠} 逻辑运算符∧AND ∨OR ┐NOT,,2020/3/21,信息与通信工程学院,30,2.4.1 传统的集合运算,1. 关系并运算关系R和关系S的所有元组的合并,再删去重复的元组,组成一个新关系,记作R∪S R∪S{t| t∈R ∨ t∈S} 2. 关系差运算在关系R中删去与关系S中相同的元组,组成一个新关系,记作R-S R-S{t| t∈R ∧ t∈S} 3. 关系交运算在两个关系R与S中取相同的元组,组成一个新关系,记作R ∩ S R∩S{t| t∈R ∧ t∈S} 4. 广义笛卡尔积两个分别为n、m目关系R和S的广义笛卡儿积是一个(nm)元的元组集合,记作RS RS{r1, ,rn, s1,,sm| r1, ,rn∈R ∧ s1,,sm∈S},,R,S,R ∪ S,R∩S,R-S,R S,2020/3/21,信息与通信工程学院,32,2.4.2 专门的关系运算,1. 选择是在指定的关系中,按给定的条件选取其中的若干个元组,组成一个新的关系运算。记作σF(R) F为布尔函数,可由运算对象属性名、常数、简单函数、算术比较符和逻辑运算符连接起来的表达式组成。 σF(R){t | t∈R ∧ Fttrue},例如设有一个学生-课程数据库,包括 学生关系Student、课程关系Course和选课关系SC Student,,Course,SC,2020/3/21,信息与通信工程学院,34,,例1查询信息系全体学生 σSdept‘信息’Student 或σ5‘信息’Student 其中5为属性序号 查询结果,a,,例2查询年龄小于20的学生 σSage20Student 或σ420Student 查询结果,b,2020/3/21,信息与通信工程学院,36,2.4.2 专门的关系运算,2. 投影是在指定的关系R中,选择出若干属性列组成新的关系。 记作πXR X为R的属性列。 πi1,,πimR{ri1, ,rim| r1, ,ri1, ,rim,,rn∈R} 投影操作是从列的角度进行的运算,即对关系R进行垂直分割,消去某些列,并重新排列顺序。 删除重复元组。,,例3查询学生的姓名和所在系 πsname,SdeptStudent 或π2,5Student 查询结果,Student,例3查询学生关系Student中都有哪些系 πSdeptStudent 或π5Student 查询结果,2020/3/21,信息与通信工程学院,39,2.4.2 专门的关系运算,3. 连接是从两个关系R、S的笛卡儿积中选取属性间满足一定条件的元组。 记作R S XθY为连接条件 当θ为“”,称为等值连接,XθY,XθY,,2020/3/21,信息与通信工程学院,40,2.4.2 专门的关系运算,4. 自然连接对于关系R、S,在等值连接的情况下,当连接属性X与Y具有相同的属性名时,则关系R与S的连接称为自然连接。 记作R S 在自然连接构成的结果关系中,相同的属性名不必重复。 一般自然连接使用在R和S用公共属性的情况,,2020/3/21,信息与通信工程学院,41,例,设有关系R和S(见表), 求R S|R.学号S.学号, R S|R.学号=S.学号, R S的值。,,,,R,S,R S|R.学号S.学号,,R S|R.学号S.学号,R,S,,2020/3/21,信息与通信工程学院,44,R S,,2020/3/21,信息与通信工程学院,45,2.4.2 专门的关系运算,5. 除法 定义见例子之后。(略) 象集 设关系RX,Z,X和Z为属性组,当t[X]x时,x在R中的象集为 Zx{t[Z]∈R,t[X]x},例关系R和关系S见图,求RS 在R中,姓名,性别可以取3个值{(王雷,女),(张宾,男),(许宁,男)}。其中 (王雷,女)的象集为{计算机语言} (张宾,男)的象集为{数据库原理,操作系统,计算机语言,汇编语言} (许宁,男)的象集为{汇编语言} 所以只有张宾的象集包含S在“选修课程”上的投影,RS={(张宾,男)},RS,S,R,RS,S,R,5. 除法给定关系RX,Y和SY,Z,其中X,Y,Z为属性组,R中的Y与S中的Y 可以有不同的属性名,但必须出自相同的域集。R与S的除法运算得到一个 新的关系PX,P是R中满足下列条件的元组在X属性列的投影元组在X上分 量值x的象集Yx包含S在Y上投影的集合。记作 RS,X1,X2,Y,Y,Z,P,X1,X2,2020/3/21,信息与通信工程学院,48,2.4.3 关系代数表达式及应用,在关系代数运算中,我们介绍了9种运算。其中并、差、笛卡尔积、选择、投影运算为基本运算,交、连接、自然连接、除法可以用这5种基本运算经过有限次复合来表达。这种表达式称为关系代数表达式。,例如设有一个学生-课程数据库,包括 学生关系Student、课程关系Course和选课关系SC Student,,Course,SC,2020/3/21,信息与通信工程学院,50,举例 例1查询选修了2号课程的同学的学号 SC,,πSnoσCno‘2’SC,Student,,Course,SC,例查询至少选修了一门其先行课为5号的同学的学生姓名。 πSnameσCpno‘5’Course SC πsno,SnameStudent,,,2020/3/21,信息与通信工程学院,52,习题,2. 已知关系R、S、T,如下图所示,试求出下列运算的结果 1 R∪S 2 R-S 3 RS 4 R T 5R与T连接AC 6πAR 7 πB,CσA‘c’R T,1. 请举例说明关系中实体的完整性和参照完整性。,,,2020/3/21,信息与通信工程学院,53,习题,3.教学数据库中有三个关系,请用关系代数表达式表示以下数据查询操作. 学生关系SSNO,SNAME,AGE,SEX 学习关系SCSNO,CNO,GRADE 课程关系CCNO,CNAME,TEACHER 1 检索学习课程号为C2的学生学号与成绩 2 检索选修课程名为MATHS的学生的学号,姓名和成绩 3 检索没有选修课程号为C2的学生的姓名和年龄 4检索女同学选修的课程名和任课教师名 5检索不学“ENGLISH”课程的学生姓名和年龄,S表,P表,J表,SPJ表,供应商S-零件P-项目J 数据库,S表,P表,J表,SPJ表,供应商S-零件P-项目J 数据库,1求供应工程J1零件的供应商号码SNO; 2求供应工程J1零件P1的供应商号码SNO; 3求供应工程J1零件为红色的供应商号码SNO; 4求没有使用天津供应商生产的红色零件的 工程号JNO; 5求至少用了供应商S1所供应的全部零件的 工程号JNO。,

注意事项

本文(0数据库理论2_n.ppt)为本站会员(w89153)主动上传,乐乐文库,课件爱好者仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知乐乐文库,课件爱好者(发送邮件至1748365562@qq.com或直接QQ联系客服),我们立即给予删除!

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

关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

站长联系QQ:1748365562
工信部备案号: 鄂ICP备17024083号                 公安局备案号:42118102000213

收起
展开