关系模型
基本术语
关系数据结构
关系 | 关系是由行和列组成的表
属性(attribute) | 属性是关系中命名的列
关系用二维表表示,每行对应一个单独的记录,每列对应一个属性
域(domain) | 域是一个或多个属性的取值集合
必须给关系中的每一个属性定义一个域,不同属性的域可以互不相同,也可以让两个或以上的属性共用一个域
用户可以通过域来集中定义属性取值的含义与范围,因此,当系统执行关系操作时,就有更多的信息利用,从而避免语义错误的操作
元组(turple) | 关系中的每一行称为元组
关系的结构、域说明以及所有取值约束,为关系的内涵,通常是固定的
元组集称为关系的外延或状态,经常发生变化
维数(degree) | 关系的维数是指关系所包含属性的个数
基数(cardinality) | 关系的基数是指它所包含元组的个数
关系数据库(relational database) | 关系数据库是具有不同关系名的规范化关系的集合
数据库中的关系
关系模式(relation schema) | 用 一组属性和域名对 /定义的具名的关系
eg:属性A$_{1}$~A$_{n}$对应的域分别为D$_{1}$~D$_{n}$,集合{A$_{1}$:D$_{1}$, …, A$_{n}$:D$_{n}$}就是一个关系模式
关系数据库模式(relational database schema) | 关系模式的集合,集合中的每个关系都应有不同的名字
关系关键字
关系中不会出现重复的元组,因此可以指定一个或多个属性,唯一地标识关系中的每个元组
超关键字(superkey) | 一个属性或属性集合,它能唯一的标识出关系中的每个元组
候选关键字(candidate key) | 本身是超关键字但其任何子集都不再是超关键字
主关键字(primary key) | 被选用唯一标识关系中各元组的候选关键字
外部关键字(foreign key) | 当一个关系中的某个属性或属性集合与另一个关系的候选关键字匹配时,就称为外部关键字
完整性约束(Integrity Constraints)
空 | 代表对一个元组当前取值还不知道或是不可用的属性值
实体完整性(entity integrity) | 在基本关系中,主关键字的属性不能为空
引用完整性(referential integrity) | 如果在关系中存在某个外部关键字,则它的值或与主关系中某个元组的候选关键字取值相等,或者全为空
一般性约束 | 由数据库用户或数据库管理员所指定的附加规则,它约束企业的某些方面
视图
视图 | 对一个或多个基本关系进行关系操作得到的动态结果,无需存在于数据库中