中科大软件学院数据库系统概念课件

上传人:F****n 文档编号:88026423 上传时间:2019-04-17 格式:PPT 页数:85 大小:1.81MB
返回 下载 相关 举报
中科大软件学院数据库系统概念课件_第1页
第1页 / 共85页
中科大软件学院数据库系统概念课件_第2页
第2页 / 共85页
中科大软件学院数据库系统概念课件_第3页
第3页 / 共85页
中科大软件学院数据库系统概念课件_第4页
第4页 / 共85页
中科大软件学院数据库系统概念课件_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《中科大软件学院数据库系统概念课件》由会员分享,可在线阅读,更多相关《中科大软件学院数据库系统概念课件(85页珍藏版)》请在金锄头文库上搜索。

1、第3章 关系数据模型,课程知识结构,Chp.1 数据库系统概述,Chp.2 数据库系统体系结构,Chp.3 关系数据模型,Chp.4 SQL,Chp.5 PL/SQL,Chp.6 关系数据库模式设计,Chp.7 数据库设计,Chp.8 数据库应用系统设计,Chp.9 数据库保护 *,一、数据模型,使用数据库技术,首先必须把现实世界中的事物表示为计算机能够处理的数据 模型是对现实世界特征的抽象 数据模型是对现实世界数据特征的抽象 数据模型的定义 描述现实世界实体、实体间联系以及数据语义和一致性约束的模型,1、数据模型的分类,根据模型的不同应用目的 概念数据模型(概念模型) 按用户的观点对数据进行

2、建模,强调语义表达功能 独立于计算机系统和DBMS 主要用于数据库的概念设计 结构数据模型(数据模型) 按计算机系统的观点对数据进行建模,直接面向数据库的逻辑结构 与计算机系统和DBMS相关(DBMS支持某种数据模型) 有严格的形式化定义,以便于在计算机系统中实现,2、数据抽象的层次,现实世界,信息世界 概念模型,机器世界 数据模型,认识抽象,转换,如E-R模型,如关系模型、层次模型、网状模型、面向对象模型,3、数据模型的例子,现实世界 客户存款 信息世界 概念模型(E-R模型),M,N,3、数据模型的例子,机器世界 数据模型 (关系模型),4、数据模型的三要素,数据结构 现实世界实体及实体间

3、联系的表示和实现 数据操作 数据库检索和更新的实现 数据的完整性约束 数据及数据间联系应具有的制约和依赖规则:如,一个系可有多个学生,一个学生只能属于一个系,二、关系模型概论,关系模型 用二维表格结构表示实体集,外键表示实体间联系,三类完整性表示数据约束的数据模型,1、一些术语,属性(Attribute):二维表格的每一列称为关系的一个属性,列的数目称为度(degree) 元组(Tuple):每一行称为关系的一个元组,元组的数目称为势(cardinality) 域(Domain):一组具有相同数据类型的值的集合。每个属性有一个域 关系(Relation):元组的集合,2、关系、关系模式与关系数

4、据库,关系模式(Relation Schema) 关系的逻辑结构和特征的描述 对应于二维表格的表头 通常由属性集和各属性域表示,不关心域时可省略域 Student(Name, Age, Class) 关系:关系模式的实例,即二维表(元组的集合) 关系数据库模式(Relational Database Schema):关系模式的集合 关系数据库:关系数据库模式的实例,3、关系模式的形式化定义,关系模式可以形式化定义为: R(U,D,dom,F) R为关系模式名,U是一个属性集,D是U中属性的值所来自的域,Dom是属性向域的映射集合,F是属性间的依赖关系 例:Student关系模式的定义 Stud

5、ent(U,D,dom,F) U=sno,name,age D=CHAR,INT Dom=dom(sno)=dom(name)=CHAR,dom(age)=INT F=snoname, snoage 关系模式通常简写为R(U),或R(A1,A2,An),4、超码、候选码和主码,超码(Super Key) 在关系中能唯一标识一个元组的属性集称为关系模式的超码 候选码(Candidate Key) 不含多余属性的超码 包含在任何一个候选码中的属性称为主属性(Primary Attribute) 不包含在任何一个候选码中的属性称为非主属性(Nonprime Attribute) 主码(Primary

6、 Key) 用户选作元组标识的一个候选码称为主码,其余的候选码称为替换码(Alternate Key),4、超码、候选码和主码,Student(Sno, Name, Age, LibraryID) 超码 (sno,name) (libraryID, name) 候选码 Sno LibraryID 主码 若选sno,则sno为主码,libraryID为替换码 若选sno,则libraryID 为主码, sno为替换码,5、关系的性质,一个关系是一个规范化的二维表格 属性值不可分解 不允许表中有表 元组不可重复 因此一个关系模式至少存在一个候选码 没有行序,即元组之间无序 关系是元组的集合,集合的

7、元素是无序的 没有列序,即属性之间无序 关系模式是属性的集合,更新二义性:若001现也选了C语言,则DBMS在更新时面临二义性: 1.修改第1个元组的课程 2.修改第2个元组的学号,6、关系模型的形式化定义,数据结构 关系:数据库中全部数据及数据间联系都以关系来表示 数据操作 关系运算 关系代数 关系演算(元组关系演算、域关系演算) 数据的完整性约束 关系模型的三类完整性规则,7、关系模型的三类完整性规则,关系数据库的数据和操作必须遵循的规则 实体完整性(Entity Integrity) 参照完整性(Referential Integrity) 用户自定义完整性(User-Defined I

8、ntegrity),(1)实体完整性,关系模式R的主码的属性不可取空值,(2)参照完整性,外码(Foreign Key) 关系模式R的外码是它的一个属性集FK,满足: 存在带有候选码CK的关系模式S,且 R的任一非空FK值都在S的CK中有一个相同的值 S称为被参照关系(Referenced Relation),R称为参照关系(Referential Relation),R 选课关系,S 学生关系,(2)参照完整性,参照关系R的任一个外码值必须 等于被参照关系S中所参照的候选码的某个值 或者为空,R 选课关系,S 学生关系,002,(3)用户自定义完整性,针对某一具体数据的约束条件,反映某一具体

