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

1. 概念模型

概念模型就是在了解了用户的需求 , 用户的业务领域工作情况以后 , 经过分析和总结 , 提炼出来的用以描述用户业务需求的一些概念的东西 ; 如销售业务中的 客户 和 定单 , 还有就是 商品 , 业务员 , 用 USE CASE 来描述就是 : 业务员 与 客户 就购买 商品 之事签定下 定单 , 概念模型使用 E-R 图表示 , E-R 图主要是由实体 , 属性和联系三个要素构成的 , 该阶段需完成 :

  • 1. 该系统的商业目的是什么 , 要解决何种业务场景
  • 2. 该业务场景中 , 有哪些人或组织参与 , 角色分别是什么
  • 3. 该业务场景中 , 有哪些物件参与 ,
  • 4. 此外需要具备相关行业经验 , 如核心业务流程 , 组织架构 , 行业术语
  • 5. 5w1h , who , what , when , where , why, how

2. 逻辑模型

逻辑模型是将概念模型转化为具体的数据模型的过程 , 即按照概念结构设计阶段建立的基本 E-R 图 , 按选定的管理系统软件支持的数据模型 (层次/网状/关系/面向对象) , 转换成相应的逻辑模型 , 这种转换要符合关系数据模型的原则 ;
还以销售业务为例 : 客户 信息基本上要包括 : 单位名称 , 联系人 , 联系电话 , 地址等属性
商品 信息基本上要包括 : 名称 , 类型 , 规格 , 单价等属性
定单 信息基本上要包括 : 日期和时间属性 ; 并且 定单 要与 客户 , 业务员 和商品 明细关联 , 该阶段需完成 :

  • 1. 分多少个主题 , 每个主题包含的实体
  • 2. 每个实体的属性都有什么
  • 3. 各个实体之间的关系是什么
  • 4. 各个实体间是否有关系约束

3. 物理模型

物理模型就是针对上述逻辑模型所说的内容 , 在具体的物理介质上实现出来 , 系统需要建立几个数据表 : 业务员信息表 , 客户信息表 , 商品信息表 , 定单表 ; 系统要包括几个功能 : 业务员信息维护 , 客户信息维护 , 商品信息维护 , 建立销售定单 ; 表 , 视图 , 字段 , 数据类型 , 长度 , 主键 , 外键 , 索引 , 约束 , 是否可为空 , 默认值 , 该阶段需完成 :

  • 1. 类型与长度的定义
  • 2. 字段的其他详细定义 , 非空 , 默认值
  • 3. 却准详细的定义 , 枚举类型字段 , 各枚举值具体含义
  • 4. 约束的定义 , 主键 , 外键

这三个过程 , 就是实现一个数据库设计的三个关键的步骤 , 是一个从抽象到具体的一个不断细化完善的分析 , 设计和开发的过程 ;
模型区别
                   对象转换

对象 概念模型 逻辑模型 物理模型
实体 实体 实体
属性 属性 属性 字段
关系 关系(一对一,一对多,多对一) 关系 外键
关系 关系(一对多,多对一) 实体 表(关系表)
例如订单和产品的关系是一对多,这种关系确定为订单产品明细表。
关系 关系(多对多) 实体 表(关系表)


                    其它对比

对比项 概念模型 逻辑模型 物理模型
属性 不需完整定义实体属性 定义实体完整的属性 确定字段名,长度,数据类型,是否可以为空,初始值等
主键 无需确定主键 无需确定主键 确定主键

=====================================================================
一直对于概念、逻辑、物理这三个词一知半解。在自考和软考中都遇到了,总是搞混。下面。我们就一起来区分一下吧!

概念模型

先来看一下概念的解释:人类在认识过程中,从感性认识上升到理性认识,把所感知的事物的共同本质特点抽象出来,加以概括,就成为概念。

那么,概念模型是什么呢? 概念模型是你对真实世界中事物的认识。他用来描述系统“是什么”。通俗来讲,概念模型就是在了解用户的需求后,经过自己的总结,提炼出来的用来描述现实生活的东西。

在《软件开发工具》中我们学习了几种概念模型的工具:框图、实体关系图、数据字典、计算机模拟模型等八种。

比如我们的实体关系图,是我们从现实世界的认识,表现系统的一个整体概括。

逻辑模型

首先,我们先来了解逻辑这个词。逻辑就是思维的规律,通俗来讲,就是事情的执行的先后顺序。

其次,逻辑模型是什么呢?逻辑模型就是要将概念模型具体化,就是要实现概念模型所描述的东西,需要哪些具体的功能,处理哪些具体的信息。逻辑模型描述系统“做什么”。这就到了需求分析的细化阶段。

仍以机房收费系统为例:“学生”信息基本上要包括:学号、姓名、性别、系别、专业等属性;“卡”信息基本上要包括:卡号、学号、余额、类型等属性。并且学生与卡之间的关系我们要确定。此外,我们要建立几张数据表:学生表、卡表等。 我们也要实现功能:如注册、充值、退卡、结账等。

逻辑模型只是说明系统要事先什么,但是用什么工具实现,如何实现并不涉及。后面属于物理模型的范畴。

物理模型

物理模型我们大多不陌生。物理模型就是针对上述逻辑模型所说的内容,在具体的物理介质上实现出来。物理模型描述系统“如何做”

例如:数据库使用SQL Server 2008,就可以在数据库服务器上将数据库建立起来。我们的机房收费系统开发可以使用VS,也可以使用VB,然后进行编码实现。

————————————————