关系模型与关系代数大学精讲.ppt
《关系模型与关系代数大学精讲.ppt》由会员分享,可在线阅读,更多相关《关系模型与关系代数大学精讲.ppt(61页珍藏版)》请在三一文库上搜索。
1、数据库系统概论数据库系统概论An Introduction to Database System第第2 2章章 关系模型与关系代数关系模型与关系代数主要内容主要内容n关系模型概述关系模型概述 关系数据结构关系数据结构 关系的完整性关系的完整性 关系操作关系操作n关系代数关系代数 2.1关系模型概述关系模型概述2.1.12.1.1关系数据模型关系数据模型 由由E.F.CoddE.F.Codd 19701970年提出年提出 之之后后,提提出出了了关关系系代代数数和和关关系系演演算算的的概概念念,1NF1NF5NF5NF(范式)(范式)关系数据库应用数学方法处理数据库中的数据关系数据库应用数学方法处
2、理数据库中的数据8080年年代代后后,关关系系数数据据库库系系统统成成为为最最重重要要、最最流流行的数据库系统行的数据库系统典型商用系统典型商用系统ORACLE ORACLE SYBASE SYBASE INFORMIX INFORMIX DB2 DB2 INGRES INGRES MySQLMySQLE.F.Codd1923-2003F美国美国IBM公司研究员公司研究员F1981获获TuringAward得主得主F关系数据库之父关系数据库之父A.M.TuringDijkstra姚姚期期智智2.1.2 2.1.2 漫谈关系漫谈关系关系(关系(relationrelation)1 1、在用户看来
3、在用户看来,关系模型中数据的逻辑结构是一张扁平的关系模型中数据的逻辑结构是一张扁平的二维表二维表。籍贯籍贯 年龄年龄 系别系别 性别性别 姓名姓名 学号学号 09002 09002 北京北京 2121计算机计算机 男男 白平白平 11023 11023 山西山西 2020数学数学 女女刘佳刘佳 10002 10002 黑龙江黑龙江 19 19 计算机计算机 男男 张三立张三立 10018 10018 北京北京 18 18 数学数学 女女 王铭王铭 10013 10013 山东山东 19 19 信息信息 女女 刘晨刘晨 黑龙江黑龙江 20 20 计算机计算机 男男 李勇李勇 09001 090
4、01 学生登记表(关系)学生登记表(关系)2 2、从数学的角度看,关系是、从数学的角度看,关系是集合。集合。笛卡尔笛卡尔(Descartes)15961650(1)Cartesian Product(1)Cartesian Product定义:定义:给定一组域D1,D2,Dn,这些域中可有相同的。D1,D2,Dn的笛卡尔积为:D D1 1D D2 2D Dn n(d d1 1,d d2 2,d dn n))d di i D Di i,i i1,2,1,2,n n (2)(2)关系关系(Relation)(Relation)D1D2Dn的子集叫作在域D1,D2,Dn上的关系,表示为 R(D1,D
5、2,Dn)籍贯籍贯 年龄年龄 系别系别 性别性别 姓名姓名 学号学号 09002 09002 北京北京 2121计算机计算机 男男 白平白平 11023 11023 山西山西 2020数学数学 女女刘佳刘佳 10002 10002 黑龙江黑龙江 19 19 计算机计算机 男男 张三立张三立 10018 10018 北京北京 18 18 数学数学 女女 王铭王铭 10013 10013 山东山东 19 19 信息信息 女女 刘晨刘晨 黑龙江黑龙江 20 20 计算机计算机 男男 李勇李勇 09001 09001 学生登记表(关系)学生登记表(关系)关系数据库(数据库(Relational Rel
6、ational DataBaseDataBase)在一个给定的应用领域中,所有关系的集合在一个给定的应用领域中,所有关系的集合构成构成关系数据库关系数据库。2.1.32.1.3关系中的术语关系中的术语元组(元组(tupletuple)属性属性(attribute)(attribute)域(域(domaindomain)候选码(候选码(Candidate KeyCandidate Key)主码(主码(Primary KeyPrimary Key)主属性主属性(Prime Attribute)(Prime Attribute)非主属性(非主属性(NonprimaryNonprimary attri
7、bute attribute)外码(外码(Foreign KeyForeign Key)候选码(候选码(Candidate keyCandidate key)举例举例 能够唯一地标识一个元组的属性组。能够唯一地标识一个元组的属性组。主码(主码(Primary keyPrimary key)用户选定的候选码称为主码。用户选定的候选码称为主码。主属性:主属性:候选候选码码中的属性称为主属性。中的属性称为主属性。非主属性:非主属性:不是主属性的属性称为非主属性。不是主属性的属性称为非主属性。外码(外码(Foreign keyForeign key)若模式若模式R R中的属性组中的属性组K K是其它模
8、式是其它模式S S(S(S可以是可以是R R!)的主的主码码,则,则K K称为模式称为模式R R的外码。的外码。其中其中,称称R R是参考关系,是参考关系,S S是被参考关系是被参考关系关系的基本性质 列是同质的(列是同质的(HomogeneousHomogeneous)不同的列可出自同一个域不同的列可出自同一个域 列的顺序无所谓列的顺序无所谓 任意两个元组不能完全相同任意两个元组不能完全相同 行的顺序无所谓行的顺序无所谓 分量必须取原子值分量必须取原子值 关系模式(模式(Relational SchemaRelational Schema)关系模式是关系的描述。它的形式化表示为:关系模式是关
9、系的描述。它的形式化表示为:R(U,D,DOM,F)R(U,D,DOM,F)R-R-关系名关系名,U-,U-属性属性,D-,D-属性域,属性域,DOM-DOM-属性向域的映射属性向域的映射 ,F-,F-属性间的依赖属性间的依赖说明:说明:关系模式是静态的、稳定的,是型;关系模式是静态的、稳定的,是型;关系是关系模式某一时刻的状态,关系是关系模式某一时刻的状态,是变化的,是值;是变化的,是值;2.1.4 2.1.4 关系的完整性关系的完整性 实体完整性实体完整性 参照完整性参照完整性 用户定义的完整性用户定义的完整性1.1.实体完整性实体完整性实体完整性规则(实体完整性规则(Entity Int
10、egrityEntity Integrity)若若A A是关系是关系R R的主码,则的主码,则A A不能取空值或重复值不能取空值或重复值2.2.参照完整性参照完整性若属性组若属性组FKFK是关系是关系R R的外码的外码,它与关系它与关系S S的主码的主码PKPK相对应。相对应。则对于则对于R R中每个元组在中每个元组在F F上的值必须为:上的值必须为:或者取空值(或者取空值(F F的每个属性值均为空值)的每个属性值均为空值)或者等于或者等于S S中某个元组的中某个元组的PKPK的值(主码值)的值(主码值)举例说明举例说明籍贯籍贯 年龄年龄 系别系别 性别性别 姓名姓名 学号学号 09002 0
11、9002 北京北京 2121计算机计算机 男男 白平白平 11023 11023 山西山西 2020数学数学 女女刘佳刘佳 10002 10002 黑龙江黑龙江 19 19 计算机计算机 男男 张三立张三立 10018 10018 北京北京 18 18 数学数学 女女 王铭王铭 10013 10013 山东山东 19 19 信息信息 女女 刘晨刘晨 黑龙江黑龙江 20 20 计算机计算机 男男 李勇李勇 09001 09001 学生登记表(关系)学生登记表(关系)分院分院学生会主席学生会主席1001899999100021001810002NULL3.3.用户定义的完整性用户定义的完整性用户定
12、义的完整性是针对某一具体用户定义的完整性是针对某一具体关系关系数据数据模式的约束条件,反映某一具体应用所涉及模式的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。的数据必须满足的语义要求。例如:关系模式例如:关系模式S S、C C、SCSC中中ageage在在15 15-3030岁岁;sexsex取取值值男男、女女grade grade 在在0-1000-100分之间分之间Create table SC(S#CHAR(4),c#CHAR(4),grade int,primary key(S#,c#),foreign key(S#)reference S(S#),foreign key
13、c#)reference C(c#),CHECK(grade is null)OR (grade between 0 and 100)如何实现中完整性?很简单如何实现中完整性?很简单举例:举例:定义学生选课表定义学生选课表SC(S#,c#,grade)1.1.关系代数语言关系代数语言 ISBLISBL(InformationSystemBaseLanguage)2.2.关系演算语言关系演算语言 3.SQL3.SQL语言语言 OracleOracle、SybaseSybase、DB2DB2元组演算元组演算 ALPHA ALPHA 域演算域演算 QBEQBE2.1.52.1.5关系操作关系操作1
14、1.关系结构关系结构2.2.关系的完整性(约束条件)关系的完整性(约束条件)实体完整性(用主健实现实体完整性(用主健实现 PKPK)参照完整性(用外健实现参照完整性(用外健实现 FKFK)用户定义完整性(用触发器实现用户定义完整性(用触发器实现 TraggerTragger)3.3.关系的操作关系的操作总结:关系的三要素总结:关系的三要素重要说明:重要说明:如何设计关系模式,既关系结构和如何设计关系模式,既关系结构和关系完整性,是个复杂的、意义非常重大的问题,关系完整性,是个复杂的、意义非常重大的问题,属于数据库设计领域属于数据库设计领域实现关系模式,是非常容易解决的问题,只是实现关系模式,
15、是非常容易解决的问题,只是SQL的一条语句而已的一条语句而已2.2 2.2 关系代数关系代数1.1.关系代数关系代数一种对关系抽象的查询语言询一种对关系抽象的查询语言询2 2关系代数运算的三个要素关系代数运算的三个要素运算对象:关系运算对象:关系运算结果:关系运算结果:关系运算符:四类运算符:四类3.3.写好关系查询语句要点写好关系查询语句要点之一:之一:关系操作是对关系的运算,其运算结果也是关关系操作是对关系的运算,其运算结果也是关系。要问:关系的结构是什么?元组是什么?系。要问:关系的结构是什么?元组是什么?之二:之二:了解关系操作的过程了解关系操作的过程集合运算符-并差交广义笛卡尔积比较
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 模型 代数 大学
三一文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。


中班数学《数数有几个》PPT课件教案参考教案.docx
住宅小区物业管理系统的开发.ppt
