数据库系统讲义03(关系模型及关系运算,2008秋)

上传人:kms****20 文档编号:45692538 上传时间:2018-06-18 格式:PDF 页数:84 大小:630.75KB
返回 下载 相关 举报
数据库系统讲义03(关系模型及关系运算,2008秋)_第1页
第1页 / 共84页
数据库系统讲义03(关系模型及关系运算,2008秋)_第2页
第2页 / 共84页
数据库系统讲义03(关系模型及关系运算,2008秋)_第3页
第3页 / 共84页
数据库系统讲义03(关系模型及关系运算,2008秋)_第4页
第4页 / 共84页
数据库系统讲义03(关系模型及关系运算,2008秋)_第5页
第5页 / 共84页
点击查看更多>>
资源描述

《数据库系统讲义03(关系模型及关系运算,2008秋)》由会员分享,可在线阅读,更多相关《数据库系统讲义03(关系模型及关系运算,2008秋)(84页珍藏版)》请在金锄头文库上搜索。

1、1/82第三章 关系模型及关系运算第三章 关系模型及关系运算数据库系统概念与技术 第三章 关系模型及关系运算第三章 关系模型及关系运算真即是美,知识 是最高的善无限风光在险峰无限风光在险峰1France数据库 系统概述数据库 系统概述3Hungary你我它你我它Belgium0实体实体-联系模型联系模型Germany2SQLIreland4SQL编程编程Italy5数据完整性数据完整性Latvia6关系数据库设计关系数据库设计Lithuania7查询处理及优化查询处理及优化Luxemburg8数据库管理系统数据库管理系统DBMSNetherlands92/82第三章 关系模型及关系运算第三章

2、关系模型及关系运算3.1 关系 3.2 关系模型 3.3 关系代数 3.4 元组关系演算 3.5 域关系演算数据库数据库 数据的集合数据的集合processprocessprocessprocessprocessrequestresponse访问语言语言处理数据结构交互式语言嵌入式语言完整性控制DBMS其它查询优化处理数据的概念模型数据库系统设计现实世界逻辑结构数据操作逻辑结构数据操作物理结构3/82第三章 关系模型及关系运算第三章 关系模型及关系运算第三章 关系模型及关系运算第三章 关系模型及关系运算3.1 关系关系 3.2 关系模型 3.3 关系代数 3.4 元组关系演算 3.5 域关系演

3、算4/82第三章 关系模型及关系运算第三章 关系模型及关系运算?关系模型(relation model)?关系理论是建立在集合代数理论基础上的,有着坚实 的数学基础。 ?E.F.Codd于70年代初提出关系数据理论,他因此获 得1981年的ACM图灵奖图灵奖。 ?早期代表系统 ?System:由IBM研制。 ?INGRES:由加州Berkeley分校研制。 ?目前主流的商业数据库系统 ?Oracle,Informix,Sybase,SQL Server,DB2。 ?Access,Foxpro,Foxbase。3.1 关系3.1 关系5/82第三章 关系模型及关系运算第三章 关系模型及关系运算?

4、域域(Domain) ?一组值的集合,这组值具有相同的数据类型.Null是任 何域的成员. ?笛卡尔积笛卡尔积(Cartesian Product) ?一组域D1 , D2 , Dn的笛卡尔积为: D1D2Dn= (d1 , d2 , , dn) | diDi, i=1,n ?笛卡尔积的每个元素(d1 , d2 , , dn)称作一个n-元组元组 (n-tuple)。 ?元组的每一个值di叫做一个分量分量(component). ?若Di为有限集,其基数为mi,则笛卡尔积的基数基数为inim =13.1 关系3.1 关系6/82第三章 关系模型及关系运算第三章 关系模型及关系运算例:设D1为教

