精华内容
下载资源
问答
  • 上一篇文章简单介绍了概念数据模型... 一、层次数据模型 定义:层次数据模型是用树状<层次>结构来表示实体类型和实体间联系的数据模型。(来自百度百科) 其实层次数据模型就是的图形表示就是一个倒...

    上一篇文章简单介绍了概念数据模型、逻辑数据模型、物理数据模型的基本概念、特性以及三者所对应的数据库的开发阶段。现在针对逻辑数据模型中所用到的三种数据模型---层次数据模型、网状数据模型以及关系数据模型做一个相信的介绍与对比分析。

      一、层次数据模型

      定义:层次数据模型是用树状<层次>结构来表示实体类型和实体间联系的数据模型。(来自百度百科)

      其实层次数据模型就是的图形表示就是一个倒立生长的树,由基本数据结构中的树(或者二叉树)的定义可知,每棵树都有且仅有一个根节点,其余的节点都是非根节点。每个节点表示一个记录类型对应与实体的概念,记录类型的各个字段对应实体的各个属性。各个记录类型及其字段都必须记录。

      特征:树的性质决定了树状数据模型的特征

         1. 整个模型中有且仅有一个节点没有父节点,其余的节点必须有且仅有一个父节点,但是所有的节点都可以不存在子节点;

         2. 所有的子节点不能脱离父节点而单独存在,也就是说如果要删除父节点,那么父节点下面的所有子节点都要同时删除,但是可以单独删除一些叶子节点;

         3. 每个记录类型有且仅有一条从父节点通向自身的路径;

      实例:

         如图1,以学校某个系的组织结构为例,说明层次数据模型的结构。

         1.  记录类型系是根节点,其属性为系编号和系名;

         2.  记录类型教研室和学生分别构成了记录类型系的子节点,教研室的属性有教研室编号和教研室姓名,学生的属性分别是学号、姓名和成绩;

                3.  记录类型教师是教研室这一实体的子节点,其属性由教师的编号,教师的姓名,教师的研究方向。

      优点:

           1. 层次数据模型的结构简单、清晰、明朗,很容易看到各个实体之间的联系;

         2. 操作层次数据类型的数据库语句比较简单,只需要几条语句就可以完成数据库的操作;(百度百科)

         3. 查询效率较高,在层次数据模型中,节点的有向边表示了节点之间的联系,在DBMS中如果有向边借助指针实现,那么依据路径很容易找到待查的记录;

         4. 层次数据模型提供了较好的数据完整性支持,正如上所说,如果要删除父节点,那么其下的所有子节点都要同时删除;如图1,如果想要删除教研室,则其下的所有教师都要删除;

      缺点:

             1. 层次数据模型只能表示实体之间的1:n的关系,不能表示m:n的复杂关系,因此现实世界中的很多模型不能通过该模型方便的表示;

             2. 查询节点的时候必须知道其双亲节点的,因此限制了对数据库存取路径的控制;

    图 1. 院系人员组成结构图

      二、网状数据模型

      定义:用有向图表示实体和实体之间的联系的数据结构模型称为网状数据模型。

      其实,网状数据模型可以看做是放松层次数据模型的约束性的一种扩展。网状数据模型中所有的节点允许脱离父节点而存在,也就是说说在整个模型中允许存在两个或多个没有根节点的节点,同时也允许一个节点存在一个或者多个的父节点,成为一种网状的有向图。因此节点之间的对应关系不再是1:n,而是一种m:n的关系,从而克服了层次状数据模型的缺点。

      特征:

         1. 可以存在两个或者多个节点没有父节点;

         2. 允许单个节点存在多于一个父节点;

      网状数据模型中的,每个节点表示一个实体,节点之间的有向线段表示实体之间的联系。网状数据模型中需要为每个联系指定对应的名称。

      实例:  

         同样是以教务管理系统为例,下面说明了院系的组成中,教师、学生、课程之间的关系。

    图 2. 院系的教务管理系统

        由上图中可以看出课程(实体)的父节点由专业、教研室、学生。以课程和学生之间的关系来说,他们是一种m:n的关系,也就是说一个学生能够选修多门课程,一门课程也可以被多个学生同时选修。

      优点:

         1. 网状数据模型可以很方便的表示现实世界中的很多复杂的关系;

         2. 修改网状数据模型时,没有层次状数据模型的那么多的严格限制,可以删除一个节点的父节点而依旧保留该节点;也允许插入一个没有任何父节点的节点,这样的插入在层次状数据模型中是不被允许的,除非是首先插入的是根节点;

         3. 实体之间的关系在底层中可以借由指针指针实现,因此在这种数据库中的执行操作的效率较高;

      缺点:

         1. 网状数据模型的结构复杂,使用不易;

         2. 网状数据模型数据之间的彼此关联比较大,该模型其实一种导航式的数据模型结构,不仅要说明要对数据做些什么,还说明操作的记录的路径;

       三、关系型数据模型

      关系型数据模型对应的数据库自然就是关系型数据库了,这是是目前笔者最熟悉的数据库。

      定义:使用表格表示实体和实体之间关系的数据模型称之为关系数据模型。

      关系型数据库是目前最流行的数据库,同时也是被普遍使用的数据库,如MySQL就是一种流行的数据库。支持关系数据模型的数据库管理系统称为关系型数据库管理系统。

      特征:

         1. 关系数据模型中,无论是是实体、还是实体之间的联系都是被映射成统一的关系---一张二维表,在关系模型中,操作的对象和结果都是一张二维表;

         2. 关系型数据库可用于表示实体之间的多对多的关系,只是此时要借助第三个关系---表,来实现多对多的关系,如下例子中的学生选课系统中学生和课程之间表现出一种多对多的关系,那么需要借助第三个表,也就是选课表将二者联系起来;

         3. 关系必须是规范化的关系,即每个属性是不可分割的实体,不允许表中表的存在;

      实例:

         下面以学生选课系统为例进行说明。学生选课系统的实体包括:学生、教师、课程;其联系一般为学生与课程之间是一种多对多的关系,教师与课程之间是多对多的关系。学生可以同时选择多门课程,一门课程也可以同时被多个学生同时选择;一位教师可以教授多门课程,一门可能可以由多个教师教授。因此他们之间的联系如下:

     

    图 3 学生选课系统示意图

      将该图映射为关系数据模型中的表格为图4。从中可以看到学生与课程之间的联系以及教师和课程之间的多对多联系都被映射成了表格。其中选课表中的sut_id和cour_id分别是引用学生表和课程表的cour_id的外键;教课表也是如此。

     图 4 关系数据模型的表格

      优点:

         1. 结构简单,关系数据模型是一些表格的框架,实体的属性是表格中列的条目,实体之间的关系也是通过表格的公共属性表示,结构简单明了;

         2. 关系数据模型中的存取路径对用户而言是完全隐蔽的,是程序和数据具有高度的独立性,其数据语言的非过程化程度较高;

         3. 操作方便,在关系数据模型中操作的基本对象是集合而不是某一个元祖;

         4. 有坚实的数学理论做基础,包括逻辑计算、数学计算等;

      缺点:

         1. 查询效率低,关系数据模型提供了较高的数据独立性和非过程化的查询功能(查询的时候只需指明数据存在的表和需要的数据所在的列,不用指明具体的查找路径),因此加大了系统的负担;

         2. 由于查询效率较低,因此需要数据库管理系统对查询进行优化,加大了DBMS的负担;

      关系数据模型的三种约束完整性:

      关系数据模型定义了三种约束完整性:实体完整性、参照完整性以及用户定义完整性。

      实体完整性:实体完整性是指实体的主属性不能取空值。实体完整性规则规定实体的所有主属性都不能为空。实体完整性针对基本关系而言的,一个基本关系对应着现实世界中的一个主题,例如上例中的学生表对应着学生这个实体。现实世界中的实体是可以区分的,他们具有某种唯一性标志,这种标志在关系模型中称之为主码,主码的属性也就是主属性不能为空。

      参照完整性:在关系数据库中主要是值得外键参照的完整性。若A关系中的某个或者某些属性参照B或其他几个关系中的属性,那么在关系A中该属性要么为空,要么必须出现B或者其他的关系的对应属性中。如上表中的选课关系的stu_id和cour_id分别是参考学生和课程的外键,那么对于现实的系统而言,stu_id和cour_id必须分别出现在学生和课程关系中,这就是外键参考的完整性,同时删除的时候根据设置的不同有不同的处理方式。

      用户定义完整性:用户定义完整性是针对某一个具体关系的约束条件。它反映的某一个具体应用所对应的数据必须满足一定的约束条件。例如,某些属性必须取唯一值,某些值的范围为0-100等。

    展开全文
  • 提纲;1基本概念;1.2数据模型Data Model;1.3空间数据模型;1.4三维空间数据模型; 1.5三维空间数据模型与三维空间数据结构的区别 ;2.1三维空间数据模型的...四面体格网表示三维空间物体的例子及其数据结构(2)八叉树模
  • 关系数据模型

    千次阅读 2019-09-29 14:30:09
    关系数据模型( )。 ...正确答案: C 你的答案: 空(错误) ...只能表示实体间1:1联系 ...关系模型是目前最常用的数据模型之一,现实世界的实体以及实体间的各种联系均用关系表示。实体集之间通过联系来建...

    关系数据模型( )。

    正确答案: C   你的答案: 空 (错误)

    只能表示实体间1:1联系
    只能表示实体间1:m联系
    可以表示实体间m:n联系
    能表示实体间1:n联系而不能表示实体间n:1联系

    解答:

    关系模型是目前最常用的数据模型之一,现实世界的实体以及实体间的各种联系均用关系来表示。实体集之间通过联系来建立联接关系分为三类:一对一联系( 1:1 )、一对多联系( 1:m )、多对多联系( m:n )。 

    转载于:https://www.cnblogs.com/ivyharding/p/11600849.html

    展开全文
  • 关系数据模型中将现实世界中的实体以及实体的联系都用表来表达,而层次数据模型中是用记录来表示实体,PCR表示关系,网状数据类型中是用记录来表示实体,系来表示关系,关系型数据模型将两者统一采用表来表达,这...

    2018-02-04 23:03:28

    一、关系数据模型

    关系型数据模型的基本的数据结构只有一种:表(relation)。在关系数据模型中将现实世界中的实体以及实体的联系都用表来表达,而层次数据模型中是用记录来表示实体,PCR表示关系,网状数据类型中是用记录来表示实体,系来表示关系,关系型数据模型将两者统一采用表来表达,这是一个很大的区别。

    关系模型的特性:

    • 基于集合论的知识,有更高的抽象级别
    • 屏蔽掉底层的实现算法,容易理解
    • 引入关系代数系统
    • 引入结构化的查询语言
    • Soft link,软连接,通过建立对照表替代了指针

    1、属性(Attributes)和域(Domain)

    在现实世界中,描述一个事物,常常取其若干特征来描述,这些类型称为属性,属性的取值范围称为域。

    在传统的关系数据模型中对域还加上了一个限制,就是所有的域都得是原子数据,也就是只能是基本的数据类型,不能出现表中套表的情况。允许出现空值。这称为一范式

    2、关系(Relation)和元组(Tuple)

    将现实世界中的实体或者联系可以建立一张表或者多张表。

    关系可以看成定义在其所有属性域上的多元关系,这称为关系的模式,n是属性的个数,也被称为关系的目

    对于关系的实例可以这样定义:

    3、主键(Primary Key)

    主键是一组属性集。主键(集)可以唯一确定一条元组,并且其任意子集无法做到这一点。如果不满足后一条我们称之为超键(super key)。比如id可以唯一确定一个人,{id,age}也可以唯一确定一条元组,但是其子集id也可以唯一确定一条元组,因此这被称为超键。

    如果一个表中有多个主键,那么可以选择其中一个作为主键,其他的作为候补键(alternate key)

    如果主键由所有属性组成,则称之为全键(all key)

    4、外键(Foreign Key)及引用完整性

    外键是一组属性集。外键(集)用来引用其他表中的元组,并且这个属性在被引用的表中得是主键。其实就是软连接。

    引用完整性:如果把外键当作逻辑指针,那么它指向的元组必须是存在的,得非空。

    5、其他的完整性约束

    1)域完整性约束(Domain integrity constraint):值域得满足约束

    2)实体完整性约束(Entity integrity constraint):主键的值不允许为空

     

    二、关系代数

    关系代数是关系数据模型的理论基础。

    下面例子中使用的表:

    • Projection

    投影操作就是挑选表中需要的列,将不需要的列的去除掉。投影操作应该要去重(去除重复元组),因为如果两条元组所有属性值都相等是没有意义的。但实际应用中,一般来说不会自动去重。

    • Selection

    将所有满足条件的元组挑选出来。

    • Union, Intersection, Set-Difference

    集合的并交差操作,执行集合的这些操作需要满足并兼容条件属性个数相同且属性的类型相同。

    • Cross-Product

    笛卡尔乘积将两个表进行拼接,具体过程是元组之间两两组合,如果遇到属性重名的情况,需要对属性进行重命名。

    • Join

    单纯的笛卡尔乘积是没有什么意义的,我们真正想要的是Join,也就是连接操作。

    1)条件连接(Condition Join):先笛卡尔乘积,再选择操作(Sometimes called a theta-join)

    2)等值连接(Equi-Join):条件连接中的C只有相等条件,将满足属性值相等的筛选出来

    3)自然连接(Natural Join):在笛卡尔乘积上的所有公共属性上做等值连接,最常用。

    • Division

    虽然不是基本的操作,但是很常用。主要适用于回答类似这种问题:Find sailors who have reserved all boats.

    • Outer Joins

    外连接就是自然连接的扩展。首先进行自然连接,然后将不符合条件的补空值保留下来。外连接又分左外连接,右外连接和全外连接。

    • Outer Unions

    外并操作就是把两个不满足并兼容的表进行合并。结果的属性集是两张表的属性的并集,元组是每张表的元素加上不存在属性补上空值。

     

    三、关系演算

    除了使用关系代数来表示关系操作外,还可以使用谓词演算来表达关系的操作,这称为关系演算。用关系代数来表达关系操作需要表明操作之间的次序,因此关系代数是一种过程性语言。用关系演算表示关系的操作,只要说明需要得到的结果,而不必表明操作的过程,因此这是一种非过程语言。目前SQL语言的就是以关系演算作为基础的。

    关系演算随着所用变量的不同又可分为一下两种,这两种的本质是一样的:

    1)元组关系演算(Tuple Relational Calculus,TRC)

    2)域关系演算(Domain Relational Calculus,DRC)

    • 域关系演算

    所谓域关系演算就是变量是表中的各个属性,结果就是使谓词逻辑为真的元组组成的表。

    另外,值得一提的是在使用谓词演算的时候要防止不安全的查询,不安全查询是指结果元组是无穷多个的查询。例如:

    就是要查询所有不在Sailors这张表里的元素,这里的查询结果就是无穷多个,是个不安全的查询。

    • 元组关系演算

    元组关系演算和域关系演算的本质上一样的,只是在变量的选择上有一点差别,元组关系演算顾名思义变量选择的是元组。

     

    四、ER图

    E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
    它是描述现实世界关系概念模型的有效方法。是表示概念关系模型的一种方式。用“矩形框”表示实体型,矩形框内写明实体名称;用“椭圆图框”表示实体的属性,并用“实心线段”将其与相应关系的“实体型”连接起来;
    用”菱形框“表示实体型之间的联系成因,在菱形框内写明联系名,并用”实心线段“分别与有关实体型连接起来,同时在”实心线段“旁标上联系的类型(1:1,1:n或m:n)。

    1)基数比约束

    2)参与度约束

    可以进一步的约束每个实体参与联系的最小最大次数称为参与度约束。可以用括号给出。

     

    五、传统数据模型的弊端

    我们将层次,网状和关系数据模型称为传统数据模型,传统数据模型有如下的弊端和局限:

    • 适合OLTP(On-Line Transaction Processing)联机事务处理的应用,是一种结构化数据的处理
    • 基于记录,不能很好的面向用户和应用
    • 缺乏基本的语义信息,无法直观的看出各个表之间的联系

     

    六、其他数据模型

    1. Logic-based data model ,基于逻辑的数据模型:支持递归查询,提升DBMS的推理能力;
    2. Temporal data model,时态数据模型:有时间线信息
    3. Spatial data model,空间数据模型:更好的表达空间物体的关系
    4. XML data model

     

    转载于:https://www.cnblogs.com/hyserendipity/p/8414745.html

    展开全文
  • 关系数据模型 作为数据模型,关系模型包含三个组成要素:关系数据结构、关系操作集合和关系完整性约束。 关系数据结构 重点 结构只包含单一的数据结构(关系),现实世界的实体与实体间的各种联系均用关系表示。...

    概叙

    关系数据库的基本特征是使用关系模型的组织数据,20世纪80年代以后,在商用DBMS中,关系模型逐步取代早期的网状模型和层次模型。

    关系数据模型

    作为数据模型,关系模型包含三个组成要素:关系数据结构、关系操作集合和关系完整性约束。

    关系数据结构 重点

    结构只包含单一的数据结构(关系),现实世界的实体与实体间的各种联系均用关系来表示。关系模型是吧数据库比赛为关系的集合,并以二维表格的形式组织数据。

    录入一张二维表格如:

    学号 姓名 性别 籍贯 民族 ...
    001 张三 陕西 ...
    002 李四 湘西 ...
    003 王五 河北 ...
    004 赵六 东北 ...
    ...

    基本术语

    1. 表(Table):也称为关系,是二维数据结构,由表名、构成表的各列及若干行数据组成,每个表由唯一的表名,每一行数据描述一条具体的记录值。
    2. 关系(Relation):一个关系逻辑上对应一张二维表,可以为每个关系取一个名称来标识。关系有三种类型:基本关系(基表,实际存在的表,是实际存储数据的逻辑表示)、查询表(查询结构对应的表)和视图表(由基本表或其他视图导出的表,不对应实际存储的数据)。
    3. 列(Column):称为字段(Field)或属性(Attribute)。每一列有一个名称,表示实体属性,具有相同数据类型。在一个数据库中,表名,字段名必须唯一,不同的表可以有相同的字段名,且命名须有意义,简单。
    4. 属性(Attribute):表列即属性,给属性起名即属性名。属性的个数称为关系的元或度。列值为属性值;取值范围为值域。
    5. 行(Row):称为元组(Tuple)或记录(Record)。表中的数据按行存储,一行数据即一条记录或元组,每行又若干个字段值组成。
    6. 分量(Component):元组的属性值为分量
    7. 码/键(key):在一个关系中,有一个属性或属性组,能用来标识该关系的元组,则为该关系的码或键。
    8. 超码或超键(Super Key):从码中去除某个属性,它仍然是对应关系的码,则为超码;每个关系至少有一个默认的超码(所有属性的集合)。
    9. 候选码或键(Candidate Key):关系中的一个码或键中,不能去除任何一个属性,否则它就不是对应关系表的码或键,则此码为候选码(键),它是关系表中最小的超码或超键。
    10. 主键/码(Primary Key):在一张关系表中的若干候选键中指定一个用来唯一标识该关系的元组,则该候选键为主键。
    11. 全键/码(All-Key):一个关系中所有的属性集合是是这个关系是主键/码,则为全键/码。
    12. 主/非属性(Primary Attribute/Nonprimary Attribute):关系中包含任何一个候选键/码的属性为主/码属性,不包含任何一个候选码的属性为非主/码属性。
    13. 外键/码(Foreign Key):关系中的某个属性或属性组不是这个关系的主键或候选键,而是另一个关系的主键,则该属性(属性组)为关系的外键/码。
    14. 参照关系(Referencing Relation)/被参照关系(Referenced Relation):参照关系也称从关系,被参照关系又称主关系,它们指以外码相关联的两个关系。而以外码为主码的关系为被参照关系;外码所在的关系为参照关系,这种联系通常是一对多关联。
    15. 域(Domain):指属性取值范围。
    16. 数据类型(Data Type):每列(元关系)都有相应的数据类型,用于限制该列中存储的数据。
    17. 关系模式(Relation Schema):通数据模型一样,数据库也有型和值,在关系数据库中关系模式是型,关系是值,关系模式是对关系的描述。
    中文字段名 数据类型 宽度 ...
    学号 字符类型 8 ...
    姓名 字符类型 10 ...
    身份证 字符类型 18 ...
    ... ... ... ...

    上表是学生基本星系登记表关系的结构定义,关系则是元组的集合,是关系模式在某一时刻的状态或内容

    关系模式是静态的、稳定的,而关系是动态的、随时间不断变化,因为关系操作在不断地更新着数据库的数据实际工作中关系模式和关系统称为关系。

    18.关系数据库(Relation Database):以关系模型作为数据的逻辑模型,并采用关系作为数据组织方式的一类数据库,其数据库操作建立在关系代数的基础上。在给定的应用领域中,所以关系的集合构成一个关系数据库。
    在实际的数据库应用系统中,一般使用英文作为表名、字段名等。因为在编写数据库应用程序时,表名、字段名会作为变量名,使用中文不方便标识,且有些DBMS不能很好的兼容中文。 重点
    因此上表应该变更为:

    含义 字段名 数据类型 宽度 ...
    学号 studentNo 字符类型 8 ...
    姓名 sutdentName 字符类型 10 ...
    身份证 studentId 字符类型 18 ...
    ... ... ... ... ...

    关系数据库对关系的限定:

    • 每个属性都不可分解,是关系数据库对关系的最基本的限定,要求关系的每个分量必须是一个不可分的数据项,即不允许表中有表
    • 一个关系对应一种关系模式,模式中的属性的数据类型及属性的个数是相对固定的
    • 每个关系模式中的属性必须命名,在同一模式中,属性名必须是不同的
    • 同一关系中不允许出现候选码或键值完全相同的元组
    • 关系中的元组顺序是可任意交换
    • 关系中的属性顺序可以任意交换

    关系操作集合

    基本的关系操作

    增(插入 Insert)、删(Delete)、改(Update)、查(Query)。关系的查询表达能力是关系操作最主要的部分。查又可分为选择、投影、连接、除、并、差、交、笛卡尔积。集合操作方式(操作的对象和结果都是集合)。又称为一次一集合(set-at-a-time)

    关系数据语言的分类

    通过关系语言实现关系操作。它高度非过程化用户不必请求DBM为其建立特殊的存取路径,由 DBMS 的优化机制来完成。

    1. 代数方式:主要有关系代数,通过对关系的操作来表达查询要求
    2. 逻辑方式:主要有关系演算,是用谓词来表达查询要求,关系演算又按谓词变元的基本对象(元组变量或域变量),分为元组关系演算和域关系演算。
    3. 介于前两者之间的结构化查询语言(Structured Query Language,SQL):SQL具有丰富的查询功能、数据定义和数据控制功能。集查询、数据定义语言(DDL)、数据操作语言(DML)和数据控制语言(Data Control Language, DCL)于一体;是关系数据库的标准语言。

    关系代数

    关系代数是关系操作语言中的传统表示方式,以集合代数为基础发展而来。任何一种操作都是将一定的操作符作用域一定的操作对象上,得到预期的操作结果。
    操作包含三大要素:操作对象、操作符、操作结果。而对象和结果均为关系。关系代数直接应用关系的运算来表达操作的目的,运算符包括集合运算符和专门的关系运算符。

    关系代数的运算符
    集合运算符
    × 笛卡尔积
    专门的关系运算符 σ 选择
    π 投影
    连接
    ÷
    比较操作符 > 大于
    大于等于
    < 小于
    小于等于
    等于
    不等于
    比较操作符 ¬

    关系代数操作经过有限次复合的式子称为关系代数操作表达式(关系代数表达式),可使用表达式表示所需要执行的各种数据查询和修改处理,所有关系代数是一种抽象的查询语言,通过对关系的操作来表达查询。

    按运算符分类,关系代数操作可分为:传统的集合运算和专门的关系运算

    集合运算

    传统集合运算是二目运算,将关系看成元组集合,运算从行的角度来进行,具有 并、差、交、迪卡尔积四种运算。
    example:

    表 T1

    学号(SNO) 姓名(SNAME) 性别(SSEX) 宿舍(SROOM)
    0001 张三 N101
    0002 王二 N101
    0003 李梅 C101

    表 T2

    学号(SNO) 姓名(SNAME) 性别(SSEX) 宿舍(SROOM)
    0004 刘八 D101
    0005 赵二 B201
    0003 李梅 C101
    并(UNION)

    表T1 和 表T2 使用并运算产生一个新表T3,(T3 = T1 ∪ T2)它是由T1和T2所有不同元组所组成,且 T1和T2属性个数、值域相同。下表为 T1 ∪ T2的结果
    表 T3

    学号(SNO) 姓名(SNAME) 性别(SSEX) 宿舍(SROOM)
    0001 张三 N101
    0002 王二 N101
    0003 李梅 C101
    0004 刘八 D101
    0005 赵二 B201
    差(DIFFERENCE)

    表T1 和 表T2 使用差运算产生一个新表T4,(T4 = T1 - T2)它有T1的所有元组但不包含T2的元组,且 T1和T2属性个数、值域必须相同。下表为 T1 - T2的结果

    表 T4

    学号(SNO) 姓名(SNAME) 性别(SSEX) 宿舍(SROOM)
    0001 张三 N101
    0002 王二 N101
    交(INTERSECTION)

    表T1 和 表T2 使用交运算产生一个新表T5,(T5 = T1 ∩ T2)它同时包含T1和T2相同的所有元组,且 T1和T2属性个数、值域必须相同,交运算可由差运算表示(T1∩T2 = T1-(T1-T2))。下表为 T1 ∩ T2的结果

    表 T5

    学号(SNO) 姓名(SNAME) 性别(SSEX) 宿舍(SROOM)
    0003 李梅 C101
    笛卡尔积(CARTESIAN PRODUCT)

    表T6 和 表T7 使用笛卡尔积运算产生一个新表T8,(T8 = T6 × T7)它是T6和T7的所有元组连接而成,即将两张表的元关系合并,且T6的每一元组都对应T7所有的元组
    下表为 T6 × T7的结果

    表 T6

    学号(SNO) 姓名(SNAME)
    0001 张三
    0002 王二

    表 T7

    课程号(CNO) 课程名(CNAME) 教室(SSEX)
    1 数据库 C-101
    2 操作系统 C-102

    表 T8

    学号(SNO) 姓名(SNAME) 课程号(CNO) 课程名(CNAME) 教室(SSEX)
    0001 张三 1 数据库 C-101
    0001 张三 2 操作系统 C-102
    0002 王二 1 数据库 C-101
    0002 王二 2 操作系统 C-102
    专门的关系运算

    此运算即涉及行,又涉及列,分为一元专门关系操作和二元专门关系操作

    • 一元关系操作:对单个关系进行垂直分解的投影运算和进行水平分解选择运算
    • 二元关系操作:对两个关系进行操作,包括连运算和除运算
    选择(SELECT)

    选择运算( $σ_F(R)$ ),F为条件表达式,R为指定的被运算关系名。 从指定关系中选取满足条件的若干元组组成一个新关系

    SELECT 关系名 WHERE 条件语句(表达式)

    条件语句:由常数、属性名或列名、比较操作符及逻辑操作符组成

    example:

    SELECT T8 WHERE 姓名 = "张三"

    表 T9

    学号(SNO) 姓名(SNAME) 课程号(CNO) 课程名(CNAME) 教室(SSEX)
    0001 张三 1 数据库 C-101
    0001 张三 2 操作系统 C-102
    投影(PROJECTION)

    投影运算( $π_A(R)$ ), R为被运算关系,A为属性序列,从指定关系中选取指定的若干属性值组成新关系

    PROJECTION 关系名 ( 属性名1, 属性名2 ,... )

    组成的新关系自动去重

    example:

    PROJECTION T8 (课程号,课程名)

    表 T10

    课程号(CNO) 课程名(CNAME)
    1 数据库
    2 操作系统
    θ连接(JOIN)

    连接运算($R\cfrac{⋈}{xθy}S$),其中,R和S 代表两个不同的关系;x 和 y 分别表示R中的第x列和S中的第y列属性;θ表示比较运算符,从笛卡尔积R×S中选取R的第x列属性值与S的第y列属性值满足θ的那些元组组成一个新关系。

    JOIN 关系1 AND 关系2 WHERE 条件语句

    条件语句:由比较操作符和属性名或列名组成的表达式

    • 等值连接:θ值为 "=",从R和S的笛卡尔积中选取 x、y 属性值相等的元组
      example:

    表 T11

    A B C
    a b c
    d e f

    表 T12

    D E A
    g h a
    b c d
    JOIN  T11 AND T12 WHERE A = A

    T11 × T12

    A B C D E A
    a b c g h a
    a b c b c d
    d e f g h a
    d e f b c d

    等值结果为:

    表 T13

    A B C D E A
    a b c g h a
    d e f b c d
    • 自然连接:是一种特殊的等值连接,要求两个关系中比较的分量必须是 相同的属性组,且结果中去除重复的属性列

    表 T14

    A B C D E
    a b c g h
    d e f b c

    自然连接是构造新关系的有效方法,投影和选择是分解关系的有效方法,自然连接中如果两个关系没有公共属性则变成笛卡尔积

    除(DIVISION)

    待续。。。

    Owen 的个人博客
    博客园

    转载于:https://www.cnblogs.com/gaoguowen/p/11542457.html

    展开全文
  • 2.我看一本书上写的说现在数据仓库基本还是用关系型的数据库来实现(这本书有点老了可能),那岂不还是应该用关系模型?用了关系模型以后,还可以用OLAP对数据进行多维查看吗? 3.Erwin这个软件难道不是画E-R图的...
  • 关系数据模型二维表格表示实体,关键码表示实体键联系的数据模型。 关键码:又称为键,键由一个或几个属性组成。(这种定义就比较随便了) 超键:在一个关系中,能唯一标识元组的属性或属性集 候选键:...
  • 3、关系数据模型

    2020-02-29 16:32:44
    关系的型用关系模式刻画 关系的值即关系在某一时刻的快照,又称关系实例 关系模式的概念对应于类型概念,对关系型的描述,R(U, D, DOM, F),U诸属性,D属性对应域,DOM为U到D的映射,D和DOM定义表时考虑的...
  • 关系数据模型中将现实世界中的实体以及实体的联系都用表来表达,而层次数据模型中是用记录来表示实体,PCR表示关系,网状数据类型中是用记录来表示实体,系来表示关系,关系型数据模型将两者统一采用表来表达,这...
  •     定义:层次数据模型是用树状<层次>结构来组织数据的数据模型。     满足下面两个条件的基本层次联系的集合为层次模型     1. 有且只有一个结点没有双亲结点,这个结点称为根结点     2. ...
  • 本文转载自:http://www.cnblogs.com/yue-blog/p/6010527.html一、层次数据模型定义:层次数据模型是用树状结构来组织数据的数据模型。其实层次数据模型就是的图形表示就是一个倒立生长的树,由基本数据结构中的树...
  • 实体集和联系集都用关系表示。 域:具有相同类型的值的集合。 笛卡尔积:假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。 二维表:每个表都有一个...
  • (二) 关系数据模型

    2019-09-27 19:40:52
    在关系数据库中,我们用关系表示实体集和联系集,关系通常使用二维表来表示,对应关系名。表的每一列称为属性(和ER图中的可以认为一样的);每一行可以称为一条记录;这里每个属性都需要原子的,这决定了规范的...
  • 数据库领域中主要的逻辑数据模型有:层次模型、网状模型、关系模型、面向对象数据模型等,我们重点讲解了**层次模型、网状模型、关系模型**。 1.1 层次模型 层次数据库系统的典型代表IBM公司的Information ...
  • 关系数据模型(一)关系域: 笛卡尔积 关系域D1, D2, …, Dn上的关系r笛卡尔积D1x D2…xDn的任意子集。n个域上的关系称为n-元关系,“元”又称目或度 关系的性质 1.关系笛卡尔积的子集,即元组的集合,所以,...
  •  定义:层次数据模型是用树状<层次>结构来组织数据的数据模型。  其实层次数据模型就是的图形表示就是一个倒立生长的树,由基本数据结构中的树(或者二叉树)的定义可知,每棵树都有且仅有一个根节点,其余...
  • 关系模型数据结构 关系模型源于数学 它用二维表来组织数据 而这个二维表在关系数据库中称为 关系 关系数据库表的集合 用关系表示实体以及实体间的联系的模型 称为关系模型 下面我们来看看关系 模型中的基本术语 ...
  • 关系数据模型(一)关系域: 笛卡尔积 关系域D1, D2, …, Dn上的关系r笛卡尔积D1x D2…xDn的任意子集。n个域上的关系称为n-元关系,“元”又称目或度 关系的性质 1.关系笛卡尔积的子集,即元组的集合,所以,...
  • 主要二维表的形式表示实体和实体间联系的数据模型关系模型中无论实体还是实体间的联系均由单一的结构类型——关系表示。在实际的关系数据库中的关系也称表。一个关系数据库就是由若干个表组成。关系模型...
  • 现实世界的实体以及实体间的各种联系均用关系表示一组具有相同数据类型的值的集合。 笛卡尔积给定一组域D1,D2, …,Dn,这些域中可以有相同的。笛卡尔积中每一个元素(d1, d2, …, dn)叫作一个n元组...
  • 关系模型

    2019-01-18 21:20:00
    概念模型:一种独立与计算机系统的数据模型,只是用来描绘某个特定环境下,特地给系统中,特定需求对象所关系的客观存在的信息结构 概念模型通常E-R模型、扩充 的E-R模型来表示 概念模型的相关术语: 实体:...
  • 数据模型可以多种形式表示,如实体关系图或UML类图。数据字典每个数据元素的引用和说明。它是数据模型的详细定义和文档(进一步了解数据字典)。它可以有两个抽象层次:物理和逻辑。数据库模式数据库模式特定...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,356
精华内容 542
关键字:

关系数据模型是用关系表示