数据库设计
概念模型、逻辑模型、物理模型区别
侯在钱
目 录
1. 模型种类... 2
1.1. 概念模型... 2
1.2. 逻辑模型... 3
1.3. 物理模型... 3
1.4. 模型区别... 3
1.4.1. 对象转换... 4
1.4.2. 其它对比... 4
2. 常用工具... 5
2.1. ERWIN.. 5
2.1.1. 逻辑模型... 5
2.1.2. 物理模型... 5
2.1.3. 常用操作... 6
2.2. PowerDesigner. 8
2.2.1. 概念模型... 8
2.2.2. 逻辑模型... 9
2.2.3. 物理模型... 9
2.2.4. 常用操作... 10
1. 模型种类
一般在建立数据库模型时,会涉及到几种模型种类:概念模型、逻辑模型、物理模型。数据库设计中概念模型和逻辑模型区别比较模糊,所以在数据库设计工具ERWIN中只提供了逻辑模型和物理模型,而在PowerDesigner早期版本中也只提供了概念模型和物理模型两种模型,只是在PowerDesigner15版本中提供了三种模型:概念模型、逻辑模型、物理模型。
1.1. 概念模型
概念模型是对真实世界中问题域内的事物的描述,不是对软件设计的描述。
表示概念模型最常用的是"实体-关系"图。
E-R图主要是由实体、属性和关系三个要素构成的。在E-R图中,使用了下面几种基本的图形符号。
实体,矩形
E/R图三要素 属性,椭圆形
关系,菱形
关系:一对一关系,一对多关系,多对多关系。
is a |
子类 |
超类 |
1.2. 逻辑模型
逻辑数据模型反映的是系统分析设计人员对数据存储的观点,是对概念数据模型进一步的分解和细化。
1.3. 物理模型
物理模型是对真实数据库的描述。数据库中的一些对象如下:表,视图,字段,数据类型、长度、主键、外键、索引、是否可为空,默认值。
概念模型到物理模型的转换即是把概念模型中的对象转换成物理模型的对象。
1.4. 模型区别
1.4.1. 对象转换
对象 |
概念模型 |
逻辑模型 |
物理模型 |
实体 |
实体 |
实体 |
表 |
属性 |
属性 |
属性 |
字段 |
关系 |
关系(一对一,一对多,多对一) |
关系 |
外键 |
关系 |
关系(一对多,多对一) |
实体 |
表(关系表) 例如订单和产品的关系是一对多,这种关系确定为订单产品明细表。 |
关系 |
关系(多对多) |
实体 |
表(关系表) |
1.4.2. 其它对比
对比项 |
概念模型 |
逻辑模型 |
物理模型 |
属性 |
不需完整定义实体属性 |
定义实体完整的属性 |
确定字段名,长度,数据类型,是否可以为空,初始值等 |
主键 |
无需确定主键 |
无需确定主键 |
确定主键 |
2. 常用工具
2.1. ERWIN
ERWIN提供两种模型类型:Logical Model,Physical Model。另外还提供一种Logical/Physical Model,这不是另外一种模型类型,只是即可按Logical方式显示,又可按照Physical方式显示。
2.1.1. 逻辑模型
(1) Entity
(2) Complete Sub-category, Incomplete Sub-category
(3) Identifying relationship
(4) Many-to-many relationship
(5) Non-identifying relationship
2.1.2. 物理模型
(1) Independent table
(2) View table
(3) Identifying relationship
删除父表数据时,如果子表有关联数据,则父表数据删除不掉,并且删除时报错。
(4) Non-indentifying relationship
删除父表数据时,如果子表有关联数据,则把子表对应的外键字段值设置为空。
(5) View relationship
2.1.3. 常用操作
(1) 显示字段注释
只有当创建模型时,选择Logical/Physical模型时,才可以显示字段的注释。选择工具栏中的“Physical”显示物理模型,选择“Logical”
(2) 设置主键
双击实体,选中Column列表中的某个字段,在右侧Tab的General卡片中选中Primary Key复选框。
(3) Change database:
Menu->Database->Choose database
(4) Export SQL
Menu->Forward Engineer/Schema Generation
使用“Preview”可预览SQL,使用“Report”按钮可导出SQL到文件中。
2.2. PowerDesigner
对于数据库设计PowerDesigner 12版本中提供两种数据模型类型:Conceptual Data Model,Physical Data Model。在PowerDesigner 15版本中提供了三种数据模型类型Conceptual Data Model,Logical Data Model,Physical Data Model。
除了数据模型设计以外,PowerDesigner还提供一些诸如面向对象模型、业务流程模型、需求模型等。
2.2.1. 概念模型
(1) Entity
(2) Inheritance
(3) Relationship
包括:One - One, One - Many, Many - One, Many - Many
(4) Association
Association和Relationship类似,只是Association可以设置属性,Relationship不可设置属性。
(5) Association Link
连接Entity和Association的关系,关系有0 – 1, 0 – n, 1 – 1, 1 - n。
(6) Link/Extended Dependency
2.2.2. 逻辑模型
(1) Entity
(2) Relationship
(3) n-n Relationship
(4) Inheritance
(5) Link/Extended Dependency
2.2.3. 物理模型
(1) Table
(2) View
(3) Reference
外键关联。
(4) Procedure
(5) Link/Extended Dependency
2.2.4. 常用操作
(1) NAME或CODE显示
Menu->Tools->Model Options->Naming Convertion
(2) Change database:
Menu->Database->Change Current DBMS
(3) Export SQL
Menu->Database->Generate Database
如果只需要导出某个表,则只需双击此表,然后选择“Preview”选项卡。