-
域(domain)
- 域是一组具有相同数据类型的值的集合.
-
比如自然数集、实数集、
{0, 1}、{"男", "女"}等都是域,一个域中(不同)值的个数称为这个域的基数(cardinal number)。
笛卡尔积(Cartesian product)
- 给定一组 域 D 1 , D 2 , . . . , D n D_1,D_2,...,D_n D1,D2,...,Dn,允许其中某些域是相同的,这组域的 笛卡尔积 D 1 × D 2 × . . . × D n = { ( d 1 , d 2 , . . . , d n ) ∣ d i ∈ D i , i = 1 , 2 , . . . , n } D_1\times D_2\times...\times D_n=\{(d_1,d_2,...,d_n)\mid d_i\in D_i,\,i=1,2,...,n\} D1×D2×...×Dn={(d1,d2,...,dn)∣di∈Di,i=1,2,...,n}其中的每一个元素 ( d 1 , d 2 , . . . , d n ) (d_1,d_2,...,d_n) (d1,d2,...,dn) 叫作一个 n n n 元组(n-tuple),或简称元组。元组中的每一个值 d i d_i di 叫做元组的一个 分量(component).
-
笛卡尔积也是域,只不过是元素为元组的域,其基数等于来源域的乘积 ∏ i = 1 n m i \prod_{i=1}^n m_i ∏i=1nmi.笛卡尔积可表示为一张二维表,表中的每行对应一个元组,表中的每一列的值来自一个域,在 SQL 查询中也被叫做交叉连接(cross join)。
关系(relation)
- 笛卡尔积 D 1 × D 2 × . . . × D n D_1\times D_2\times...\times D_n D1×D2×...×Dn 的子集叫做在域 D 1 , D 2 , . . . , D n D_1,D_2,...,D_n D1,D2,...,Dn 上的 关系,表示为 R ( D 1 , D 2 , . . . , D n ) R(D_1,D_2,...,D_n) R(D1,D2,...,Dn),其中 R R R 表示关系的名字,该关系的 目(或 度)为 n n n,称其为 n n n 元关系.
-
关系是笛卡尔积的子集,所以关系也可以表示为一张二维表,因而称作关系表(relational table),关系表中的行也称作记录,列也称作字段。由于域可以相同,为了加以区分又称二维表中的列为属性(attribute),属性有名称和数据类型。
-
关系表是元组的集合,可见不能存在重复的元组(行)。关系表一般有基本表、查询表和视图表这三种类型,其中基本表是有相应物理存储的表,查询表是查询结果集对应的表(一般存于内存中),视图表是构建在基本表之上的无物理存储的虚拟表。
-
对于实际业务数据库中的关系表,通常还需要满足三个数据上的完整性要求:①实体完整性(entity integrity),主键值非空;②引用完整性(referential integrity),外键值在所引用表主键的域值内;③自定义完整性(user-defined integrity),比如对特定字段限定取值。
关系模式(relational schema)
- 对于 关系的描述称为 关系模式,它可以形式化地表示为 R ( U , D , D O M , F ) R(U, D, DOM, F) R(U,D,DOM,F),其中 R R R 为关系名, U U U 为属性名集合, D D D 为 U U U 中属性所来自的 域, D O M DOM DOM 为属性向域的映射集合, F F F 为属性间数据的依赖关系集合.
-
关系模式通常可以简记为 R ( U ) R(U) R(U) 或 R ( A 1 , A 2 , . . . , A n ) R(A_1,A_2,...,A_n) R(A1,A2,...,An),其中 A i A_i Ai 是属性名,这在实际数据库中可大致理解为表结构元数据。需要注意的是,关系是关系模式的一个具体实例;关系模式是静态的(表结构不变),关系是动态的(表内容可能不断变化)。
键(key)
- 关系模式中属性的组合称之为 键。若某个键的值能唯一地标识一个元组,那么称其为 超键(super key);若某个超键的子集都不是超键,那么称其为 候选键(candidate key).
-
构成候选键的属性组中的诸属性(即候选键属性)称为键属性(key attribute),不包含在任何候选键中的属性称为非键属性(non-key attribute)。在最简单的情况下,候选键可以只由一个属性构成;最极端的情况下,候选键可能需要由全部属性构成。
-
简单来说,候选键需要满足以下三个要求:①唯一性,候选键的值唯一标识一条记录;②最小性,候选键是最小的超键;③非空性,候选键的值不能为空(
NULL)。(最好的情况是键属性的值都不为空)
主键(primary key,PK)
- 关系模式中的 主键是人为从中选定的那个 候选键.
-
候选键可以有多个,但主键只有一个。如果构成主键的属性组中不止一个属性,这种主键也叫做复合主键(composite primary key)。
外键(foreign key,FK)
- 关系模式中的 外键是人为从中确定的属性,该属性的 值域要求是另一张关系表的 主键值域的子集.
参考文献/文章
- 《数据库系统概论(第5版)》“十二五”高教版

2075

被折叠的 条评论
为什么被折叠?



