版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/monochrome00/article/details/83653774
关系数据库的结构
- 关系(relation)
- 关系数据库由表(table)的集合构成。
- 在关系模型的术语中,关系就用来指代表。
- 元组(tuple)
- 指代表中的一行,表示一组值的序列(或列表)。
- n个值之间的联系被称为n元组(n-tuple)
- 属性(attribute)
- 指代表中的一列。
- 对于关系的每个属性,都存在一个允许取值的集合,称为该属性的域(domain)
- 如果域中的元素被看作是不可再分的单元,则域是原子的(atomic)
- 空值(NULL)是一个特殊的值,表示未知或不存在。
数据库模式
- 关系模式(relation schema)
- 由属性序列及各属性对应域组成。
- 是一种数据库的逻辑设计。
- 通常不会随着关系的更新而变化。
- 关系实例(relation instance)
- 表示一个关系的特定实例,也就是表中所包含的一组特定的行。
- 是给定时刻数据库中数据的一个快照。
- 当关系被更新时,关系实例的内容也会发生变化。
码
- 超码(superkey):一个或多个属性的集合,这些属性的组合可以使我们在一个关系中唯一地标识一个元组。
- 候选码(candidate key):它本身是一种超码,且它的任意真子集都不能成为超码。
- 主码(primary key):表示被数据库设计者选中的、主要用来在一个关系中区分不同元组的候选码。
- 外码(foreign key)
- 一个关系模式(如r1),可能在它的属性中包括另一个关系模式(如 r2)的主码。这个属性在 r1上被称作参照 r2的外码。关系 r1被称作外码依赖的参照关系(referencing relation)。r2也被称为外码的被参照关系(referenced relation)
- 参照完整性约束(referential integrity constraint):要求在参照关系中任意元组在特定属性上的取值必然等于被参照关系中某个元组在特定属性上的取值。
- 一个含有主码和外码依赖的数据库模式可以用模式图(schema diagram)来表示。
关系运算
运算名称 |
表达式 | |
选择运算(Seliction) | ||
投影运算(Projection) | ||
并运算(Union) | ||
集合差运算(Cartesian product) | |
|
集合交运算(Set-Intersection) | ||
更名运算(Rename) | ||
自然连接运算(Natural join) | ||
笛卡尔叉积(Cartesian product) |
[参考资料]:《数据库系统概念》 机械工业出版社