概念模型设计 , 逻辑模型设计 , 物理模型设计 是数据库及数据仓库模型设计的三个主要步骤
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,然后进行编码实现。
————————————————
