精华内容
下载资源
问答
  • 数据库技术中,用数据模型的概念描述数据库的结构和语义,是对现实世界的数据抽象。数据模型是研究数据库技术的核心和基础。 文章目录1.概念数据模型(CDM)2.逻辑数据模型(LDM)3.物理数据模型(PDM) 1.概念...

        模型是现实世界特征的模拟和抽象。在数据库技术中,用数据模型的概念描述数据库的结构和语义,是对现实世界的数据抽象。数据模型是研究数据库技术的核心和基础。



    1.概念数据模型(CDM)

        现实世界主要涉及以下一些概念:
        (1)实体(Entity)
        客观存在并可相互区别的事物称为实体。
        可以是具体的人、事、物或抽象的概念。
        (2)属性(Attribute)
        实体所具有的某一特性称为属性。
        一个实体可以由若干个属性来刻画。
        (3)码(Key)
        唯一标识实体的属性集称为码。
        (4)实体型(Entity Type)
        用实体名及其属性名集合来抽象和刻画同类实体称为
    实体型
        (5)实体集(Entity Set)
        同一类型实体的集合称为实体集
        (6)联系(Relationship)
        现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。
        实体内部的联系通常是指组成实体的各属性之间的联系
        实体之间的联系通常是指不同实体集之间的联系
        实体之间的联系有一对一、一对多和多对多等多种类型

        概念数据模型是现实世界到信息世界的第一层抽象,主要是在高水平和面向业务的角度对信息的一种描述,通常作为业务人员和技术人员之间沟通的桥梁。作为现实世界的概念化结构,这种数据模型使得数据库的设计人员在最初的数据库设计阶段将精力集中在数据之间的联系上,而不用同时关注数据的底层细节(如所用的计算机系统的特性以及数据库管理系统—DBMS的特性)。

        概念数据模型主要的贡献在于分析数据之间的联系,它是用户对数据存储的一种高度抽象,反应的是用户的一种业务层面的综合信息需求。

        在这个阶段一般会形成整个数据模型或者是软件系统中的实体的概念以及实体之间的联系,为构建逻辑数据模型奠定基础。下图中描述了现实世界和信息世界以及最终转换成计算机世界信息的转换流程。

    图 1    数据的抽象以及转换流程图

        设计概念数据模型的主要工具是E-R图,扩展的E-R图。
        概念模型的表示方法最常用的是P.P.Chen于1976年提出的"实体-联系图方法(Entity-Relationship Approach),简称E-R模型"。E-R实体联系图是直观表示概念模型的工具,其中包含了实体、联系、属性三个成分,联系的方法为一对一(1:1)、一对多(1:N)、多对多(M:N)三种方式,联系属于哪种方式取决于客观实际本身。
        E-R模型图,既表示实体,也表示实体之间的联系,是现实世界的抽象,与计算机系统没有关系,是可以被用户理解的数据描述方式。通过E-R模型图可以使用户了解系统设计者对现实世界的抽象是否符合实际情况,从某种程度上说E-R模型图也是用户与系统设计者进行交流的工具,E-R模型图已成为概念模型设计的一个重要设计方法。
      在这里插入图片描述
    在这里插入图片描述



    2.逻辑数据模型(LDM)

    数据模型由三部分组成:数据结构、数据操作和数据约束。
      (1)数据结构:数据结构主要描述数据的类型、内容、性质、以及数据之间的联系,是整个数据模型的基础,而针对数据的操作和数据之间的约束都是建立在数据结构的基础上的;
      (2)数据操作:主要定义了在相应的数据结构上的操作类型和操作方式(数据库中的增删改查等);
      (3)数据约束:数据约束主要用来描述数据库中数据结构之间的语法、词义联系以及彼此之间的相互约束和制约关系(如MySQL中使用外键保证数据之间的数据完整性)

    逻辑数据模型是对概念数据模型进一步具体化,在概念数据模型定义实体的基础上定义了各个实体的属性,是用户从数据库的角度能够看到的数据的模型,是所使用的数据库管理系统(Database Management System,DBMS)所支持的数据类型(网状数据模型、层次数据模型、关系数据模型)。这种数据模型架起了用户和系统之间的桥梁,既要面向用户,同时也考虑到了所用的DBMS所支持的特性。

    逻辑数据模型反映了系统分析设计人员针对数据在特定的存储系统(如MySQL)的观点,是对概念数据模型的进一步细化和划分。逻辑数据模型是根据业务之间的规则产生的,是关于业务对象、业务对象数据以及业务对象彼此之间关系的蓝图。

    逻辑数据模型的内容包括所有的实体、实体的属性、实体之间的关系以及每个实体的主键、实体的外键(用于维护数据完整性)。其主要目标是尽可能详细的描述数据,但是并不涉及这些数据的具体物理实现。逻辑数据模型不仅会最终影响数据库的设计方向,并最终会影响到数据库的性能(如主键设计、外键等都会最终影响数据库的查询性能)。

    逻辑数据模型是开发物理数据库的完整文档,逻辑数据模型主要采用的是层次模型、网状模型、关系模型,其中最常用的是关系模型,对应的数据库称之为关系型数据库,如MySQL。
      常用的结构数据模型是关系模型和面向对象模型,关系模型的理论基础是数学理论,数据的操作通过关系运算实现。在关系模型中用二维表表示实体及实体之间的联系,关系模型的实例称为关系。从数学的观点上看,关系是集合,其元素是元组(记录)。遵循一定的规则后,可以将E-R模型图转换成关系模型。


        将E-R模型图转换成关系模型的规则
    E-R模型图中的主要成分是实体及实体之间的联系,对于实体的转换方式是:
      1) 将一个实体转换成一个关系模型。实体的属性为关系模型的属性,实体的标识符为关系模型的关键字,如上图所示的E-R模式中有两个实体:学生、课程,可以分别转换学生模型和课程模型:
        学生模型(学号,姓名,性别,年龄),学号是学生模型的关键字
        课程模型(课程号,课程名,学时数),课程号是课程模型的关键字
        2) 联系转换为关系模型。联系转换成关系模型时,要根据联系方式的不同采用不同的转换方式:
        若联系的方式是一对一的(1:1),可以在两个实体关系模型中的任意一个关系模型中加入另一个关系模型的关键字和联系类型的属性。
        若联系方式是一对多的(1:N),则在N端(为多的一端)实体的关系模型中加入1端实体关系模型的关键字和联系类型的属性
        若联系方式是多对多的(M:N),则将联系也转换成关系模型,其属性是互为联系的两个实体的关键字和联系的属性
    在这里插入图片描述



    3.物理数据模型(PDM)

    物理数据模型,又称为物理模型,是概念数据模型和逻辑数据模型在计算机中的具体表示。该模型描述了数据在物理存储介质上的具体组织结构,不但与具体的数据库管理系统相关,同时还与具体的操作系统以及硬件有关,但是很多工作都是由DBMS自动完成的,用户所要做的工作其实就是添加自己的索引等结构即可。

    物理数据模型是在逻辑数据模型的基础上,综合考虑各种存储条件的限制,进行数据库的设计,从而真正实现数据在数据库中的存放。其主要的工作是根据逻辑数据模型中的实体、属性、联系转换成对应的物理模型中的元素,包括定义所有的表和列,定义外键以维持表之间的联系等,具体例子如下:

    图2 逻辑数据模型到对应的数据库之间的转换示例

    展开全文
  • 层次数据模型     定义:层次数据模型是用树状<层次>结构来组织数据的数据模型。     满足下面两个条件的基本层次联系的集合为层次模型     1. 有且只有一个结点没有双亲结点,这个结点称为根结点...
    层次数据模型

        定义:层次数据模型是用树状<层次>结构来组织数据的数据模型。

        满足下面两个条件的基本层次联系的集合为层次模型
        1. 有且只有一个结点没有双亲结点,这个结点称为根结点
        2. 根以外的其它结点有且只有一个双亲结点

    其实层次数据模型就是的图形表示就是一个倒立生长的树,由基本数据结构中的树(或者二叉树)的定义可知,每棵树都有且仅有一个根节点,其余的节点都是非根节点。每个节点表示一个记录类型对应与实体的概念,记录类型的各个字段对应实体的各个属性。各个记录类型及其字段都必须记录。
      在这里插入图片描述
      层次模型的特点:
        结点的双亲是唯一的
        只能直接处理一对多的实体联系
        每个记录类型可以定义一个排序字段,也称为码字段
        任何记录值只有按其路径查看时,才能显出它的全部意义
        没有一个子女记录值能够脱离双亲记录值而独立存在
      实例:
        在这里插入图片描述
        在这里插入图片描述
        
        层次模型的完整性约束条件
        无相应的双亲结点值就不能插入子女结点值
        如果删除双亲结点值,则相应的子女结点值也被同时删除
        更新操作时,应更新所有相应记录,以保证数据的一致性

        优点
        层次模型的数据结构比较简单清晰
        查询效率高,性能优于关系模型,不低于网状模型
        层次数据模型提供了良好的完整性支持
        缺点
        结点之间的多对多联系表示不自然
        对插入和删除操作的限制多,应用程序的编写比较复杂
        查询子女结点必须通过双亲结点
        层次命令趋于程序化

    层次数据库系统的典型代表是IBM公司的IMS(Information Management System)数据库管理系统


    网状数据模型

        定义:用有向图表示实体和实体之间的联系的数据结构模型称为网状数据模型。
        满足下面两个条件的基本层次联系的集合称为网状数据模型:
        1. 允许一个以上的结点无双亲;
        2. 一个结点可以有多于一个的双亲。
    在这里插入图片描述
      其实,网状数据模型可以看做是放松层次数据模型的约束性的一种扩展。网状数据模型中所有的节点允许脱离父节点而存在,也就是说说在整个模型中允许存在两个或多个没有根节点的节点,同时也允许一个节点存在一个或者多个的父节点,成为一种网状的有向图。因此节点之间的对应关系不再是1:n,而是一种m:n的关系,从而克服了层次状数据模型的缺点。
      特征:
         1. 可以存在两个或者多个节点没有父节点;
         2. 允许单个节点存在多于一个父节点;
      网状数据模型中的,每个节点表示一个实体,节点之间的有向线段表示实体之间的联系。网状数据模型中需要为每个联系指定对应的名称。
      实例:  
    在这里插入图片描述

        优点:
        网状数据模型可以很方便的表示现实世界中的很多复杂的关系;
        修改网状数据模型时,没有层次状数据模型的那么多的严格限制,可以删除一个节点的父节点而依旧保留该节点;也允许插入一个没有任何父节点的节点,这样的插入在层次状数据模型中是不被允许的,除非是首先插入的是根节点;
        实体之间的关系在底层中可以借由指针指针实现,因此在这种数据库中的执行操作的效率较高;

        缺点:
         网状数据模型的结构复杂,使用不易,随着应用环境的扩大,数据结构越来越复杂,数据的插入、删除牵动的相关数据太多,不利于数据库的维护和重建。
         网状数据模型数据之间的彼此关联比较大,该模型其实一种导航式的数据模型结构,不仅要说明要对数据做些什么,还说明操作的记录的路径;
        DDL、DML语言复杂,用户不容易使用
        记录之间联系是通过存取路径实现的,用户必须了解系统结构的细节

        网状模型与层次模型的区别
        网状模型允许多个结点没有双亲结点
        网状模型允许结点有多个双亲结点
        网状模型允许两个结点之间有多种联系(复合联系)
        网状模型可以更直接地描述现实世界
        层次模型实际上是网状模型的一个特例

    典型代表是DBTG系统,亦称CODASYL系统,是20世纪70年代由DBTG提出的一个系统方案。实际系统:Cullinet Software公司的 IDMS、Univac公司的 DMS1100、Honeywell公司的IDS/2、HP公司的IMAGE。


    三、关系型数据模型
      关系型数据模型对应的数据库自然就是关系型数据库了,这是目前应用最多的数据库。
      定义:使用表格表示实体和实体之间关系的数据模型称之为关系数据模型。
      关系型数据库是目前最流行的数据库,同时也是被普遍使用的数据库,如MySQL就是一种流行的数据库。支持关系数据模型的数据库管理系统称为关系型数据库管理系统。
      特征:
         1. 关系数据模型中,无论是是实体、还是实体之间的联系都是被映射成统一的关系—一张二维表,在关系模型中,操作的对象和结果都是一张二维表,它由行和列组成;
         2. 关系型数据库可用于表示实体之间的多对多的关系,只是此时要借助第三个关系—表,来实现多对多的关系;
         3. 关系必须是规范化的关系,即每个属性是不可分割的实体,不允许表中表的存在;
      实例:

    在这里插入图片描述

        优点:
         结构简单,关系数据模型是一些表格的框架,实体的属性是表格中列的条目,实体之间的关系也是通过表格的公共属性表示,结构简单明了;
        关系数据模型中的存取路径对用户而言是完全隐蔽的,是程序和数据具有高度的独立性,其数据语言的非过程化程度较高;
        操作方便,在关系数据模型中操作的基本对象是集合而不是某一个元祖;
         有坚实的数学理论做基础,包括逻辑计算、数学计算等;

        缺点:
        查询效率低,关系数据模型提供了较高的数据独立性和非过程化的查询功能(查询的时候只需指明数据存在的表和需要的数据所在的列,不用指明具体的查找路径),因此加大了系统的负担;
        由于查询效率较低,因此需要数据库管理系统对查询进行优化,加大了DBMS的负担;

        相关概念:
        关系(Relation):一个关系对应通常说的一张表
        元组(Tuple):表中的一行即为一个元组
        属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名
        主码(Key):也称码键。表中的某个属性组,它可以唯一确定一个元组
        域(Domain):是一组具有相同数据类型的值的集合。属性的取值范围来自某个域。
        分量:元组中的一个属性值。
        关系模式:对关系的描述,关系名(属性1,属性2,…,属性n),如:学生(学号,姓名,年龄,性别,系名,年级)

        关系必须是规范化的,满足一定的规范条件
        最基本的规范条件:关系的每一个分量必须是一个不可分的数据项, 不允许表中还有表

        术语对比
    在这里插入图片描述

        关系的完整性约束条件
        实体完整性
        实体完整性是指实体的主属性不能取空值。实体完整性规则规定实体的所有主属性都不能为空。实体完整性针对基本关系而言的,一个基本关系对应着现实世界中的一个主题,例如上例中的学生表对应着学生这个实体。现实世界中的实体是可以区分的,他们具有某种唯一性标志,这种标志在关系模型中称之为主码,主码的属性也就是主属性不能为空。
        参照完整性
        在关系数据库中主要是值得外键参照的完整性。若A关系中的某个或者某些属性参照B或其他几个关系中的属性,那么在关系A中该属性要么为空,要么必须出现B或者其他的关系的对应属性中。
        用户定义的完整性
        用户定义完整性是针对某一个具体关系的约束条件。它反映的某一个具体应用所对应的数据必须满足一定的约束条件。例如,某些属性必须取唯一值,某些值的范围为0-100等。

    计算机厂商新推出的数据库管理系统几乎都支持关系模型



    展开全文
  • 层次模型,网状模型,关系模型的优缺点总结

    层次模型

    优点:

    1. 数据结构简单清晰。
    2. 因为记录之间的联系用有向边表示,这种联系在DBMS中通常使用指针实现,查询效率高。层次模型数据库性能优于关系数据库,不低于网状数据库。
    3. 提供了良好的完整性支持。进行插入操作时,如果没有对应的双亲结点就不能插入它的子女结点值。进行删除操作时,如果删除双亲结点,则相应的子女结点值也将被同时删除。

    缺点:

    1. 现实世界中的很多联系是非层次性的。如果结点之间具有多对多联系,不再适合使用层次模型表示。如果一个子女结点确实具有多个双亲结点,使用层次结构模型表示的时候就会出现大量的冗余,且操作复杂。
    2. 查询子女结点必须通过双亲结点。
    3. 由于结构严密,层次命令趋于程序化。

    网状模型

    优点:

    1. 能够更为直接地表示现实世界。
    2. 具有良好的性能,存取效率高。

    缺点:

    1. 结构复杂,伴随应用环境的扩大,数据结构变得越来越复杂,不利于最终用户掌握。
    2. 网状模型的数据定义语言和数据管理语言复杂。
    3. 由于记录之间的联系通过存取路径实现,应用程序在访问数据的时候必须选择恰当的存取路径,因此用户必须了解系统结构的细节,导致加重了编写应用程序的负担。

    关系模型

    优点:

    1. 关系模型建立在严格的数学概念的基础之上。
    2. 关系模型概念单一。无论是实体还是实体之间的联系都用关系来表示。对数据的检索和更新结果也是基于关系(表)的。所以,数据结构简单清晰,用户易懂易用。
    3. 关系模型的存取路径对用户透明,从而具有较高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。

    缺点:

    1. 由于存取路径对用户是透明的,查询效率往往不如格式化数据模型。
    2. 为了提高系统性能,数据库管理系统必须对用户的查询请求进行优化。
    展开全文
  • 理解数据库与数据模型的概念

    千次阅读 2020-03-02 19:07:15
    本篇首先引入编程微课项目作为数据库的应用...● 数据库的基本原理及数据模型 ● 关系数据库 1、编程微课 编程微课项目使用图文,语言,视频等方式进行内容教学,再附加各种训练题,帮助练习和巩固知识。 微课...

    本篇首先引入编程微课项目作为数据库的应用案例,通过对项目功能及涉及的相关数据的介绍,让读者对数据库的应用有一个感性认识,然后重点讲述关系数据库的理论基础知识。通过本篇的学习,读者应该能掌握以下内容:

    ● 编程微课的主要功能

    ● 数据库的基本原理及数据模型

    ● 关系数据库

     

    1、编程微课

    编程微课项目使用图文,语言,视频等方式进行内容教学,再附加各种训练题,帮助练习和巩固知识。

    微课内容来自于编程达人,编程达人撰写课程内容,通过编程微课平台为编程爱好者提供课程内容,获得收益。读者可以通过PC浏览器、微信小程序支付课程费用和学习课程内容,并可以加入编程达人的朋友圈,与编程达人进一步互动交流学习。

     

    2、理解数据库

    数据库可以理解为存储数据的仓库,每个数据项在数据仓库中都有编号,通过编号就可以找到该数据项。例如,图书馆就是存储图书的仓库,在图书馆存储的每本图书都有一个编号,编号表示了书的类别和顺序号,同类别的书放在一个书架上,便于图书管理员和读者查找图书。

    图书馆存储的是图书,数据库存储的是数据,每条数据称为数据项。数据是对客观事物的符号表示,如文字、图形、数字等。在日常生活中,人们直接用语言来描述事物,例如在描述一门课程时,人们常用“Java编程课程—入门篇由编程达人郎老师编写,编程语言课,课程面向青少年编程爱好者,课程以浅显易懂的语言,以常见的生活场景为案例,带领大家逐步进入计算机编程世界”。

    在计算机中,为了存储和处理这些事物,就要将事物的特征抽象出来组成一个记录来描述。

    例如,将课程事物抽象为数据项记录(课程名称,授课老师,类别、学生对象,课程简介)。课程事物的一条数据可以描述为(Java编程课程—入门篇,郎老师,编程语言,面向青少年爱好者,课程以浅显易懂的语言,以常见的生活场景为案例,带领大家逐步进入计算机编程世界)。

    当需要存储多个课程数据项时,就构成了数据库。因此,数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用提供数据服务。

     

    3、数据库发展简史

    计算机应用于数据管理的初期,由于没有必要的软件、硬件环境的支持,用户只能直接在裸机上操作。当时编写的应用程序不仅要设计如何处理和存储数据,还要指明数据在存储器上的存储地址。在这一管理方式下,应用程序和数据之间相互结合,不可分割,数据独立性差,缺少共享性,编程效率低下。这一阶段称为人工管理阶段。

    随着计算机软、硬件的发展,数据管理进入了文件管理阶段,这一阶段的主要标志是计算机有了专门管理数据库的软件——操作系统(文件管理)。文件管理方式是把有关的数据组织成一种文件,这种数据文件可以脱离程序而独立存在,有一个专门的文件管理系统实施统一管理。在这一管理方式下,应用程序通过文件管理系统对数据文件中的数据进行加工处理,应用程序的数据具有一定的独立性和共享性,比手工管理方式更进了一步。

    在文件管理阶度,数据虽然具备了一定的独立性和共享性,但由于数据的组织依然是面向程序,数据不但存在大量冗余,而且数据自身的逻辑结构也难以满足不同用户对数据的要求。为了减少数据冗余,提高数据的共享性和独立性,人们需要对使用的数据进行统一规划管理,形成一个数据中心,构成一个数据库。数据库中数据能够满足所有用户的不同要求,供不同用户共享。这个阶段称为数据库管理系统阶段。

     

    4、数据模型

    数据模型是数据库的基础,数据是对客观事物的符号表示,模型是现实世界的抽象。数据模型是对数据特征的抽象。

    客观事物抽象为数据模型,是一个逐步转化的过程,经历了现实世界、信息世界和计算机世界这三个不同的世界,经历了两级抽象和转换,如下图所示:

     

                                 

                                                                             图 2-1 数据抽象过程

     

    现实世界是指客观存在的事物及其相互间的联系,人们一般选择事物的基本特征来描述事物。事物可以是抽象的,也可以是具体的,如课程属于抽象的事物,人们通常用课程名称、授课老师、类别、学生对象、课程简介等特征来描述和区分。学生就属于具体的事物,通常用学号、姓名、班级、成绩等特征来描述和区分。

    信息世界是对现实世界的抽象,人们把事物的特征和联系通过符号记录下来,并用规范化的语言描述现实世界的事物,从而构成一个基于现实世界的信息世界,这个信息世界就是概念模型概念模型主要用来描述显示世界的概念化结构,它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及数据库管理系统的具体技术问题,集中精力分析数据以及数据之间的联系。在概念模型中,最常用的设计模型就是实体—联系模型(ER模型),关于课程的ER模型如下图所示:

     

                                            

                                                                                       图 2-2 课程ER模型

     

    信息世界的概念模型还不能被数据库管理系统直接使用,需要将概念模型进一步转换为逻辑数据模型,形成便于计算机处理的数据形式。逻辑数据模型是具体的数据库管理系统所支持的数据模型,主要有关系数据模型、层次数据模型和网状数据模型。关系数据模型是目前最流行的数据库模型,支持关系数据模型的数据库管理系统称为关系数据库管理系统,MySQL就属于关系数据库管理系统。关系数据模型以二维表结构来表示事物与事物之间的联系,也可以称为实体与实体之间的联系。关于课程关系的二维表如下表所示:

                                 

     

                                                                               表格 2-1 课程关系表

     

    逻辑数据模型反映了数据的逻辑结构,当需要把逻辑模型数据存储到物理介质时,就需要用到物理数据模型了,物理数据模型是面向计算机物理表示的模型,描述了数据在存储介质上的组织结构,它不但与具体的数据库管理系统有关,而且还与操作系统和硬件相关,每一种逻辑数据模型在实现时都有对应的物理数据模型。本课程重点讨论概念数据模型和逻辑数据模型,物理数据模型不是本课程讨论的重点。

     

    5、 关系数据库

    要设计一个数据库系统,首先要将现实世界抽象到数据的世界,即将现实世界用数据进行描述,得到一个现实世界的数据模型

    关系数据模型是目前描述现实世界主要的抽象化方法它将用户数据的逻辑结构归纳为满足一定条件的二维表的形式。由于关系数据模型概念简单、清晰,用户易懂易用,又有严格的数学基础。因此,20世纪80年代以来推出的数据库管理系统都支持关系数据模型,支持关系数据模型的数据库管理系统也称为关系数据库。

    在描述现实世界的过程中,为了分析的方便,可以将这一抽象过程分为两个阶段首先应用ER模型将现实世界抽象为一个信息世界,这种信息的结构不依赖于具体的计算机实现,然后将信息世界的数据抽象为结构化的二维表形式,形成关系数据模型。

    下面以编程微课项目的学生与课程两个事物(实体)为例,对两个阶段的抽象过程作具体说明。

    在现实世界中描述学生和课程,要结合具体的事物场景来分析。编程微课项目使用图文,语言,视频等方式进行在线教学,学生可以在任何时间、任何地点使用手机或电脑打开课程学习。结合上面的场景来分析学生和课程的特征。学生有名称、账号、登录密码、性别、年龄等基本特征;课程有课程名称、授课老师、类别、学生对象、课程简介等基本特征;学生与课程的主要关系是学生学习课程。

    经过上面对学生和课程的分析,可以画出学生与课程的ER模型,完成第一阶段从现实世界到概念世界的抽象。ER模型如下图所示:

     

                                              

                                                                                 图 2-3 学生与课程ER模型

    第二阶段将设计的ER模型抽象为结构化的二维表形式,形成关系数据模型。将ER模型转换为结构化的二维表形式非常简单,一个事物(实体)对应一个表,事物(实体)的属性为表的字段,事物(实体)之间的关系可以在一个实体的二维表中增加另一个实体的主要字段来实现。ER模型转换后的二维表如下图所示:

     

                                   

                                                                   图 2-4 学生课程二维表结构

     

    ■ 课程小结

    可以把关系数据库理解为超市,超市摆放商品的每一排货架为数据库表,货架中每一列为表的字段,每一行为表的一条记录。假设货架每行同列摆放的商品类别相同,则可以把超市的每一排货架理解为数据库的二维表结构。由此可以看出,关系数据库是由多个二维表组成的,在每个二维表中每行同列存储的数据类别相同。

    设计关系数据库时,需要两个阶段。第一个阶段是需要将现实世界的事物进行概念化,抽象为概念数据模型,此阶段最常用的工具是实体—联系模型(ER图);第二个阶段是将ER模型转换为二维表结构(关系数据模型),此阶段一般需要利用数据库设计工具进行设计,如PowerDesigner、Visio等设计软件。

    展开全文
  • 数据模型是指数据库的组织形式,它决定了数据库中数据之间联系的表达方式,即把在计算机中表示客观事物及其联系的数据及结构称为数据模型。本文详细讲述传统三大数据模型和空间数据模型。 一、数据模型概述 数据模型...
  • MySQL创建数据库和创建数据表

    万次阅读 多人点赞 2019-10-20 23:44:40
    MySQL 创建数据库和创建数据表 MySQL 是最常用的数据库,在数据库操作中,基本都是增删改查操作,简称CRUD。 在这之前,需要先安装好 MySQL ,然后创建好数据库、数据表、操作用户。 一、数据库操作语言 数据库...
  •  概念模型就是在了解了用户的需求,用户的业务领域工作情况以后,经过分析和总结,提炼出来的用以描述用户业务需求的一些概念的东西。如销售业务中的“客户”和“定单”,还有就是“商品”,“业务员”。   用...
  • 数据库的三种模型

    千次阅读 2021-01-15 16:56:32
    前言 数据模型是数据库系统的核心,本文简要介绍三种主要的数据库模型。 一、格式化模型 格式化模型是层次模型和网状模型的统称 1.层次模型 ① 层次数据模型的概念 层次模型用属性结构来表示各类实体以及实体间的...
  • 数据库模型详解

    千次阅读 2018-10-27 10:09:56
    什么是数据库模型 内容 数据库模型的类型 关系模型 分层模型 网络模型 面向对象的数据库模型 对象关系模型 实体关系模型 其他数据库模型 NoSQL数据库模型 Web上的数据库   数据库模型显示数据库的逻辑...
  • 本文根据b站鲁老师的教学视频整理而来,...对于ER模型和UML模型不是很熟悉的小伙伴和烦恼于如何设计项目的数据库的小伙伴可以看看本文。 数据库设计(DBD):构造最优的数据模型,建立数据库及其应用系统的过程。...
  • 关系数据库模型设计

    千次阅读 2020-05-19 17:13:17
    本文从现实世界-概念世界(信息世界)-机器世界(数据世界)逐级抽象,旨在以浅显易懂的语言描述关系数据库应该如何建模,最后用简单名了的描述给出关系模型的设计范式的含义。
  •  在了解了用户的需求,用户的业务领域工作情况以后,经过分析和总结,提炼出来的用以描述用户业务需求的一些概念的东西。  如销售业务中的“客户”和“定单”,还有就是“商品”,“业务员”。主要是抽取出系统中...
  • 数据库设计——概念模型

    千次阅读 2019-10-21 15:56:28
    概念模型是用于信息世界的建模,是现实世界的第一层抽象。 1.基本概念 (1)实体(entity) 客观存在并可相互区别的实物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系,例如:一个职工、一个学生...
  • 数据模型数据库设计中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。 数据模型数据库系统的核心和基础。 其实就是一种E-R图的表现形式。 常见的数据模型有层次模型、...
  • 三种数据库模型

    千次阅读 2019-11-16 12:00:01
    2. 网状数据模型数据之间的彼此关联比较大,该模型其实一种导航式的数据模型结构,不仅要说明要对数据些什么,还说明操作的记录的路径; 三、关系型数据模型 关系型数据模型对应的数据库自然就是关系型数据库...
  • PowerDesigner建立数据库模型

    千次阅读 2019-06-28 08:32:27
    使用它可以分别从概念数据模型和物理数据模型两个层次对数据库进行设计。 接下来将进行如何使用它进行数据库设计的讲解 首先打开它,创建一个物理数据模型——NEW Model。 选中红笔标中的选项-物理数据模型-...
  • 如何画数据库ER图

    万次阅读 多人点赞 2020-02-16 20:23:06
    即数据模型中的数据对象(即数据表),用长方体来表示,每个实体都有自己的实体成员(entity member)或者说实体对象(entity instance),例如学生实体里包括张三、李四等。 实体还会细分为弱实体和复合实体,一个...
  • 数据库的概念模型

    万次阅读 2017-11-04 09:24:57
    参考:... ... 1、概念模型: ...(1)定义:现实世界到信息世界的第一层抽象,确定领域实体属性关系等。...2、逻辑模型: ...a、将概念模型转化为数据模型。 b、根据选定的DBMS
  • 数据库实体联系模型与关系模型

    千次阅读 2020-03-02 19:11:33
    数据库设计是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。例如,编程微课是在线编程教育项目,该项目涉及到课程、学生、老师、学习资料等数据,这些数据都要被存储下来,...
  • 实时数据库,内存数据库,关系型数据库比较

    万次阅读 多人点赞 2018-09-26 18:55:10
    内存数据库 内存数据库就是将数据放在内存中直接操作的数据库,它利用内存的读写速度比磁盘快、内存是随机访问而磁盘是顺序访问...采用关系模型建立起来的数据库叫做关系数据库。关系数据库是建立在集合代数基础上...
  • 数据库系统常用的数据模型

    千次阅读 2021-01-13 09:09:08
    数据库系统常用的数据模型一、层次模型二、网状模型三、关系模型 数据库的发展经历了初始阶段、萌芽阶段、初级阶段、中级阶段、高级阶段,这个过程也产生了多个不同的数据模型,接下来我们讲详细介绍数据库模型 ...
  • 数据库三种数据模型

    万次阅读 2018-07-20 19:27:33
    层次模型数据库系统最早使用的一种模型,它的数据结构是一棵“有向树”。根结点在最上端,层次最高,子结点在下,逐层排列。层次模型的特征是: 有且只有一个根结点 其他结点有且仅有一个父结点 网状模型 网状...
  • 数据库学习:数据模型

    万次阅读 2018-05-30 14:31:59
    前言正题在开始编写文章前,有几个问题需要思考一下:什么数据模型生成数据模型的业务规则数据模型构成...而在数据库环境中,数据模型则是表示数据结构及其特征、关系、约束、变换以及为特定问题域提供支持的其他组...
  • 数据库建模-概念模型建模(E-R图)

    千次阅读 2019-11-16 22:06:02
    目录数据库建模-概念模型建立面向对象模型数据库关系模型两种模型的关系中间件概念数据模型(CDM)实体及属性实体属性联系一对一双向关系一对一单向关系一对多(等效多对一)多对多域(Domain )PowerDesigner建立概念...
  • 数据库----数据库的概念及数据模型

    千次阅读 2019-09-26 01:53:05
    是人们的需要,其对世界事物数据特征的抽象,对数据和信息建模,主要是对数据库的建模。 简单来说,如数模比赛,我们需要针对一个现实中的一个问题,需要抽象出各种数据,然后针对这些数据与信息进行建模,采用什么...
  • 1.概念模型:也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。 2.逻辑模型和物理模型 逻辑模型 物理模型 层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型、半...
  • 数据库简介、及常用数据库介绍

    万次阅读 多人点赞 2018-09-17 22:10:14
    一、数据库简介 数据库:就是数据的仓库,它是长期存储在计算机内,有组织的、可共享的数据的集合。...而在当今的互联网中,最常见的数据库模型主要是两种,即关系型数据库(SQL)和非关系型数据库(NoSQL,N...
  • 数据库数据模型思维导图: 数据库的理解 数据库可以理解为存储数据的仓库,每个数据项在数据仓库中都有编号,通过编号就可以找到该数据项。例如,图书馆就是存储图书的仓库,在图书馆存储的每本图书都有一个编号,...
  • 数据库 之关系模型

    千次阅读 2019-04-17 14:46:06
    关系模型的数据结构:以二维表的形式表示实体和实体之间联系的数据模型。其是一张规范化的二维表,它由表名,表头和表体三部分构成。 2.关系模型:分量:每一行对应的列的属性值,即为元组中的一个属性值。 候选码:...
  • 通常我们拿到项目方案书的第一步是分析数据,并建立数据表,接着就是建立数据库,而数据库模型是建立数据库的基础,通过在PowerDesigner中建立数据库的数据模型既可把表与表之间的关系分明确,又可直接导入数据库,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 733,757
精华内容 293,502
关键字:

数据库做出来后的模型