数据库模型区别
来源:互联网 发布:汉以强亡 知乎 编辑:程序博客网 时间:2024/06/08 12:55
1. 模型种类
一般在建立数据库模型时,会涉及到几种模型种类:概念模型、逻辑模型、物理模型。数据库设计中概念模型和逻辑模型区别比较模糊,所以在数据库设计工具ERWIN中只提供了逻辑模型和物理模型,而在PowerDesigner早期版本中也只提供了概念模型和物理模型两种模型,只是在PowerDesigner15版本中提供了三种模型:概念模型、逻辑模型、物理模型。
1.1. 概念模型
概念模型是对真实世界中问题域内的事物的描述,不是对软件设计的描述。
表示概念模型最常用的是"实体-关系"图。
E-R图主要是由实体、属性和关系三个要素构成的。在E-R图中,使用了下面几种基本的图形符号。
实体,矩形
E/R图三要素 属性,椭圆形
关系,菱形
关系:一对一关系,一对多关系,多对多关系。
E/R图中的子类(实体):
1.2. 逻辑模型
逻辑数据模型反映的是系统分析设计人员对数据存储的观点,是对概念数据模型进一步的分解和细化。
1.3. 物理模型
物理模型是对真实数据库的描述。数据库中的一些对象如下:表,视图,字段,数据类型、长度、主键、外键、索引、是否可为空,默认值。
概念模型到物理模型的转换即是把概念模型中的对象转换成物理模型的对象。
1.4. 模型区别
1.4.1. 对象转换
对象
概念模型
逻辑模型
物理模型
实体
实体
实体
表
属性
属性
属性
字段
关系
关系(一对一,一对多,多对一)
关系
外键
关系
关系(一对多,多对一)
实体
表(关系表)
例如订单和产品的关系是一对多,这种关系确定为订单产品明细表。
关系
关系(多对多)
实体
表(关系表)
1.4.2. 其它对比
对比项
概念模型
逻辑模型
物理模型
属性
不需完整定义实体属性
定义实体完整的属性
确定字段名,长度,数据类型,是否可以为空,初始值等
主键
无需确定主键
无需确定主键
确定主键
2. 常用工具
2.1. ERWIN
ERWIN提供两种模型类型:LogicalModel,Physical Model。另外还提供一种Logical/Physical Model,这不是另外一种模型类型,只是即可按Logical方式显示,又可按照Physical方式显示。
2.1.1. 逻辑模型
(1) Entity
(2) Complete Sub-category, IncompleteSub-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卡片中选中PrimaryKey复选框。
(3) Change database:
Menu->Database->Choose database
(4) Export SQL
Menu->Forward Engineer/Schema Generation
使用“Preview”可预览SQL,使用“Report”按钮可导出SQL到文件中。
2.2. PowerDesigner
对于数据库设计PowerDesigner 12版本中提供两种数据模型类型:ConceptualData Model,Physical Data Model。在PowerDesigner 15版本中提供了三种数据模型类型ConceptualData 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”选项卡。
- 数据库模型区别
- 关于数据库建模,概念模型、逻辑模型、物理模型的区别和转化
- 数据库建模,概念模型、逻辑模型、物理模型的区别和转化
- 关于数据库建模,概念模型、逻辑模型、物理模型的区别和转化
- 数据库模型
- socket模型区别
- 数据库管理成熟度模型
- 数据库动态模型
- 数据库物理模型设计
- PowerDesigner建立数据库模型
- 三个数据库模型设计
- 数据库逻辑模型
- Oracle数据库性能模型
- 模型图纸数据库设计
- 图数据库模型简介
- SQLite数据库模型介绍
- 根据模型生成数据库
- Oracle数据库性能模型
- 关于RxJava
- 《大话数据结构》
- TextView各种跑马灯
- Log4J日志配置详解
- zabbix使用手册
- 数据库模型区别
- 不规则数独的计算机求解
- [有奖活动]51Testing2016软件测试现状调查活动!
- 广度优先搜索-八数码问题
- linux下启动tomcat服务的命令是什么
- python_元组
- Nis+Nfs+Autofs
- JAX-WS使用中的异常
- AS利用SVN进行版本回退