数据库应用与开发课件第2章.pptx
《数据库应用与开发课件第2章.pptx》由会员分享,可在线阅读,更多相关《数据库应用与开发课件第2章.pptx(72页珍藏版)》请在文库网上搜索。
1、 第第2章章 关系数据库数学模型关系数据库数学模型 主要内容2.1关系数据模型2.2 EER模型到关系模式的转换2.3关系代数2.4关系演算*学习目标 了解关系数据库模型掌握EER模型到关系模式的转换了解关系代数的概念熟练掌握关系演算 导入案例导入案例 关系模型是当前数据库厂商最广泛采用的数据库系统模型,是相对高关系模型是当前数据库厂商最广泛采用的数据库系统模型,是相对高效和安全的。层次模型和网状模型都有各自的缺点。效和安全的。层次模型和网状模型都有各自的缺点。关系模型采取二维表来表示一切实体及其关系,二维表是一个关系集关系模型采取二维表来表示一切实体及其关系,二维表是一个关系集合,以代数的关
2、系运算为理论基础,二维表上的数据操作及完整性约合,以代数的关系运算为理论基础,二维表上的数据操作及完整性约束都可以使用关系代数上的关系运算来描述和推理,是更加科学的,束都可以使用关系代数上的关系运算来描述和推理,是更加科学的,由此也保证了关系数据库的安全、高效、更易推广普及。相对应的关由此也保证了关系数据库的安全、高效、更易推广普及。相对应的关系代数运算还可以更加细致的用以离散数学为理论基础的关系演算来系代数运算还可以更加细致的用以离散数学为理论基础的关系演算来描述,演算语言更加接近于自然语言。接近英语母语的数据库语言描述,演算语言更加接近于自然语言。接近英语母语的数据库语言SQLSQL的设计
3、与实现是在两种语言的基础上诞生的。的设计与实现是在两种语言的基础上诞生的。本章首先介绍关系数据模型及用来描述它的数学概念,之后的本章首先介绍关系数据模型及用来描述它的数学概念,之后的EEREER模模型转化为关系模式介绍了概念模型向关系模式转化的方法,重点介绍型转化为关系模式介绍了概念模型向关系模式转化的方法,重点介绍了关系代数语言,对关系演算语言进行了简单介绍。了关系代数语言,对关系演算语言进行了简单介绍。2.1关系数据模型关系数据模型关系数据模型概述关系数据模型概述关系数据结构及形式化定义关系数据结构及形式化定义关系完整性关系完整性 2.1.1 关系数据模型概述关系数据模型概述关系数据库系统
4、是支持关系模型关系模型的数据库系统。关系数据模型(RDBMS)包含三要素:关系数据结构、关系操作集合、关系完整性约束。关系数据结构:关系数据结构:是单一的数据结构关系。关系是二维表(行列),实体及其联系都用关系表示。在用户看来关系数据的逻辑模型就是一张二维表。关系操作关系操作包括:查询:选择Select;投影Project;连接Join;除Divide;并Union;交Intersection;差Difference;编辑:增加Insert;删除Delete;修改Update;关系数据模型概述(续)关系数据模型概述(续)关系数据模型概述(续)关系数据模型概述(续)描述关系操作的语言有关系代数语
5、言和关系演算语言。关系数据模型概述(续)关系数据模型概述(续)完整性约束完整性约束包括:实体、参照、DBMS保证、用户自定义。特点特点是集合方式(操作对象和结果都是关系元组的集合关系),而非关系完整性约束特点是以记录为操作单位。2.1.2关系数据结构及形式化定义关系数据结构及形式化定义概念1域(Domain):一组具有相同数据类型的值的集合。例:自然数,实数,英文字母。关系数据结构及形式化定义(续)关系数据结构及形式化定义(续)概念 2笛卡尔积(Cartesian Product):给定一组域D1,D2,,Dn,这些域中可以有相同的。则D1,D2,,Dn的笛卡尔积为:D1 x D2 xx Dn
6、=(d1,d2,dn)|diDi,i=1,2,n (d1,d2,dn)-n元组(n-tuple);di-元组的每一分量(Component);Di为有限集时,其基数为mi,则卡积的基数为M=m1*m2*mn。关系数据结构及形式化定义(续)关系数据结构及形式化定义(续)【例2.1】:若 A=a,b,B=1,2,3 则A x B=(a,1),(a,2),(a,3),(b,1),(b,2),(b,3)。卡积D1 x D2 xx Dn=(d1,d2,dn)|diDi,i=1,2,n 特性说明:特性说明:1)从每一集合中抽一个元素做组合;(有序)2)卡积没有交换率;3)亦可看成是一个二维表;基数,二维表
7、的行数,集合元素的个数。关系数据结构及形式化定义(续)关系数据结构及形式化定义(续)概念 3关系:D1 x D2 xx Dn的子集叫做在域D1,D2,.Dn上的关系。表示为:R(D1,D2,Dn),其中,R为关系名;n为关系的度或目。关系中的每个元素是关系中的元组,通常用t表示。n=1,单元关系(unary relation);n=2,二元关系(Binary relation)。关系数据结构及形式化定义(续)关系数据结构及形式化定义(续)关系为卡积的有限子集,也为二维表,行对应元组,列对应于域。不同的列用不同的名字来区分,称为属性。n目关系有n个属性。例如:R1=(a,1),(b,2),R2=
8、(a,1),(a,2),(b,1),(b,3)。关系是元组的集合,是笛卡尔积的子集。一般来说,一个关系只取笛卡尔积的子集才具有意义。此外,还要对关系的要求进行规范,将没有实际意义的元组排除。关系数据结构及形式化定义(续)关系数据结构及形式化定义(续)概念4候选玛(Candidate key):可唯一标识每一元组的属性(组)。概念5主码(Primary key):候选码中选择其一称为主码。相应属性组为主属性。概念6非码属性(Non-key attribute):不包含在任何候选码中的属性。概念7全码(All-Key):用所有属性来唯一标识表中元组时的候选码。关系性质 1)关系必须是有限集;2)卡
9、积无交换率,通过给属性命名取消元组分量的有序性;a.列同质(homogeneous)-分量同类型;b.不同列可出自同一域;c.列的顺序无所谓d.任意两个元组不能完全相同;e.行的顺序无所谓;f.分量必须取原子值。关系数据结构及形式化定义(续)关系数据结构及形式化定义(续)概念8关系模式(Relation schema):是对关系的描述,关系是元组的集合(属性、域及其映象关系);元组语义(使n目谓词为真的卡积中的元素的全体)。形式化定义:R(U,D,dom,F),元组包括:R,关系名;U,组成关系的属性名的集合;D,为属性组U中属性的域;Dom,为属性向域的映象集合;F,为属性间数据的依赖关系集
10、合。通常简记为:R(U)或R(A1,A2,An)。其中1,A2,An为属性名。D及Dom则直接说明为属性的类型和长度。关系数据结构及形式化定义(续)关系数据结构及形式化定义(续)关系与关系模式的关系:关系模式是关系的型,关系是值,二者有时混用,但可从上下文进行区分。关系是关系模式在某一个时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。实际当中,常把关系模式和关系都称为关系。2.1.3关系完整性关系完整性关系的完整性约束条件包括:实体完整性、参照完整性、用户自定义完整性。实体完整性实体完整性(Entity Integrity
11、):若属性A是基本关系R的主属性,则属性A不能为空值;如学生关系中的“学号”属性。参照完整性外码(Foreign key):设F是关系R的非码属性(组)。如果F与关系S的主码K相对应(定义在同一个(组)域上),则称F是关系R的外码。其中,关系R称为:参照关系(Referencing Relation),S为被参照关系(或目标关系)(Referenced Relation)。规则:定义外码与主码之间的引用规则,即外码F取值:可以是空NULL;必须是目标关系中存在的值;表内属性间的参照也要有存在的值。用户自定义完整性用户自定义完整性(User-defined Integrity):反应某一具体应用
12、所涉及的数据必须满足的语意要求。例:性别(男,女),年龄(15-25)。【例2.2】:有以下关系:学生(学号,姓名,年龄,性别,专业号),专业(专业号,专业名),课程(课程号,课程名,学分),选修(学号,课程号,成绩),找出关系完整性。划下划线的为主属性(组)。实体完整性规定基本关系的所有主属性不能取空值。参照完整性规定基本关系的外码取值。如上述学生关系的“专业号”属性与专业关系的主码“专业号”对应,因此“专业号”属性是学生关系的外码。它的取值规定如下:(1)空值:表示尚未给该学生分配专业;(2)非空值 必须是目标关系专业关系中某个元组的“专业号”值。此外,用户还须注意,外码并不一定与目标关系
13、的主码同名;参照关系与目标关系可以是同一个关系。如学生关系(学号,姓 名,性别,年龄,班长)中,“班长”属性的取值情况。2.2 EER模型到关系模式的转换模型到关系模式的转换 实体类型的转换 一对多的二元关系的转换多对多的二元关系的转换实体内部之间联系的转换 三元关系的转换 2.2.1实体类型的转换每种实体型可由一个关系模式来表示。实体类型的属性为关系的属性;实体类型的主键作为关系的主键。eg:学生(学号,姓名,性别,出生年月,入学时间,系)2.2.2 一对多的二元关系的转换一对多的二元关系的转换分析一个1:n 的二元关系 强制性成员:强制性成员:如果一种联系表示实体类型的各种各种实例必须具有
14、这种联系,则说明该实体的成员类在这种联系下是强制性的。图中1:n的“管理”联系表示了一个经理管理许多职工。如果规定每个职工必须有一个管理者,则“职工”中的成员类在联系“管理”中是强制性的。非强制性成员:非强制性成员:图中1:n的“管理”联系中,如果允许存在不用管理者的职工,则“职工”中的成员类在联系“管理”中是非强制性的。一对多的二元关系的转换一对多的二元关系的转换(续续)对于强制性成员类:对于强制性成员类:如果一个实体是某个联系的强制性成员,则在二元关系转化为关系模式的实现方案中要增加一条完整性约束。具体操作为:如果实体类型E2在实体类型E1的n:1联系中是强制性成员,则的E2关系模式中要包
15、含E1的主属性。eg:规定每一项工程必须有一个部门管理,则实体类型Project是联系”Runs”的强制性成员,因而在Project的关系模式中包含部门Department的主属性。即:Project(P#,DName,Title,Start_Date,End_Date,)这里DName既是关系Department的主属性,又是关系Project的外键。一对多的二元关系的转换一对多的二元关系的转换(续续)对于非强制性成员类:对于非强制性成员类:如果一个实体是某个联系的非强制性成员,则通常新建一个分离关系来表示这种联系和属性。具体操作为:如果实体类型E2在与实体类型E1的n:1联系中是一个非强制
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 应用 开发 课件