概念模型设计 , 逻辑模型设计 , 物理模型设计 是数据库及数据仓库模型设计的三个主要步骤
概念模型就是在了解了用户的需求 , 用户的业务领域工作情况以后 , 经过分析和总结 , 提炼出来的用以描述用户业务需求的一些概念的东西 ; 如销售业务中的 客户
和 定单
, 还有就是 商品
, 业务员
, 用 USE CASE 来描述就是 : 业务员
与 客户
就购买 商品
之事签定下 定单
, 概念模型使用 E-R 图表示 , E-R 图主要是由实体 , 属性和联系三个要素构成的 , 该阶段需完成 :
1. 该系统的商业目的是什么 , 要解决何种业务场景
2. 该业务场景中 , 有哪些人或组织参与 , 角色分别是什么
3. 该业务场景中 , 有哪些物件参与 ,
4. 此外需要具备相关行业经验 , 如核心业务流程 , 组织架构 , 行业术语
5. 5w1h , who , what , when , where , why, how
逻辑模型是将概念模型转化为具体的数据模型的过程 , 即按照概念结构设计阶段建立的基本 E-R 图 , 按选定的管理系统软件支持的数据模型 (层次/网状/关系/面向对象) , 转换成相应的逻辑模型 , 这种转换要符合关系数据模型的原则 ;
还以销售业务为例 : 客户
信息基本上要包括 : 单位名称 , 联系人 , 联系电话 , 地址等属性
商品
信息基本上要包括 : 名称 , 类型 , 规格 , 单价等属性
定单
信息基本上要包括 : 日期和时间属性 ; 并且 定单
要与 客户
, 业务员
和商品
明细关联 , 该阶段需完成 :
1. 分多少个主题 , 每个主题包含的实体
2. 每个实体的属性都有什么
3. 各个实体之间的关系是什么
4. 各个实体间是否有关系约束
物理模型就是针对上述逻辑模型所说的内容 , 在具体的物理介质上实现出来 , 系统需要建立几个数据表 : 业务员信息表 , 客户信息表 , 商品信息表 , 定单表 ; 系统要包括几个功能 : 业务员信息维护 , 客户信息维护 , 商品信息维护 , 建立销售定单 ; 表 , 视图 , 字段 , 数据类型 , 长度 , 主键 , 外键 , 索引 , 约束 , 是否可为空 , 默认值 , 该阶段需完成 :
1. 类型与长度的定义
2. 字段的其他详细定义 , 非空 , 默认值
3. 却准详细的定义 , 枚举类型字段 , 各枚举值具体含义
4. 约束的定义 , 主键 , 外键
这三个过程 , 就是实现一个数据库设计的三个关键的步骤 , 是一个从抽象到具体的一个不断细化完善的分析 , 设计和开发的过程 ;
作者 Github : tojohnonly , 博客 : EnskDeCode