目录
2.1 关系模型
2.1.1 基本概念
关系理论是建立在集合代数理论基础上的,有着坚实的数学基础
定义1:域
域(Domain)是一组具有相同类型的值的集合。
例:性别集合{男,女};
正整数集合{1,2,3,……};
姓名集合{张三,李四,王五};
全体实数的集合等都可以称为是域。
- 域的基数:域中所包含的值的个数称为域的基数(用m表示)。
- 关系中用域表示属性的取值范围。
- 域中的值无排列次序
例如: D1={李力,王平,刘伟} m1=3
D2={男,女} m2=2
D3={47,28,30} m3=3
定义2:笛卡尔积
定义3:关系
一般说来,只有笛卡儿积的子集才是有意义的。为什么?
家庭成员关系:R(父亲,母亲,孩子)这个集合才是有效集合,
在现实生活中才有实现的意义,是Man×Woman×Child之子集。
注意:
关系是笛卡尔积的有限子集。无限关系在数据库系统中是无意义的。
由于笛卡尔积不满足交换律,即 (d1,d2,…,dn )≠(d2,d1,…,dn )
但关系满足交换律,即(d1,d2 ,…,di ,dj ,…,dn)=(d1,d2 ,…,dj,di ,…,dn) (i,j = 1,2,…,n)
方法:为关系的每个列附加一个属性名以取消关系元组的有序性。
关系就是一张二维表。
一行称为一个元组或一条记录, 一列叫一个属性或一个字段。
①记录和属性
记录是行,属性是列,域是属性的取值范围。
② 关系的码(Key) (或候选码、键)。
如果一个属性(或属性集合)的值能唯一地标识一个关系的元组而又不含有多余的属性,
则称该属性(或属性集合)为关系的码(或候选码,也称键)。
- 每个关系都有且只有1个主码(Primary Key)。
- 关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)
- 包含在任何一个候选码中的各属性称为主属性(Prime Attribute)。
- / 候选码中的属性称为主属性。
- 不包含在任何候选码中的属性称为非主属性(非码属性)(Non-key Attribute)。
举例:找出下面两个关系的候选码。
候选码:学号 候选码:学号+课程号
候选码:身份证号
③ 外码(Foreign Key)
如果某一个关系中的属性(或属性集合)在