关系模型的基本概念

这一节介绍关系模型的基本概念。这里介绍的概念是关系型数据库基础理论中涉及的抽象概念,我们可以类比真实的数据库系统中,表,字段等概念结合学习。

关系

若干个数据之间可能具有某种联系,比如学号和姓名,一个人有唯一的学号和唯一的姓名(假设没有重名的人),这种联系在真实的数据库系统中,我们使用一张表来刻画,我们使用一个有意义的名字来命名这个表:如t_student。在关系型数据库理论中,我们使用术语“关系”来描述。

  • 属性:用来指代关系表的列
  • 属性名:标识每个属性
  • 属性值:属性可能的取值
  • 域:属性的所有可能取值,例如年龄属性[0,200]
  • 原子域:域中的取值不能再分
  • 空值(null):值未知或不存在
  • 域的笛卡尔积运算:所有域所有取值的一个组合,域中可以有相同的,结果不能重复
  • 元组:每一个元素叫做一个n元组,如(张三,男,20,计算机,0312056)

关系的性质

  • 不同列可以对应相同的域,为了加以区分,每列必须起个名字叫做属性
  • 行和列的次序可以交换
  • 任意两个元组不能完全相同
  • 属性值必须取原子值

关系实例

一个关系的任何当前值是该关系的实例。如(张三,男,20,计算机,0312056)就是一个实例。这就像面向对象编程中类和实例之间的关系。

常见关系类型

基本关系

  • 由用户定义,在数据库中实际存储的关系
  • 可以查询与更新

中间结果关系

  • 查询中产生的中间结果
  • 在数据库中临时/永久存储
  • 只可查询,不可更新

视图关系

  • 用户根据需要定义的关系
  • 定义在基本关系或视图上
  • 只有模式,没有实例
  • 没有对应的实际存储的数据
  • 可查询,更新受限

注:一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系​。

视图和数据表的区别:

  • 视图是已经编译好的sql语句,而表不是。
  • 视图没有实际的物理记录,而表有。
  • 表是内容,视图是窗口。
  • 表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时对它进行修改,但视图只能有创建的语句来修改。
  • 表是内模式,视图是外模式。
  • 视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。
  • 表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。
  • 视图的建立和删除只影响视图本身,不影响对应的基本表。
作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。