概念模型就是在了解了用户的需求,用户的业务领域工作情况以后,经过分析和总结,提炼出来的用以描述用户业务需求的一些概念的东西。如销售业务中的“客户”和“定单”,还有就是“商品”,“业务员”。  用USE CASE来描述就是:“业务员”与“客户”就购买“商品”之事签定下“定单”。(此时可以不包含属性,只有实体集,联系集的分析结构)
   逻辑模型就是要将概念模型具体化。要实现概念模型所描述的东西,需要那些具体的功能和处理那些具体的信息。这就到了需求分析的细化阶段。还以销售业务为例:“客户” 信息基本上要包括:单位名称,联系人,联系电话,地址等属性;“商品”信息基本上要包括:名称,类型,规格,单价等属性;“定单”信息基本上要包括:日期 和时间属性。并且“定单”要与“客户”,“业务员”和“商品”明细关联。
        系统需要建立几个数据表:业务员信息表,客户信息表,商品信息表,定单表。
        系统要包括几个功能:业务员信息维护,客户信息维护,商品信息维护,建立销售定单 。
        以上这些均属于建立逻辑模型,这些说明只表明系统要实现什么,但怎样实现,用什么工具实现还没有讲,后者属于物理模型范围。
    物理模型就 是针对上述逻辑模型所说的内容,在具体的物理介质上实现出来。如:数据库使用SQL Server 2000,这样就可以编写具体的SQL脚本在数据库服务器上将数据库建立起来。其中包括业务员信息表,客户信息表,商品信息表,定单表。客户端使用VS开 发工具,那么在工作站上用VS建立起功能菜单,包括:业务员信息维护,客户信息维护,商品信息维护,建立销售定单等功能,并用工具将每一个功能编码实现。
        这三个过程,就是实现一个软件系统的三个关键的步骤,是一个从抽象到具体的一个不断细化完善的分析,设计和开发的过程。

数据库建模:在设计数据库时,对现实世界进行分析、抽象、并从中找出内在联系,进而确定数据库的结构,这一过程就称为数据库建模。它主要包括两部分内容:确定最基本的数据结构;对约束建模。

1.概念模型的表示方法
 
  E-R图主要是由实体、属性和联系三个要素构成的。在E-R图中,使用了下面四种基本的图形符号。
 
  2.确定系统实体、属性及联系
  系统分析阶段建立数据字典和数据流程图->建立概念模型->逻辑模型->物理模型
  利用系统分析阶段建立的数据字典,并对照数据流程图对系统中的各个数据项进行分类、组织,确定系统中的实体、实体的属性、标识实体的码以及实体之间联系的类型。
 
  在数据字典中“数据项”是基本数据单位,一般可以作为实体的属性。“数据结构”、“数据存储”和“数据流”条目都可以作为实体,因为它们总是包含了若干的数据项。作为属性必须是不可再分的数据项,也就是说在属性中不能包含其他的属性。
 
  3.确定局部(分)E-R图
 
  根据上面的分析,可以画出部分实体-联系图。
 
  在这些实体中有下画线的属性可以作为实体的码,这几个实体之间存在着1:1、l:n和m:n几种联系。
 
  4.集成完整(总)E-R图
 
  各个局部(分)E-R图画好以后,应当将它们合并起来集成为完整(总)E-R图。在集成时应当注意如下几点:
 
  (1)消除不必要的冗余实体、属性和联系。
 
  (2)解决各分E-R图之间的冲突。
 
  (3)根据情况修改或重构E-R图。
 
  6.2.3逻辑结构设计
 
  逻辑结构设计的任务,就是把概念结构设计阶段建立的基本E-R图,按选定的管理系统软件支持的数据模型(层次、网状、关系),转换成相应的逻辑模型。这种转换要符合关系数据模型的原则。
 
  E-R图向关系模型的转换是要解决如何将实体和实体间的联系转换为关系,并确定这些关系的属性和码。这种转换一般按下面的原则进行:
 
  (1)一个实体转换为一个关系,实体的属性就是关系的属性,实体的码就是关系的码。
 
  (2)一个联系也转换为一个关系,联系的属性及联系所连接的实体的码都转换为关系的属性,但是关系的码会根据联系的类型变化,如果是:
 
  1:1联系,两端实体的码都成为关系的候选码。
 
  1:n联系,n端实体的码成为关系的码。
 
  m:n联系,两端实体码的组合成为关系的码。

