数据库复习笔记(1)------关系模型

关系

现实世界的实体以及实体间的各种联系均用关系来表示,是一种单一的数据结构
关系模型中数据的逻辑结构是一张二维表
建立在集合代数的基础上

相关概念

一组具有相同数据类型的值的集合

笛卡尔积

给定一组域D1,D2,…,Dn(域中可以有相同的)
笛卡尔积是所有域的所有取值的一个组合
D1,D2,…,Dn的笛卡尔积为:
D1×D2×…×Dn ={(d1,d2,…,dn)|di属于Di,i=1,2,…,n}
其中的值不能重复

元组

笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组或元组

分量

笛卡尔积元素(d1,d2,…,dn)中的每一个值di

基数

一个域允许的不同取值的个数
D1×D2×…×Dn不同域之间的笛卡儿积的基数为各个基数的乘积

关系

D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系
表示为:R(D1,D2,…,Dn)
R:关系名
n:关系的目或度(属性的数目)
关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域

属性

关系中每一列表示一个属性

候选码

若关系中的某一属性组的值能唯一地标识一个元组,且没有多余属性,则称该属性组为候选码。

主码

若一个关系有多个候选码,则选定其中一个为主码

全码

所有属性组共同组成的候选码,称为全码

主属性

候选码的诸属性称为主属性

非主属性

不包含在任何侯选码中的属性称为非主属性或非码属性

三类关系

基本关系

实际存在的表,是实际存储数据的逻辑表示。

查询表

查询结果对应的表

视图表

由基本表或其他视图表导出的表,是虚表

基本关系的性质

  1. 列是同质的
  2. 不同的列可出自同一个域
  3. 列的顺序无所谓,列的次序可以任意交换
  4. 行的顺序无所谓,行的次序可以任意交换
  5. 任意两个元组的候选码不能相同
  6. 分量必须取原子值,即每一个分量都必须是不可分的数据项

    关系模式

    关系模式是对关系的描述,包括:元组集合的结构(属性构成;属性来自的域 ;属性与域之间的映象关系),元组语义以及完整性约束条件,属性间的数据依赖关系集合

    形象化表示

    R(U,D,DOM,F)
    R 关系名
    U 组成该关系的属性名集合
    D 属性组U中属性所来自的域
    DOM 属性向域的映象集合
    F 属性间的数据依赖关系集合
    域名及属性向域的映象常常直接说明为属性的类型、长度

    简化形式

    R (U) 或 R (A1,A2,…,An)
    R (U,F)
    R: 关系名
    A1,A2,…,An : 属性名

关系模式与关系

关系模式是对关系的描述,静态的、稳定的。
关系是关系模式在某一时刻的状态或内容;动态的、随时间不断变化的
(关系模式相当于表头,关系相当于表体)
关系模式和关系往往统称为关系,通过上下文加以区别
关系数据库:在一个给定的应用领域中,所有关系的集合构成一个关系数据库
关系数据库的型:关系模式
关系数据库的值:关系

关系操作

特点:集合操作方式,操作的对象和结果都是集合,一次一集合的方式

常用的关系操作

查询

选择、投影、连接、除、并、交、差、笛卡尔积共八种

更新

插入、删除、修改

基本操作

选择、投影、并、差、笛卡尔积共5种

关系操作语言的分类

关系代数语言

用对关系的运算来表达查询要求(如ISBL

关系演算语言

用谓词来表达查询要求

元组关系演算语言

谓词变元的基本对象是元组变量(如APLHA, QUEL)

域关系演算语言

谓词变元的基本对象是域变量(QBE)

具有关系代数和关系演算双重特点的语言(SQL)

关系的完整性

三类完整性约束

实体完整系

若属性A是基本关系R的主属性,则属性A取值必须唯一且不能取空值。

参照完整性

若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值),或者等于S中某个元组的主码值

用户定义完整性

针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求
关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能