9.3 关系的表示

Posted spicyarticle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9.3 关系的表示相关的知识,希望对你有一定的参考价值。

9.3 关系的表示

关系的一般表示方法:

  • 将所有关系列出;
  • 用一个到T, F的映射

关系的特殊表示方法

  • 用0-1矩阵(zero-one matrix)来表示;
  • 用有向图(directed graph)来表示

用邻接矩阵表示关系

称0-1矩阵MR为R的邻接矩阵, 定义如下:
技术图片

  1. 通过以下观察0-1矩阵,很容易发现以下性质:
  • 拥有自反性(reflexive)的0-1矩阵主对角线全为“1”
    技术图片
  • 拥有非自反性(irreflexive)的0-1矩阵主对角线全为“0”
    技术图片
  • 拥有对称性(symmetric)的0-1矩阵主对角线任意,关于主对角线对称的元素相等
    技术图片
  • 拥有反对称性(antisymmetric)的0-1矩阵主对角线任意,关于主对角线对称的元素不能同时为“1”
    技术图片
  1. 定义两个邻接矩阵的join为这两个矩阵的布尔或运算(boolean ‘or‘)
  2. 定义两个邻接矩阵的meet为这两个矩阵的布尔与运算(boolean ‘and‘)

用0-1矩阵表示关系的复合:

MS?R = [tij], MR = [rij], MS = [sij]
MS?R = MRMS
其中,⊙表示两个矩阵进行布尔乘运算(boolean product)

例:

\\[ M_R = \\left[\\beginmatrix 1 & 0 & 1 \\ 1 & 1 & 0 \\ 0 & 0 & 0 \\endmatrix \\right] \\]
\\[ and \\quad M_S = \\left[\\beginmatrix 0 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 0 & 1 \\endmatrix \\right] \\]

MS?R的每个tijMR的第i行与MS的第j列进行布尔乘运算,得到S?R的邻接矩阵为:
\\[ M_S?R = \\left[\\beginmatrix 0 & 0 & 1 \\ 0 & 1 & 1 \\ 0 & 0 & 0 \\endmatrix \\right] \\]

矩阵布尔乘计算器

用图表示关系

理解:

  • 顶点(vertex)
  • 边(arc or edge)
  • 有向图(directed graph or digraph)


例:用有向图来表示一个关系:
技术图片

  1. 入度与出度
  • 顶点a的入度:以顶点a为起点的箭头的个数
    技术图片
  • 顶点a的出度:以顶点a为终点的箭头的个数
    技术图片
  1. 限制
    如果R是定义在A上的关系,并且B是A的子集,则R对B的限制(the restriction of R to B)为:

    R ∩ (B × B)

  2. 有特殊性质的图
  • 具有自反性的图:每个节点都有自环
    技术图片
  • 具有反自反性的图:无自环节点
    技术图片
  • 具有自反性的图:所有箭头都是双向的
    技术图片
  • 具有自反性的图:无双向箭头
    技术图片

  • 特别注意:①.没有既不对称又不反对称的图;②.没有既不自反也不反自反的图。
  1. 一些等价关系:

有一个关系R以及它的邻接矩阵MR,设△是一个等价关系,即M是单位矩阵

①. R自反 <= => △ ? R <= => all 1‘s on its main diagonal
②. R反自反 <= => △ ∩ R = ? <= => all 0‘s on its main diagonal
③. R对称反对称非对称显然不赘述
④. R传递 <= => MR=[mij]具有这个性质:如果mij = 1,并且mjk = 1,那么mik = 1.
④. R传递 ==> R2 ? R, because if a and c are connected by a path of length 2 in R, then they must be connected by a path of length 1.

  1. 误区:

技术图片

技术图片

The answer is NO!

以上是关于9.3 关系的表示的主要内容,如果未能解决你的问题,请参考以下文章

9.3总体设计——毕业论文系统设计类图及各ER模型图关系图

RestKit 0.9.3 连接关系:withObjectForPrimaryKeyAttribute:

关系运算

在实体关系到关系映射图中表示继承

UMLUML表示类之间的关系-关联关系/三角还没没有总结完成

如何在CentOS 7/6.5/6.4 下安装PostgreSQL 9.3 与 phpPgAdmin