9、应用所涉及的数据必须满足的特殊语义 由应用环境决定,成绩=0 and 成绩=100,回顾:关系模型的形式化定义,数据结构 关系:数据库中全部数据及数据间联系都以关系来表示 数据的完整性约束 关系模型的三类完整性规则:实体、参照、自定义 数据操作 关系运算 关系代数 关系演算(元组关系演算、域关系演算),三、关系代数(Relational Algebra),以关系为运算对象的一组运算集合 运算结果仍是关系 以集合操作为基本运算,关系代数,原始的关系代数,扩充的关系代数,传统集合操作(4个操作),专门的关系操作(4个操作),1、一元操作和二元操作,一元操作(Unary Operation) 只有一

10、个变元的代数操作 如选择、投影 二元操作(Binary Operation) 具有两个变元的代数操作 如并、交、差、笛卡儿积、联接、除,2、原始的关系代数,传统的集合操作 并(Union):返回两个关系中所有元组 交(Intersection):返回两个关系共同的元组 差(Difference):返回属于第一个关系但不属于第二个关系的元组 笛卡儿积(Cartesian Product):返回两个关系的元组的任意组合所得到的元组集合,2、原始的关系代数,专门的关系操作 选择(Select):返回指定关系中满足给定条件的元组 投影(Project):返回指定关系中去掉若干属性后所得的元组 联接(J

11、oin):从两个关系的笛卡儿积中选取属性间满足给定条件的元组 除(Divide):除的结果与第二个关系的笛卡儿积包含在第一个关系中,3、关系代数的封闭性,关系代数的封闭性 任意关系代数操作的结果仍是一个关系 关系代数的封闭性保证了关系代数操作的可嵌套性 例如:(S Join P) Where City=Athens,联接,选择,4、关系代数表达式的语法,数学符号表示 并 、交、差、笛卡儿积 选择 、投影 、联接 、除 英语关键字表示 并Union、交Intersect、差Minus、笛卡儿积Times 选择Where、投影All But、联接Join、除Devideby,5、原始关系代数操作的

12、语义,并 交 差 笛卡儿积(积),选择 投影 联接 除,(1)并,RSttRtS t是元组变量 R和S是关系代数表达式 R与S的degree必须相同 R与S的类型必须相同,(2)交,RSttRtS t是元组变量 R和S是关系代数表达式 R与S的degree必须相同 R与S的类型必须相同,(3)差,RSttRt S t是元组变量 R和S是关系代数表达式 R与S的degree必须相同 R与S的类型必须相同,(4)积,RStt=trRtsS,RS的cardinality R的cardinality * S的cardinality RS的degree R的degreeS的degree,当结果中出现属性

13、同名时,以 “关系名.属性”表示,(5)选择,F(R)ttRF(t)=TRUE 水平划分关系 F是一个逻辑表达式,表示所选的元组应满足的条件 F由逻辑运算符(NOT)、(AND)、(OR)连接算术表达式构成 算术表达式形为XY,可以是,=, ,或,X和Y可以是属性名、常量或简单函数,年龄20(R),R,选择是按行选择,只会改变关系的cardinality,不改变degree,(5)选择:一些例子,设有学生关系 学生(学号,姓名,年龄,性别,系名) 查询计算机系的男学生 系名计算机系性别男 (学生) 查询年龄为20或21岁的学生 年龄20年龄21 (学生),(6)投影,A(R)tAtR,其中A是

14、R的属性子集 垂直划分关系,选取若干列所构成的关系 A中的属性不可重复,姓名,年龄(R),R,(7)联接,自然联接 (NaturalJoin) 联接 (ThetaJoin) 等值联接 (EquiJoin),(7)联接:自然联接,设R的属性集为X,Y,S的属性集为Y,Z RS=t|t=tX,YRtY,ZS 相当于在RS中选取R和S的所有公共属性值都相等的元组,并在结果中去掉重复属性,(8)联接: 联接,设R的属性集为X,Y,S的属性集为Y,Z R S=t|t=trRtsStrAtsB 相当于在RS中选取R的属性A值与S的属性B值满足比较关系的元组。,R.年龄 S.年龄,(9)联接: 等值联接(e

15、quijoin),在联接中,当为等号时,称为“等值联接” 等值联接是联接中比较常见的形式,R.姓名 = S.姓名,如果在所有公共属性上都作等值联接,并且在结果中去掉重复属性,即为自然联接,(10)除(divide),设关系R的属性集为为X,Y,S的属性集为Y,则RS的结果是一个关系P,P的属性集为X,并且PS包含在R中 P的degreeR的degreeS的degree RS的计算方法 T X (R) W(TS)R V X (W) RSTV,计算X和Y的积中不包含在R中的X,T减去这部分X,剩下的就是XY包含在R中的X,就是最终的结果,(10)除:例子,学生选课关系: R(sno,cno,score) 求选了PB00001001所选全部课程的学生学号 PB00001001所选全部课程 cno(snoPB00001001 (R) 选了PB00001001所选全部课程的学生学号 sno, cno(R)cno(snoPB00001001 (R),对于涉及全部、所有一类的查询, 通常可以考虑除操作,补充:重命名操作(Rename),数据库中的关系都具有名字,但关系代数表达式的结果没有可供引用的名字 引入重命名操作使关系代数表达式的结果可以方便地在其它位置引用 定义 x(E):将关系代数表达式E重

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号