关系:单一的数据结构
现实世界的实体以及实体间的各种联系均用关系来表示
域(Domain)
【域】是一组具有相同数据类型的值的集合
例如:整数、实数、介于某个取值范围的整数、指定长度的字符串集合等......
笛卡尔积(Cartesian Product)
给定一组域D1,D2 .....Dn,允许其中某些域是相同的。
D1,D2 .....Dn的笛卡尔积为:D1*D2* .....*Dn=
【所有域的所有取值的任意组合】
【笛卡尔积可以看作是关系的“域”】
【基数】Cardinal number(表示笛卡尔空间的大小)
若Di(i=1,2,....n)为有限集,其基数为mi(i=1,2,...,n),则D1*D2*...*Dn的基数 M 为:
笛卡尔积的表示方法:
(1)笛卡尔积可表示为一张二维表
(2)表中的每一行对应一个元组,表中的每列对应一个域
举例:
整个笛卡尔空间所有可能的集合;
关系(Relation)
D1*D2*....*Dn的子集叫做在域D1,D2,...,Dn上的【关系】
表示为:R(D1,D2,...,Dn)
【R】:关系名
【n】:关系的 [目] 或 [度] (Degree)
由D1到Dn这n个域的笛卡尔空间的一个子集就称为一个关系
【元组】
关系中的每个元素(d1,d2,....,dn)叫做一个n元组(n-tuple)或简称元组,通常用t表示。
【属性】
(1)关系中不同列可以对应相同的域
(2)为了加以区分,必须对每列起一个名字,称为属性(attribute)
(3)n目关系必有n个属性
【码】
【候选码】(Candidate key)
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码
简单地情况:候选码只包含一个属性
【全码】(All-key)
最极端的情况: 关系模型的所有属性组是这个关系模型的候选码,称为全码(All-key)
【主码】(Primary key)
若一个关系有多个候选码,则选定其中一个为 主码
【主属性】(Prime attribute)
候选码的诸属性称为 主属性
不包含在任何候选码中的属性称为非主属性(Non-Prime attribute)或 非码属性(Non-key attribute)
单元关系与二元关系
当n=1时(这个关系是定义在单个属性上的)称该关系为 【单元关系】(Unary relation)或 一元关系
当n=2时(这个关系是定义在两个属性上的)称该关系为【二元关系】(Binary relation)
这个关系是定义在 n 个属性上的,称为【n元关系】
基本关系的性质
(1)列是同质的(Homogeneous)
(2)不同的列可出自同一个域
(3)列的顺序无所谓,列的次序可以任意交换
(4)任意两个元组的候选码不能相同
(5)行的顺序无所谓,行的次序可以任意交换
(6)分量必须取原子值
(6)分量必须取原子值
这是规范条件中最基本的一条
注意
关系必须是笛卡尔积的某个子集,它才有实际含义
关系模式 (Relation Schema)
1、什么是关系模式
2、如何定义关系模式
3、关系模式与关系的关系
(1)什么是关系模式
【关系模式】是 型
【关系】是 值
关系模式是对关系的描述
【元组集合的结构】
属性的 构成
属性来自的 域
属性与域之间的 映像关系
【完整性约束条件】
(2)定义关系模式
关系模型可以形式化地表示为:
R(U,D,DOM,F )
R 关系名
U 组成该关系的属性名集合
D U中属性所来自的域
DOM 属性向域的映像集合
F 属性间数据的依赖关系的集合
例子:
(3)关系模式与关系的‘关系’
实际上就是一个【型】和【值】的关系
【关系模式】
(1)对关系的描述
(2)静态的、稳定的
【关系】
(1)关系模式在某一时刻的状态或内容
(2)动态的、随时间不断变化的
关系模式和关系往往笼统称为关系
需要通过上下文加以区别
关系数据库
【关系数据库】
在一个给定的应用领域中,所有关系的集合构成一个关系数据库
【关系数据库的 型 与 值 】
关系数据库的型:关系数据库模式,是对关系数据库的描述
关系数据库的值:关系模式在某一时刻对应的关系的集合,通常称为‘关系数据库’