5、师集合(T)= t1,t2 D2为学生集合(S)= s1,s2 ,s3 D3为课程集合(C)= c1,c2 则笛卡尔积D1D2D3是个三元组集合,元组个数为 232,是所有可能的(教师,学生,课程)元组集合: t1,s1,c1, t1,s1,c2, t1,s2,c1, t1,s2,c2, t1,s3,c1, t1,s3,c2, t2,s1,c1, t2,s1,c2, t2,s2,c1, t2,s2,c2, t2,s3,c1, t2,s3,c2 3.1 关系3.1 关系t1t2s1s2s3c1c2t1,s1,c1 t1,s1,c27/82第三章 关系模型及关系运算第三章 关系模型及关系运算?关系

6、关系(relation) ?笛卡尔积D1D2Dn的子集子集叫做在域D1, D2, Dn上的关系,用R(D1, D2, Dn)表示。 ?R是关系的名字,n是关系的度或目度或目(Degree)。 ?n=1,一元关系 ?n=2,二元关系 ?关系是笛卡尔积中有意义有意义的子集。 ?A=所有的男人所有的女人所有的小孩 ?有家庭关系的男人,女人,小孩 A ?A=所有的学生所有的课程 ?有选修关系的学生,课程 A ?关系中元组的个数称为关系的基数基数(Cardinality).3.1 关系3.1 关系8/82第三章 关系模型及关系运算第三章 关系模型及关系运算?关系和表的一一对应 ?一个关系对应一张表,表用

7、表名表名标识.表和关系同名. ?一个元组对应一行数据,行用行号行号标识.由于行数会发生变化(增加,删除, 修改),因此,行一般不命名.表的所有行的集合是笛卡尔积的子集. ?某个分量的所有取值对应表的某一列的所有取值.列用列号列号标识.由于列 数一般不发生变化,因此,列要命名,称为列名或属性名列名或属性名.表的某一列的所 有取值的集合是某个域的子集(域名不一定是列名,因为域和列不等价).关系表 元组行 分量列t1,s3,c1元组行元组行3.1 关系3.1 关系t1,s2,c2t1,s2,c1t1,s1,c2t1,s1,c1分量列关系关系表表9/82第三章 关系模型及关系运算第三章 关系模型及关系

8、运算?用表表表示关系.例:设D1为教师集合(T)= t1,t2 D2为学生集合(S)= s1,s2 ,s3 D3为课程集合(C)= c1,c2 则D1D2D3上的一个关系:R(D1,D2,D3)= t1,s1 ,c1, t1,s1 ,c2, t1,s2 ,c1, t1,s2 ,c2, t2,s3 ,c2对应的表如 下元组/行 号分量/列 号 属性名teach表/关系 名3.1 关系3.1 关系10/82第三章 关系模型及关系运算第三章 关系模型及关系运算?关系的性质 ?列是同质的.即每一列中的分量来自同一域,是同一类 型的数据. diDiSsex男,女3.1 关系3.1 关系11/82第三章

9、关系模型及关系运算第三章 关系模型及关系运算?表的不同列可以来自同一个域,为了区别不同的列,每 列必须有不同的属性名. 例:设 D1=Person = 王兵,李平,张英,丁梅,吴芳 D2=Child = 王一,李一,李二 则D1D1D2上的一个家庭关系: R(D1,D2,D3)=Family= 王兵,张英,王一, 李平,丁梅,李一, 李平,丁梅,李二对应的 表如下李一丁梅李平李二丁梅李平王一张英王兵ChildMother(角色角色)Father(角色角色)Family3.1 关系3.1 关系12/82第三章 关系模型及关系运算第三章 关系模型及关系运算?行列的顺序无关紧要.3.1 关系3.1

10、关系同一个关系同一个关系13/82第三章 关系模型及关系运算第三章 关系模型及关系运算?任意两个元组不能完全相同(集合内不能有相同的两 个元素).3.1 关系3.1 关系14/82第三章 关系模型及关系运算第三章 关系模型及关系运算?每一分量必须是不可再分的数据项(1NF,复合属性不 允许,多值属性值分为多个行).不符合第一范式不符合第一范式 (Not Table)符合第一范式符合第一范式(Table)3.1 关系3.1 关系15/82第三章 关系模型及关系运算第三章 关系模型及关系运算?关系的码 ?候选码(Candidate Key) ?关系中的一个属性组,其值能唯一标识一个元组.若从属性组

