美文网首页
关系模型

关系模型

作者: beanlam | 来源:发表于2017-06-09 16:55 被阅读76次

基本概念

在关系型数据库中,关系模型中的概念与数据库层面上的概念的对应关系如下:

  • 关系(relation)指关系型数据库中的一张表
  • 元组(tuple)指表中的一行数据
  • 属性(attribute)指表的列

关系在这里仅仅是一个抽象的概念,关系更偏向一种设计,而关系 + 元组则组成了一个具体的关系实例。关系是逻辑存在的概念,而关系实例是某一个时刻,该关系中数据的一个快照。与此类似的还有数据库模式(database schema)和数据库实例(database instance),前者是数据库的逻辑设计,后者是某个时刻,数据库中的数据的一个快照。

键(key)用来唯一标识一个关系中的不同元组。一个关系有不同的键

  • 超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键
  • 候选键(candidate key):不含有多余属性的超键称为候选键
  • 主键(primary key):选作元组标识的一个候选键称为主键
  • 外键(foreign key):属性不是本关系的主键,而是另一个关系的主键

假设有这样两个个关系
学生(学号,身份证号,名字,性别,身高,体重,教师编号)
教师(编号,名字)
在现实生活中,同一个学校里,我们可以通过学号来唯一确定一个学生,也可以通过身份证号来确定一个学生。
由超键的定义可知,学生表中含有学号或者身份证号的任意组合都为此表的超键。如:(学号)、(学号,姓名)、(身份证号,性别)等。候选键属于超键,它是最小的超键,就是说如果再去掉候选键中的任何一个属性它就不再是超键了。学生表中的候选键为:(学号)、(身份证号)。 主键就是候选键里面的一个,是人为规定的,例如学生表中,我们通常会让“学号”做主键。学生表中的外键就是“教师编号”。外键主要是用来描述两个关系的相互引用。

关系代数

关系代数是一种抽象的查询语言,用对关系的运算来表达查询,关系代数运算的对象是关系,运算结果亦是关系。 关系代数的基本关系包括:并、交、差、笛卡尔积、选择、投影、连接、除法运算。

  • 选择 δ
    选择是根据某些条件对关系做水平切割,例如 δ salary > '10000'(R),返回关系实例中满足响应谓词的元组
  • 投影 π
    投影与选择正好相反,是对关系的一种垂直切割,消去某列,并重新安排列的顺序。投影用(π)表示。例如:π id,name(R),返回关系 R 中所有元组的 id 和 name 属性。
  • 笛卡尔积 X
    计算两个关系 R 和 S 的笛卡尔积,R 的元数为 r ,S 的元数为 s,则 R×S 是一个(r+s)元的元组集合
  • 连接 ⋈
    从两个关系的笛卡尔积中选取属性间满足一定条件的元组,用(R ⋈ S)表示,连接分为两种,一种是等值连接,另一种是自然连接。等值连接必须要有等值的条件,当条件不同时连接的结果也不相同,两个关系可以没有相同的属性列,自然连接必须要有相同的属性列才能进行,即等值连接之后要去除相同的属性列。
  • 除法 ÷
    除运算是同时从关系的水平方向和垂直方向进行运算。给定关系 R(X,Y) 和 S(Y,Z),X、Y、Z 为属性组。R ÷ S应当满足元组在 X 上的分量值 x 的象集 Yx 包含关系 S 在属性组 Y 上投影的集合。

相关文章

  • 海量数据--在线大数据处理的理论与实践--淘宝沈询_Whispe

    从需求出发来看关系模型与非关系模型--关系模型与非关系模型概述 1.层次模型2.关系模型3.ORMapping的作...

  • 数据库原理

    关系模型 关系模型 实体关系模型 对象关系模型 半结构化数据模型 XML(扩展标记语言) 数据语言 DML 数据操...

  • 数据库设计(四)关系模型和关系数据库

    关键词 关系模型,关系数据库,关系操作,完整性约束 关系模型 关系模型是目前最为重要的数据模型,关系数据库采用关系...

  • Linux之MariaDB基础详解

    Lamp之MariaDB 数据库结构模型分类 1、层次模型 2、网状模型 3、关系模型 关系模型的组成部分 二维关...

  • 数据库-关系数据库

    关系是一种二维平面表,关系模型由关系数据结构、关系完整性约束和关系操作集合三部分组成。 1.关系数据模型:关系模型...

  • 关系模型

    数据模型三要素数据结构(静态特性):描述数据库的组成对象及对象间的联系常用来命名数据模型:层状模型,网状模型,关系...

  • 关系模型

    (一)视角,换个角度,冰山一角,对和错之间的纠结,思路打不开 生活中习以为常的事情全新定义,换个角度看问题,经常审...

  • 模型关系

    模型关系主要分为一对一,一对多和多对多。在flask官网中只给出了一对多和多对多的解释应用,所以一对一的实现依赖于...

  • 关系模型

    基本概念 在关系型数据库中,关系模型中的概念与数据库层面上的概念的对应关系如下: 关系(relation)指关系型...

  • 关系模型

网友评论

      本文标题:关系模型

      本文链接:https://www.haomeiwen.com/subject/rpkfqxtx.html