总结:

概念数据模型设计与逻辑数据模型设计、物理数据模型设计是数据库及数据仓库模型设计的三个主要步骤。

在数据仓库领域有一个概念叫conceptual data model,中文一般翻译为“概念数据模型”。

概念数据模型是最终用户对数据存储的看法,反映了最终用户综合性的信息需求,它以数据类的方式描述企业级的数据需求,数据类代表了在业务环境中自然聚集成的几个主要类别数据。

概念数据模型的内容包括重要的实体及实体之间的关系。在概念数据模型中不包括实体的属性,也不用定义实体的主键。这是概念数据模型和逻辑数据模型的主要区别。

概念数据模型的目标是统一业务概念,作为业务人员和技术人员之间沟通的桥梁,确定不同实体之间的最高层次的关系。

在有些数据模型的设计过程中,概念数据模型是和逻辑数据模型合在一起进行设计的。

在数据仓库领域有一个概念叫logical data model,中文一般翻译为“逻辑数据模型”。

逻辑数据模型反映的是系统分析设计人员对数据存储的观点,是对概念数据模型进一步的分解和细化。逻辑数据模型是根据业务规则确定的,关于业务对象、业务对象的数据项及业务对象之间关系的基本蓝图。

逻辑数据模型的内容包括所有的实体和关系,确定每个实体的属性,定义每个实体的主键,指定实体的外键,需要进行范式化处理。

逻辑数据模型的目标是尽可能详细的描述数据,但并不考虑数据在物理上如何来实现。

逻辑数据建模不仅会影响数据库设计的方向,还间接影响最终数据库的性能和管理。如果在实现逻辑数据模型时投入得足够多,那么在物理数据模型设计时就可以有许多可供选择的方法。

在数据仓库领域有一个概念叫physical data model,中文一般翻译为“物理数据模型”。

物理数据模型是在逻辑数据模型的基础上,考虑各种具体的技术实现因素,进行数据库体系结构设计,真正实现数据在数据库中的存放。

物理数据模型的内容包括确定所有的表和列,定义外键用于确定表之间的关系,基于用户的需求可能进行发范式化等内容。在物理实现上的考虑,可能会导致物理数据模型和逻辑数据模型有较大的不同。

物理数据模型的目标是指定如何用数据库模式来实现逻辑数据模型,以及真正的保存数据。

转载于:https://www.cnblogs.com/yerikm/p/9208822.html

