逻辑数据模型
建立的基础:概念数据模型定义的业务需求。
功能:形成业务解决方案。
大体来说逻辑数据模型是为了解决特定的业务需求而形成的业务解决方案。忽略与软件、硬件环境等具体问题有关的模型实现的复杂性。
运用到的技术:规范化和抽象。
- 其中规范化是确保每个属性是单值的并且提供一个完全的、唯一的依赖于主键的事实。
完整的规范化如下
- 第一范式(INF):去掉重复属性和划分多值属性。问题模板为“一个[实体名]可以拥有不止一个[属性名]吗?”和"[属性名]包含不止一则业务信息吗?"(保证单值)
- 第二范式(2NF):确定最小主键。问题模板为“是否主键中所有属性都是检索单一[属性名]的实例所必须的?”(保证完全性)
- 第三范式(3NF):移除隐藏的依赖。问题模板为“[属性名]值的检索依赖于该实体内的其他属性吗?
- 其中抽象是可选的技术。抽象通过重定义和将一些实体、属性顿、关系在模型范围内结合成更通用的条目,使数据模型更灵活。但是会损失业务规则,增大开发难(只有预见到在不远的将来有一些新类型事物需要添加进模型时,抽象才有意义)。