-
2021-10-25 12:34:50
概念模型及表示
前言
这里是 数据库系统原理 系列文章,主要介绍数据库系统理论以及数据库实用技术。
数据库技术是计算机学科中的一个重要分支,它的应用非常广泛,几乎涉及所有的应用领域。关于作者:
- 小白(Libra),计算机兴趣爱好者,Java,python,C,Hadoop,MySQL
- Email : hewei20031009@163.com
- GitHub : https://github.com/Regel-zack
转载请注明出处
正文
什么是概念模型?
概念模型是对信息世界的管理对象、属性及联系等信息的描述形式。
- 注意:概念模型不依赖于计算机及数据库管理系统。
信息的三种世界
现实世界
信息的现实世界指的是要管理的客观存在的各种事物、事物之间的相互联系及事物的发生、变化过程
实体
现实世界中存在的可以相互区分的事物或概念称为 实体(Entity)。
其中,概念会与其他概念互相排异,独立,而实体不仅会和其他概念排异,还会和同概念的其他实体排异特征
每个实体都有属于自己的特征(Characteristic),利用实体的特征可以区别不同的实体
实体集
具有相同特征的实体的集合成为实体集(Entity Set)
信息世界
信息
现实世界中的事物反映到人们的脑海里,经过认识、选择、命名和分类等综合分析而形成了印象和概念,从而得到了信息(Information)。
信息模型
信息世界通过概念模型(也就是信息模型)、过程模型和状态模型反映现实世界,它要求对现实世界中的事物、事物间的联系和事物的变化情况准确、如实、全面地表示
计算机世界
信息世界中的信息,经过数字化处理形成了计算机能够处理得数据,就进入了计算机世界。
数据项
对象属性的数据表示叫做数据项(Item
记录
实例的数据表示叫做记录(Record)
文件
对象的数据表示,同类记录的集合叫做文件(File)
数据模型
现世界中的事物反映到计算机世界中就形成了文件的记录结构和记录,事物之间的相互联系就形成了不同文件间的记录的联系。记录结构及其记录联系的数据化的结果就是数据模型(Date Model)
概念模型
数据库的概念模型也称信息模型
对象和实例
对象是实体集遵循其实体型抽象的结果。现实世界中,具有相同性质的抽象事物称为对象(Object),对象实体集信息化(数据化)的结果。对象中每一个具体的实体的抽象为该对象的实例(Instance)
属性
实体的某一方面特征的抽象表示称为属性(Attribute)
码
能够唯一标识一个实体的称为码(Key),也称为关键字。
次码
实体集中不能唯一标识实体属性的叫次码(Secondary Key)。
主码值和实例是一一对应的,而次码值则会对应多个实例。域
属性的取值范围称为属性的域(Domain)
更多相关内容 -
概念模型、逻辑模型、物理模型区别
2019-03-21 01:48:06NULL 博文链接:https://holdbelief.iteye.com/blog/953560 -
数据库模型:概念模型、逻辑模型、物理模型
2019-04-18 01:32:36NULL 博文链接:https://franciswmf.iteye.com/blog/1846329 -
详解数据模型:概念模型、逻辑模型、物理模型
2021-12-30 15:52:45数据结构按照信息细节度和技术性划分概念模型(Conceptual Data Model)、逻辑模型(Logical Data Model)和物理模型(Physical Data Model),抽象程度依次降低,技术性质依次增强,适用对象从业务人员转向技术人员。...数据模型的目的在于可视化呈现、设计业务/系统的数据交互/存储的结构和方式,识别实体及其属性、关系,方便业务人员和技术人员沟通和承接。数据结构按照信息细节度和技术性划分概念模型(Conceptual Data Model)、逻辑模型(Logical Data Model)和物理模型(Physical Data Model),抽象程度依次降低,技术性质依次增强,适用对象从业务人员转向技术人员。
理论上讲,概念模型和逻辑模型一般给领导、业务看;从实际经验来,技术人员一般拿建模工具直接做物理模型,这些工具也可以展现数据的关系模型,完稿时生成和导出DDL(Data Definition Language,数据定义语言,主要是CREATE)并建立库表。同时,一般的数据库客户端都具备数据库的逆向实体关系图生成能力,也就是从既有的数据库中反向生成物理模型。
三种数据模型比较
三种数据模型 模型 概念模型 逻辑模型 物理模型 面向人员 业务 业务 技术 目的 识别业务实体及关系 丰富补充以建立物理模型 建立数据库的库表 实体名称 √ √ × 实体关系 √ √ × 实体属性 可选但不完整 有但不完整 × 描述语言 业务意义 业务意义 技术意义 数据库相关 × × √ 表及其列 × × √ 列及其数据类型和约束 × × √ 主键和外键 × × √ 索引和存储过程等 × × 可选 数据元素 业务元素 更多业务元素 业务元素+技术元素 概念模型和逻辑模型都是业务用语,而物理模型是用技术实现的方式来表达业务意义,具有比如varchar(256)、更新时间(update_time)等数据类型及长度的约束、技术配套字段。其中概念模型和逻辑模型之间的界限比较模糊,主要体现在数据丰富度上,实际操作时不用太纠结。
实体关系区分一对一、一对多和多对多,以及之间的业务动作,在面向对象(Object Oriented)和实体关系(Entity Relationship,E-R)这两种建模技术中可以体现业务动作和数量关系,其他建模技术不好体现。
五种数据建模方式
数据建模(Data Modeling)技术与用于系统软件架构设计的UML(Unified Modeling Language,统一建模语言)可以相提并论。其包含五种数据建模方式或者叫数据模型种类,分别为层级(Hierarchical)、网状(Network)、面向对象(Object Oriented)、实体关系(Entity Relationship)、关系(Rational)。其中的面向对象数据模型和UML的用例图有点像。而实体关系图和关系图是最常用的方式,前者可用于系统软件的概要设计阶段,后这可用于详细设计阶段。
备注:E-R图(Entiry Relationship Digram,ERD,实体关系图)日常使用、称呼上包括了关系模型(Rational)和实体关系模型(Entity Relationship)两种方式,也可能泛指了以上5种方式,甚至更偏向于关系模型。这里不纠结。我的理解是,这五种建模方式都可以用来做概念模型,不一定能或者适合做逻辑模型,只有关系模型能用来做物理模型(全文针对关系数据库RDBMS来说)。
1、层级
这里借图,表达的是一个概念模型,局限比较多,如只能一对一或者一对多,有点像二叉树。
2、网状
这里借图,表达的是一个概念模型,虽然解决了不能多对多的问题,但是数据量大的时候这个图就非常庞大,不易读。
3、面向对象
这里借图,表达的是一个概念模型,但可以体现业务动作和数量关系,不过是站在一个业务对象的视角来画图,对象多了估计整个图就不好画、不好看了。
4、实体关系
这里借图,表达的是一个逻辑模型,很好的体现了实体及其业务动作、数量关系。其中矩形表示实体,圆圈表示实体属性,菱形表示实体之间的关系,关系连线上的数字就是数量关系。一对一用1表示,一对多用1:M表示,多对多用N:M表示。反过头来看看,如果实体和属性太多,整个图就会五颜六色、枝繁叶茂、群魔乱舞,不过用实体关系图非常适合做概念模型和逻辑模型。
5、关系
这里借图,表达的是一个物理模型,业务对象名已经更换为表名(英文),属性更改为了列(英文),且列有字符类型、长度,有主键、外键,根据建模工具功能还可以添加索引等元素。这里的实体数量关系使用了特别的符号,具体见下图的解释。关系模型有个缺点,就是不能表达业务动作,不过在做技术落地实现的时候,业务逻辑可以体现,不用在数据层面体现。再说数据库客户端可以正向逆向生成库表和关系模型图,这个让DBA、开发很喜欢,也是最常用的数据建模方式。
三种数据模型示例
通过上面的五种数据建模方式的配图,可以看到三种数据模型的样子。
数据建模工具举例
数据建模工具非常多,只要是能画上面的图的任何工具都可以,比如Powerpoint也可以拿来画实体关系图,不过类似用记事本写代码,没有那边边界。数据建模有非常多的专业工具,一般的流程图软件支持实体关系图、UML图等,但用来形成物理模型的关系模型需要更加专业的工具,它们可以导出生成SQL语句(DDL)。下面就列举些关系模型的建模工具。
- PowerDesigner(收费)
- erwin(收费)
- PDMan(开源)
参考文档
What Is Data Modeling – Conceptual, Logical, Physical Models
Data Modeling: Conceptual vs Logical vs Physical Data Model
Data Modelling: Conceptual, Logical, Physical Data Model Types
-
数据模型、概念模型、逻辑模型、物理模型
2022-04-12 22:23:05数据模型 数据模型是由数据结构、数据操作和数据完整性约束条件组成的。(所有的数据模型从这三类要素进行研究) 1)数据结构: 数据结构描述数据库的组成对象以及...1、概念模型(Conceptual Data Model):是一数据模型
数据模型是由数据结构、数据操作和数据完整性约束条件组成的。(所有的数据模型从这三类要素进行研究)
1)数据结构:数据结构描述数据库的组成对象以及对象之间的联系。
2)数据库操作:
数据操作是指对数据库中各种对象的实例允许执行的操作集合,包括操作及有关操作规则。
3)数据库完整性约束条件:
数据的完整性约束条件是一组完整的规则。数据模型按不同的应用层次分成三种类型:分别是概念数据模型、逻辑数据模型、物理数据模型。
1、概念模型(Conceptual Data Model):是一种面向用户、面向客观世界的模型,主要用来描述世界的概念化结构,它是数据库的设计人员在设计的初始阶段。
2、逻辑模型(Logical Data Model):是一种面向数据库系统的模型,是具体的DBMS所支持的数据模型。
3、物理模型(Physical Data Model):是一种面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。
概念模型(是什么?)
基本概念:
(1)实体(entity):客观存在并可相互区别的实物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系,例如:一个职工、一个学生等是实体。
(2)属性(attribute):实体所具有的某一个特性称为属性。一个实体可以由若干个属性来刻画。一个学生实体可以由学生号、姓名、出生年月等,属性组合(2019001,张三,男,19940505)即表征了一个学生。
(3)码(key):唯一标识实体的属性集称为码。例如学号是学生实体的码。
(4)实体型(entity type):具有相同属性的实体必然具有相同的特征和性质。用实体名及其属性名来抽象和刻画同类实体,称为实体型,如学生(学生号、姓名、出生年月)就是一个实体型
(5)实体集(entity set):同一类型实体的集合称为实体集。例如全体学生就是一个实体集。
(6)联系(relationship):实体之间的联系是指不同实体集之间的联系。单个实体内部的联系也有一对一、一对多、多对多的关系
一对一:实体集A中每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则实体集A与实体集B具有一对一关系。独生子女家庭是一个实体,一个爸爸有一个孩子,一个孩子也有一个爸爸
一对多:实体集A中每一个实体,实体集B中有n个实体(n>=0)与之联系,反之,实体B中的每一个实体,实体集A中至多只有一个实体与之联系,则实体A与B有一对多联系。员工是一个实体,员工中存在着领导与被领导的关系。一个具有领导地位的员工可以领到多个员工,而普通员工只能被一个员工领导
多对多:实体集A中每一个实体,实体集B中有n个实体(n>=0)与之联系,反之,实体B中的每一个实体,实体集A中也有M个实体,则实体A与实体B具有多对多联系。例如:
1、零件是一个实体,零件中有大零件和小零件。一个大零件可以有很多小零件来构成,一个小零件也可以构成许多种类型的大零件。
2、一门课程有若干个学生选修,而一个学生同时选修多门课程,则课程实体与学生实体具有多对多联系。
三个实体内部的联系 (实体型之间的多对多联系和三个实体型两两之间的多对多联系)
实体型之间的多对多联系:供应商、项目、零件之间的关系。一个供应商可以供给多个项目多种零件,每个项目可以使用多个供应商供应的零件,每种零件可以有多个不同的供应商供给。但是项目和零件之间没有联系。就是有一种联系、三种相关
三个实体型两两之间的多对多联系:银行、贷款、存款之间的关系。一个银行可以为许多人提供贷款服务和存款服务,一个人也可以到多个银行贷款和存款。但是存款和贷款可以以私人借贷的联系存在。就是有三种联系。
概念模型是对信息世界的建模,实体——联系方法(Entity—Relationship approach):
E-R模型用矩形框表示现实世界中的实体,用菱形框表示实体间的联系,用椭圆框表示实体和联系的属性,对于作为实体标识符的属性,在属性名下画一条横线
实体与相应的属性之间,联系与相应的属性之间用线段连接
联系与其涉及的实体之间也用线段连接,同时在线段旁标注联系的类型(1:1 , 1:n , m:n)
逻辑模型(做什么?)
逻辑模型就是要将概念模型具体化,就是要实现概念模型所描述的东西,需要哪些具体的功能,处理哪些具体的信息,是对概念模型的进一步细化。
以销售业务为例:“客户”信息基本上要包括:
单位名称,联系人,联系电话,地址等属性;“商品”信息基本上要包括:名称,类型,规格,单价等属性;
“定单”信息基本上要包括:日期和时间属性。并且“定单”要与“客户”,“业务员”和“商品”明细关联。
系统需要建立几个数据表:业务员信息表,客户信息表,商品信息表,定单表。
系统要包括几个功能:业务员信息维护,客户信息维护,商品信息维护,建立销售定单 。
常用的逻辑模型有层次模型,网状模型和关系模型三种。
(1)层次模型(倒转的树)(被淘汰,现少用)
1)有一个节点没有父节点,这个节点即根节点。
2)其他节点有且仅有一个父节点。
缺点:不能直接表示多对多的实体联系,必须分解为几个一对多的联系才能表示出来
(2)网状模型(被淘汰,现少用)
1)可以有一个以上的节点无父节点。
2)至少有一个节点有多于一个的父节点。
(3)关系模型(现在用)
关系模型是用二维表格来表示实体及其相互之间的关系,每个二维表称为一个关系。每个关系均有一个名字,称为关系名。
重点研究了关系模型的
数据结构:实体与实体之间的联系都用关系来表示,而关系就是一张规范化的二维表,关系模型中的数据项不能再分,不能出现表套表的情况
数据操作:查找()、插入(insert)、删除()、修改()
完整性约束条件:(三类完整性)
实体完整性、参照完整性、用户定义的完整性
物理模型(怎么做?)
物理模型是对真实数据库的描述。
如关系数据库中的一些对象为表、视图、字段、数据类型、长度、主键、外键、索引、约束、是否可为空、默认值。
在具体的物理介质上实现出来。如:数据库使用SQL Server 2000,这样就可以编写具体的SQL脚本在数据库服务器上将数据库建立起来。其中包括业务员信息表,客户信息表,商品信息表,定单表。
数据独立性研究的就是:应用程序与数据(数据逻辑独立性和数据物理独立性)的独立关系
数据库系统(DBS)> 数据库(DB)> 数据库管理系统
-
概念模型概念模型概念模型概念模型
2009-07-08 15:26:29概念模型概念模型概念模型概念模型概念模型概念模型概念模型概念模型概念模型概念模型概念模型概念模型概念模型概念模型概念模型概念模型概念模型概念模型 -
(2018)空间数据库技术应用 概念模型向逻辑模型转换 概念模型向逻辑模型转换.pptx
2020-12-07 14:54:51空间数据库技术应用概念模型向逻辑模型转换主讲人马娟昆明冶金高等专科学校01概念模型向逻辑模型转换02实例目录CONTENTS01概念模型向逻辑模型转换 概念模型向逻辑模型转换实质上是将概念模型阶段设计的E-R图转换成... -
概念模型向逻辑模型的转换
2021-03-27 13:43:17 -
数据库建模三步骤:概念模型
2021-02-04 22:58:341.概念模型的表示方法E-R图主要是由实体、属性和联系三个要素构成的。在E-R图中,使用了下面四种基本的图形符号。2.确定系统实体、属性及联系系统分析阶段建立数据字典和数据流程图->建立概念模型->逻辑模型-&... -
概念模型
2017-03-14 17:24:51将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计 概念模型的特点 (1)能真实、充分地反映现实世界,是现实世界的一个真 实模型。 (2)易于理解,从而可以用它和不熟悉计算机的... -
概念模型,逻辑模型,物理模型
2019-10-24 09:49:49概念模型就是在了解了用户的需求,用户的业务领域工作情况以后,经过分析和总结,提炼出来的用以描写叙述用户业务需求的一些概念的东西。如销售业务中的“客户”和“定单”,还有就是“商品”,“业务员”。 用USE ... -
业务流程中概念模型到逻辑模型的转换
2011-11-24 20:28:31有关业务流程中概念模型到逻辑模型的转换的文档,感兴趣的同学可以看一下 -
概念模型与数据模型
2020-01-14 20:51:18可以是具体的人、事、物或抽象的概念。 (2) 属性(Attribute) 实体所具有的某一特性称为属性。 一个实体可以由若干个属性来刻画。 (3) 码(Key) 唯一标识实体的属性集称为码。 (4) 域(Domain) 属性的取值范围... -
概念模型转化为逻辑模型规律
2020-07-02 10:46:30PowerDesignerER建模-概念模型转化为逻辑模型的规律 二元联系 1对多 强-强实体: 联系无属性:一方的主关键字进入多方,作为其外部关键字 联系有属性:属性放入多方,其他同上 强-弱实体: 弱实体(依赖方)为多方,... -
1.2 《数据库系统概论》之数据模型(概念模型、逻辑模型--物理模型、层次模型、网状模型、关系模型、面向...
2020-03-25 15:49:16概念模型(1)用途与基本要求(2) 信息世界中的基本概念(3)两个实体型之间的联系① 一对一联系(1:1)② 一对多联系(1:n)③ 多对多联系(m:n)(4)两个以上实体型之间的联系① 一对多联系(1:m||1:n)② 一对一联系... -
Powerdesigner概念模型并将概念模型转换成物理模型
2018-05-25 16:47:58(这里假设你已经下载安装powerdesigner)步骤1、首先打开powerdesigner,鼠标点击File,然后New Model,选择Information,最后选择概念模型步骤2、在打开的页面的左方ToolBox栏,可以看到Conceptual Diagram的下方有... -
sql概念模型和逻辑模型
2019-02-12 16:29:19概念模型的表示方法很多,目前比较常用的是实体联系模型,简称E-R模型。E-R模型主要用E-R图来表示。 实体间的联系有:一对一联系,一对多联系,多对多联系。 E-R模型用矩形框表示现实世界中的实体,用菱形框表示... -
数据库建模三步骤:概念模型->逻辑模型->物理模型
2020-07-22 10:22:12概念模型就是在了解了用户的需求,用户的业务领域工作情况以后,经过分析和总结,提炼出来的用以描述用户业务需求的一些概念的东西。如销售业务中的“客户”和“定单”,还有就是“商品”,“业务员”。 用USE... -
将powerDesigner的概念模型转换成物理模型,生成sql文件导入数据库.
2011-03-25 17:36:40将powerDesigner的概念模型转换成物理模型,生成sql文件导入数据库. -
数据库建模-概念模型建模(E-R图)
2019-11-16 22:06:02数据库建模-概念模型建立 目录数据库建模-概念模型建立面向对象模型与数据库关系模型两种模型的关系中间件概念数据模型(CDM)实体及属性实体属性联系一对一双向关系一对一单向关系一对多(等效多对一)多对多域... -
名词解释之概念模型、逻辑模型、物理模型
2019-05-10 09:06:21概念模型:对真实世界中问题域内的事物的描述,不是软件设计的描述。 表示概念模型最常用的是“实体-关系”图,E-R图主要由实体(矩形)、属性(椭圆)和关系(菱形)三个要素构成。 关系:一对一,一对多,多对多。... -
数据库中的概念模型,逻辑模型,物理模型
2019-01-23 09:14:48概念模型 概念模型就是在了解了用户的需求,用户的业务领域工作情况以后,经过分析和总结,提炼出来的用以描述用户业务需求的一些概念的东西。如销售业务中的“客户”和“定单”,还有就是“商品”,“业务员”... -
【软件工程】概念模型、逻辑模型、物理模型
2021-03-11 19:28:19剖析概念模型、逻辑模型、物理模型的概念 -
概念模型与关系模型和关系规范化
2017-05-20 16:18:34》概念模型 概念模型用于信息世界的建模,是实现现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面具有较强的语义... -
第三章 概念模型设计(一)
2020-04-16 23:01:55数据库设计是指对一个给定的应用环境,构造(设计)最优的数据模型,然后据此建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。数据库设计的优劣将直接影响信息系统的质量和运行效果。设计... -
对概念模型的简单介绍
2020-07-06 16:43:32对概念模型的简单介绍 1.1信息世界中的基本概念 (1)实体:客观存在并可相互区别的事物,例如:一个职工、一个学生、一个部门等。 (2)属性:实体所具有的的某一特性,一个实体可以由若干个属性来刻画。例如:学生... -
数据库设计——概念模型
2019-10-21 15:56:28概念模型是用于信息世界的建模,是现实世界的第一层抽象。 1.基本概念 (1)实体(entity) 客观存在并可相互区别的实物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系,例如:一个职工、一个学生... -
数据库建模三步骤:概念模型->逻辑模型->物理模型
2019-05-29 09:46:482、概念设计:通过数据抽象,设计系统概念模型,一般为E-R模型; 3、逻辑结构设计:设计系统的模式和外模式,对于关系模型主要是基本表和视图; 4、物理结构设计:设计数据的存储结构和存取方法,如索引的设计; 5、... -
数据库建模——概念模型、逻辑模型、物理模型
2019-01-23 16:47:311.概念模型 在了解了用户的需求,用户的业务领域工作情况以后,经过分析和总结,提炼出来的用以描述用户业务需求的一些概念的东西。 如销售业务中的“客户”和“定单”,还有就是“商品”,“业务员”。主要是... -
概念模型图概念模型图概念模型图概念模型图概念模型图
2009-03-16 09:13:27概念模型图概念模型图概念模型图概念模型图概念模型图概念模型图概念模型图概念模型图概念模型图