一、域:

定义:域是一组具有相同数据类型的值的集合

举例:自然数、实数、{0,1,2,3}、大于0小于100的整数等等

个人理解:你可以将域理解为一个地域,因为满足相同的条件而聚集在一起,有点像我们人类的村落聚集地。

 

二、笛卡尔积:

 定义:给定一组域D1,D2,...,Dn,允许其中的某些域是相同的,D1,D2,...,Dn的笛卡尔积为:

        D1 x D2 x ... xDn = {(d1,d2,...,dn) | di∈Di,i=1,2,...,n}

        其中集合中的每一个元素(d1,d2,...,dn)叫做一个n元组,简称元组。元素中的每个值di叫做一个分量。

        个人理解:你可以用坐标系的思想来理解笛卡尔积:

        以两组域D1、D2的笛卡尔积举例,你可以将D1看做x轴,D2看做y轴;当在D1域中取一个值,D2域中取一个值的时候;就好像在直角坐标系x和y轴上各取了一个值,确定了一个坐标,也就是相当于确定了一个2元组。

        三个域求笛卡尔积时,你可以看做空间直角坐标系,思想以此类推到多维域求笛卡尔积。

关系数据结构介绍以及理解方式的说明

 可以将笛卡尔积表示成为一个二维表。表的每一行对应一个元组,同一列的所有取值都源自于一个域。

        例如:

        D1 = {A1,B1}        D2 = {A2,B2}        D3 = {A3,B3}

        则D1 x D2 x D3 = {(A1,A2,A3),(A1,A2,B3),(A1,B2,A3),(A1,B2,B3),(B1,A2,A3),(B1,A2,B3),(B1,B2,A3),(B1,B2,B3)}

        用二维表可以表示为:(为啥叫二维呢?因为在平面上就是二维世界啊!)

A1 A2 A3
A1 A2 B3
A1 B2 A3
A1 B2 B3
B1 A2 A3
B1 A2 B3
B1 B2 A3
B1 B2 B3

 

三、关系:

        定义:D1 x D2 x ... xDn的子集叫做域D1,D2,...,Dn上的关系,表示为R(D1,D2,...,Dn)。

        R是关系的名字,n是关系的目或度(用坐标思想来理解的话,相当于对应坐标的维数)。

        几点说明:

  • 我们不难看出关系是笛卡尔积的有限子集(无限的话就没有意义了),所以关系也是对应着一张表,表的每行是一个元组,每列的取值源自于同一个域。

  • 因为有的域可以重复,为了加以区分,所以我们对每一个列取名字,称为属性

关系数据结构介绍以及理解方式的说明

  • 如果关系中的某一个属性组的值能够唯一的确定某一个元组,但是属性组的子集却不能,那么我们称这个属性组为候选码其实就像我们的身份证号码一样,唯一的确定了我们的存在,但是缺一位都不行,缺了一位,别人就可能和你的其他位的数字一样,就无法在唯一确定你是你了!)(所以候选码就像是元组的身份证号码

  • 一个关系可能有多个候选码(就像在学校你的身份证号可以唯一的确定你,你的学籍号也可以唯一的确定你!),任意选择其中一个作为主码

  • 所有候选码包含的属性被称为主属性,其他属性则被称为非主属性或者非码属性

   个人小结:

  • 关系是笛卡尔积的一个子集

  • 候选码唯一标识元组,选候选码中的一个为主码

  • 候选码中的属性为主属性,其余为非主属性

 

四、关系的性质说明:

  • 因为有属性来将列与列之间区分,列的顺序可以随意调换。

  • 同一列的所有取值都来自同一个域,因此他们的取值是同一类型的数据。

  • 不同的列可以取同一个域的数据。(也就是说,同一列的数据要求一定在同一个域;至于列与列之间取不取同一个域不做要求。)

  • 任意两个元组的候选码不能取一样的值。(一样的话就不能唯一确定了,就像你的身份证号和别人一样,你就难以证明你是你了!)

  • 行的次序可以任意调换。(列有属性来彼此区分,行有候选码来彼此区分,所有次序都可以随意调换)

  • 每一个分量的取值都不可分。(什么意思呢?就是你不能嵌套,一个分量就是一个值,你不能和俄罗斯套娃一样里面还套着别的数据。)

 

五、关系模式:

        定义:关系模式是对关系的描述。

        表示:R(U,D,DOM,F)

        其中R为关系名,U为属性名字的集合,D是U中属性所在的域,DOM是属性到域的映像集合,F为属性之间数据的依赖关系的集合。

        换句话说:关系模式确定了关系里面有什么东西,这些东西具体怎么取值,彼此之间有什么联系。

        注意:

        关系模式确定了基本不再变化了,但是关系是一直在变的,你的一些操作不断地在更新数据。

        换句话说:关系模式和关系就像是Java里面类和对象之间的关系,冰箱里面做冰的模具和冰块的关系。

 

六、关系模式的存储结构:

第一种:关系数据库中的一个表(关系)就对应一个操作系统的文件,将具体存储工作交给操作系统。(靠别人)

第二种:关系数据库管理系统自己向操作系统要一些存储空间,然后再自己划分具体的空间怎样安排。(靠自己)

 

 

 

 

 

相关文章:

  • 2021-09-21
  • 2022-01-02
  • 2021-08-26
  • 2023-01-18
  • 2021-10-23
  • 2022-02-04
  • 2021-11-23
猜你喜欢
  • 2021-11-18
  • 2021-12-12
  • 2021-09-04
  • 2021-08-01
  • 2021-11-04
  • 2021-05-11
  • 2022-02-07
相关资源
相似解决方案