(理论)数据库建模三步骤:概念模型-逻辑模型-物理模型相关推荐

  1. mysql逻辑模型_(理论)数据库建模三步骤:概念模型-逻辑模型-物理模型

    数据库建模:在设计数据库时,对现实世界进行分析.抽象.并从中找出内在联系,进而确定数据库的结构,这一过程就称为数据库建模.它主要包括两部分内容:确定最基本的数据结构:对约束建模. 1.概念模型的表示方 ...

  2. 数据库建模三步骤:概念模型-逻辑模型-物理模型

    设计数据库有如下6个主要步骤: 1.需求分析:了解用户的数据需求.处理需求.安全性及完整性要求: 2.概念设计:通过数据抽象,设计系统概念模型,一般为E-R模型: 3.逻辑结构设计:设计系统的模式和外 ...

  3. e-r数据建模-概念模型 逻辑模型 物理模型-总结

    作为一名合格的Java程序员,公司要求要掌握的知识面越来越多.特别对于一些小型公司岗位并没有分的很细化,所以在平时开发中就要求各种技能同时兼顾.一般从产品对接业务确定以后,后面就要设计数据库建模了.但 ...

  4. 1.2 《数据库系统概论》之数据模型(概念模型、逻辑模型--物理模型、层次模型、网状模型、关系模型、面向对象模型、对象关系模型)

    文章目录 0.思维导图 1.数据模型的概念 2.两大类数据模型 客观对象的抽象过程---两步抽象 3.数据模型的组成要素 (1)数据结构 (2)数据操作 (3)数据的完整性约束条件 4.概念模型 (1 ...

  5. 数据库建模,概念模型、逻辑模型、物理模型的区别和转化

    关于数据库理论中概念模型.逻辑模型.物理模型之间的区别.随机复习上网并复习,并在此记录一下,数据库建模是对现实世界进行分析.抽象.并从中找出内在联系,进而确定数据库的结构. 1.概念模型:就是从现实世 ...

  6. 关于数据库建模,概念模型、逻辑模型、物理模型的区别和转化

    一.关于数据库理论中概念模型.逻辑模型.物理模型之间的区别. 二.数据库建模是对现实世界进行分析.抽象.并从中找出内在联系,进而确定数据库的结构. 1.概念模型:就是从现实世界到信息世界的第一层抽象, ...

  7. 数据库建模和设计的总结

    自己整理目录,然后从网上参考其他资料(因为懒,所以直接COPY过来使用)或者自己补充,感谢他们!! 目录 1.数据库建模的过程:概念模型->逻辑模型->物理模型 2.概念模型:ER模型 2 ...

  8. 数据库理论——概念模型、逻辑模型、物理模型

    概念模型.逻辑模型.物理模型 1.概念模型 在了解了用户的需求,用户的业务领域工作情况以后,经过分析和总结,提炼出来的用以描述用户业务需求的一些概念的东西. 如销售业务中的"客户" ...

  9. 【计算机基础】数据库中的数据模型——概念模型、逻辑模型、物理模型

    数据模型应满足三方面的要求,一是比较真实的模拟现实世界,二是容易被人理解的方式,三是便于在计算机中实现.一种模型要很好地满足这三方面的要求目前尚很困难,因此数据库中针对不同的对象和使用目的,采用不同的 ...

最新文章

  1. 如何利用CIC滤波器、CIC补偿滤波器和半带滤波器设计一个高频数字抽取滤波器
  2. C++ Primer 5th笔记(chap 16 模板和泛型编程)重载模板和类型转换
  3. python神奇时钟项目_怎么在Python项目中利用Pygame绘制一个时钟
  4. PHP用substr截取字符串出现中文乱码问题用mb_substr
  5. 配置文件解析利器-Config库
  6. MacOS Big Sur 11.2.1 (20D75) 纯净恢复版黑苹果镜像下载
  7. 数值方法求积分 详解+模板代码
  8. 20181225面试
  9. fm -rf 删除 恢复
  10. 安装服务器系统提示加载驱动程序,启动sqlserver服务时,总是出现“系统错误(126),指定驱动程序无法加载,...
  11. Java程序设计基础——setSize()和setBounds()的区别
  12. PocketPC常用程序和设置打开命令参数列表
  13. java项目遇到难题_Java项目遇到的常见问题
  14. 215868-33-0,Ocean Blue, SE,3-羧基-6,8-二氟-7-羟基香豆素琥珀酰亚胺酯蓝色荧光染料
  15. python实现SVG文件解析
  16. 全网最全的 Notion 类软件盘点
  17. 一文就懂HashMap原理!学不会你来砍我!
  18. pytorch点乘高维矩阵乘法
  19. 某CCTV摄像头漏洞分析
  20. Redis 水滴石穿之(四)持久化

热门文章

  1. JS实现的五级联动菜单效果完整实例
  2. 第7章:图像的平滑处理
  3. Exynos4412 文件系统制作(二)—— 文件系统简介
  4. 让事件飞——Linux eventfd 原理
  5. 求素数: 一般线性筛法 + 快速线性筛法
  6. 删除两个双向链表中值相同的结点--带空白头结点
  7. vue本地下载文件,解决ie浏览器本地下载文件无反应(已解决);vue-cli2本地下载文件,vue-cli3本地下载文件
  8. Android开发如何使用JNA
  9. [Redux/Mobx] Redux怎么添加新的中间件?
  10. 前端学习(3328):闭包的形式4