11、 中去掉任何一个属性,它就不具有这一性质了,这样的属性组 称作候选码候选码.-E-R模型中候选码. ?任何一个候选码中的属性称作主属性主属性,其它的为非主属性非主属性. ?主码(Primary Key) ?进行数据库设计时,从一个关系的多个候选码中选定一个作 为主码主码. -E-R模型中主码.全码PK(Student)=S#PK(Family)=Father,Mother,Child3.1 关系3.1 关系16/82第三章 关系模型及关系运算第三章 关系模型及关系运算?外码(Foreign Key) ?关系r中的一个属性组,它不是r的码,但它与另一个关系s的 主码相对应,则称这个属性组为r的参

12、照s的外码, r称为参照 关系, s称为被参照关系.主码主码主码外码 主码外码FK(Student)=D#3.1 关系3.1 关系17/82第三章 关系模型及关系运算第三章 关系模型及关系运算第三章 关系模型及关系运算第三章 关系模型及关系运算3.1 关系关系 3.2 关系模型关系模型 3.3 关系代数 3.4 元组关系演算 3.5 域关系演算域 笛卡尔积 关系 关系的性质 关系的候选码和主属性 关系的主码和外码18/82第三章 关系模型及关系运算第三章 关系模型及关系运算?数据结构. ?单一的数据结构关系 ?关系模式: 关系的结构描述 ?关系名. ?关系中的属性名. ?属性向域的映象.属性向

13、域的映象, 一般直接说明为属性的 类型、长度等. ?属性间的依赖关系.3.2 关系模型3.2 关系模型R(A1:D1 , A2:D2 , , An:Dn )关系模式关系模式关系模式的简单表示关系模式的简单表示R(A1 , A2 , , An)Student( S# char(8), Sname char(10), Ssex char(2), Sage integer , D# char(2), Sclass char(6) )Student(S#,Sname,Ssex,Sage,D#,class)19/82第三章 关系模型及关系运算第三章 关系模型及关系运算?关系实例关系实例:即关系,是符合某

14、个关系模式在某个时刻的元组的 集合.关系模式和关系实例是型与值的关系. ?关系模式与关系(实例) ?同一关系模式下,可有很多的关系. ? 关系模式是关系的结构描述,关系是关系模式在某一时刻的 数据. ? 关系模式是稳定的;而关系是某一时刻的值,是随时间可能 变化的.Student(S# char(8), Sname char(10), Ssex char(2), Sage integer, D# char(2), Sclass char(6)20/82第三章 关系模型及关系运算第三章 关系模型及关系运算?(关系关系)数据库模式数据库模式.关系数据库的描述.即一组域的定义以及 在这组域上定义的若

15、干关系模式的集合. ?(关系关系)数据库实例数据库实例.符合某个数据库模式在某个时刻关系的 集合.数据库模式和数据库实例是型与值的关系. ?关系数据库形式化描述. ?域. D= Dk, k=1,2,. ?关系模式. R(A1, A2, Aj , An), j=1,2,n. ?主码. PK(R) . ?外码. FK(R) . ?元组. t(i)=(ri1, ri2 , rij, rin), rijDiD, i=1,2,m. t为元 组变量. ?关系实例. r(R)= t(i) / i=1,2,m. .21/82第三章 关系模型及关系运算第三章 关系模型及关系运算?关系数据库模式的模式图.表示属性

16、以及主码和外码.主码主码主码外码主码外码FK(Student)=D#S#Sname Sname Ssex Sage D# SclassD#DeptstudentDname Dean父 子父 子22/82第三章 关系模型及关系运算第三章 关系模型及关系运算?E-R模型向关系模式的转换 ?实体集的关系模式: A(A1,A2,A3,); B(B1,B2,B3,) ?联系集的关系模式: Q(PK(A),PK(B),Q1,Q2,) ?递归联系集的关系模式: Q(role1,role2,Q1,Q2,)A3A2A1实体集实体集A联系集联系集QA1Q1Q2B13.2 关系模型3.2 关系模型E-R模型模型关系模型关系模型关

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

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