-
2021-03-11 19:28:19
随着系统开发的推进与成熟,系统模式可能代表了不同的细节层次。
系统的模式包含概念模型、逻辑模型、物理模型。
这部分不难令我想到数据库系统的模式分层与数据独立性涉及到的子模式、逻辑模式、物理模式。概念模型记录了系统中存在或将存在的领域实体以及它们与系统中其他领域实体的关系。
概念建模是利用业务领域的术语完成的,应该是技术无关的。逻辑模型利用了概念模型中提出的概念,建立起关键抽象和机制的意义,并确定系统的架构和整体设计。
物理模型描述了系统实现的具体软件和硬件的构成。
物理模型显然是技术相关的。对于一个项目来说,随着时间的推移,系统的设计将会从概念成熟发展到逻辑成熟,最后物理成熟。
对于某个具体的项目而言,分析和设计的产物是通过这些模型表示的。总得来说,这些不同的模型的语义是丰富的:它们的表达能力足够强,让开发者能够记录系统分析和架构阐述时所有感兴趣的战略和战术决策;它们也足够完整,可以作为大多数面向对象语言实现的蓝图。另外,概念、逻辑、物理三个层面再一次印证了计算机科学或软件工程的许多理论是相通的、相似的。
更多相关内容 -
地理信息系统应用 地理空间及表达 3.3空间数据逻辑模型.pptx
2020-10-30 08:06:52空间数据逻辑模型;逻辑数据模型的设计;1实体属性的逻辑建模之非空间属性逻辑建模;逻辑数据模型的设计;逻辑数据模型的设计;逻辑数据模型的设计;逻辑数据模型的设计;逻辑数据模型的设计;逻辑数据模型的设计;逻辑数据... -
详解数据模型:概念模型、逻辑模型、物理模型
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
-
政务逻辑数据模型(GLDM)
2020-12-03 11:21:58跨层级、跨地域、跨系统、跨部门、跨业务的政务逻辑数据模型(GLDM)是衔接块数据理论体系和目前各省市区大规模开展的数据采集、共享、整合、集中、开放等实践的工程指南,也是省市区数据资源库(数据湖)建设的方法... -
数据库建模三步骤:概念模型->逻辑模型->物理模型
2020-07-22 10:22:12概念模型就是在了解了用户的需求,用户的业务领域工作情况以后,经过分析...逻辑模型就是要将概念模型具体化。要实现概念模型所描述的东西,需要那些具体的功能和处理那些具体的信息。这就到了..
系统要包括几个功能:业务员信息维护,客户信息维护,商品信息维护,建立销售定单 。
以上这些均属于建立逻辑模型,这些说明只表明系统要实现什么,但怎样实现,用什么工具实现还没有讲,后者属于物理模型范围。
物理模型就 是针对上述逻辑模型所说的内容,在具体的物理介质上实现出来。如:数据库使用SQLServer2000,这样就可以编写具体的SQL脚本在数据库服务器上将数据库建立起来。其中包括业务员信息表,客户信息表,商品信息表,定单表。客户端使用VS开发工具,那么在工作站上用VS建立起功能菜单,包括:业务员信息维护,客户信息维护,商品信息维护,建立销售定单等功能,并用工具将每一个功能编码实现。
这三个过程,就是实现一个软件系统的三个关键的步骤,是一个从抽象到具体的一个不断细化完善的分析,设计和开发的过程。
数据库建模:在设计数据库时,对现实世界进行分析、抽象、并从中找出内在联系,进而确定数据库的结构,这一过程就称为数据库建模。它主要包括两部分内容:确定最基本的数据结构;对约束建模。
1.概念模型的表示方法
E-R图主要是由实体、属性和联系三个要素构成的。在E-R图中,使用了下面四种基本的图形符号。
2.确定系统实体、属性及联系
系统分析阶段建立数据字典和数据流程图->建立概念模型->逻辑模型->物理模型
利用系统分析阶段建立的数据字典,并对照数据流程图对系统中的各个数据项进行分类、组织,确定系统中的实体、实体的属性、标识实体的码以及实体之间联系的类型。
在数据字典中“数据项”是基本数据单位,一般可以作为实体的属性。“数据结构”、“数据存储”和“数据流”条目都可以作为实体,因为它们总是包含了若干的数据项。作为属性必须是不可再分的数据项,也就是说在属性中不能包含其他的属性。
3.确定局部(分)E-R图
根据上面的分析,可以画出部分实体-联系图。
在这些实体中有下画线的属性可以作为实体的码,这几个实体之间存在着1:1、l:n和m:n几种联系。
4.集成完整(总)E-R图
各个局部(分)E-R图画好以后,应当将它们合并起来集成为完整(总)E-R图。在集成时应当注意如下几点:
(1)消除不必要的冗余实体、属性和联系。
(2)解决各分E-R图之间的冲突。
(3)根据情况修改或重构E-R图。
6.2.3逻辑结构设计
逻辑结构设计的任务,就是把概念结构设计阶段建立的基本E-R图,按选定的管理系统软件支持的数据模型(层次、网状、关系),转换成相应的逻辑模型。这种转换要符合关系数据模型的原则。
E-R图向关系模型的转换是要解决如何将实体和实体间的联系转换为关系,并确定这些关系的属性和码。这种转换一般按下面的原则进行:
(1)一个实体转换为一个关系,实体的属性就是关系的属性,实体的码就是关系的码。
(2)一个联系也转换为一个关系,联系的属性及联系所连接的实体的码都转换为关系的属性,但是关系的码会根据联系的类型变化,如果是:
1:1联系,两端实体的码都成为关系的候选码。
1:n联系,n端实体的码成为关系的码。
m:n联系,两端实体码的组合成为关系的码。总结:
概念数据模型设计与逻辑数据模型设计、物理数据模型设计是数据库及数据仓库模型设计的三个主要步骤。
在数据仓库领域有一个概念叫conceptual data model,中文一般翻译为“概念数据模型”。
概念数据模型是最终用户对数据存储的看法,反映了最终用户综合性的信息需求,它以数据类的方式描述企业级的数据需求,数据类代表了在业务环境中自然聚集成的几个主要类别数据。
概念数据模型的内容包括重要的实体及实体之间的关系。在概念数据模型中不包括实体的属性,也不用定义实体的主键。这是概念数据模型和逻辑数据模型的主要区别。
概念数据模型的目标是统一业务概念,作为业务人员和技术人员之间沟通的桥梁,确定不同实体之间的最高层次的关系。
在有些数据模型的设计过程中,概念数据模型是和逻辑数据模型合在一起进行设计的。
在数据仓库领域有一个概念叫logical data model,中文一般翻译为“逻辑数据模型”。
逻辑数据模型反映的是系统分析设计人员对数据存储的观点,是对概念数据模型进一步的分解和细化。逻辑数据模型是根据业务规则确定的,关于业务对象、业务对象的数据项及业务对象之间关系的基本蓝图。
逻辑数据模型的内容包括所有的实体和关系,确定每个实体的属性,定义每个实体的主键,指定实体的外键,需要进行范式化处理。
逻辑数据模型的目标是尽可能详细的描述数据,但并不考虑数据在物理上如何来实现。
逻辑数据建模不仅会影响数据库设计的方向,还间接影响最终数据库的性能和管理。如果在实现逻辑数据模型时投入得足够多,那么在物理数据模型设计时就可以有许多可供选择的方法。
在数据仓库领域有一个概念叫physical data model,中文一般翻译为“物理数据模型”。
物理数据模型是在逻辑数据模型的基础上,考虑各种具体的技术实现因素,进行数据库体系结构设计,真正实现数据在数据库中的存放。
物理数据模型的内容包括确定所有的表和列,定义外键用于确定表之间的关系,基于用户的需求可能进行发范式化等内容。在物理实现上的考虑,可能会导致物理数据模型和逻辑数据模型有较大的不同。
物理数据模型的目标是指定如何用数据库模式来实现逻辑数据模型,以及真正的保存数据。
-
1.2 《数据库系统概论》之数据模型(概念模型、逻辑模型--物理模型、层次模型、网状模型、关系模型、面向...
2020-03-25 15:49:16数据模型的概念2.两大类数据模型客观对象的抽象过程---两步抽象3.数据模型的组成要素(1)数据结构(2)数据操作(3)数据的完整性约束条件4.概念模型(1)用途与基本要求(2) 信息世界中的基本概念(3)两个实体型之间的联系①...
0.思维导图
1.数据模型的概念
- 在数据库中用数据模型这个工具来
抽象、表示和处理
现实世界中的数据和信息。 - 通俗地讲数据模型就是
现实世界的模拟
。
数据模型应满足三方面要求:
- 能比较
真实
地模拟现实世界 容易
为人所理解
- 便于在计算机上
实现
2.两大类数据模型
数据模型分为两类(分属两个不同的层次)
- (1)
概念模型 也称信息模型
,它是按用户的观点
来对数据和信息建模,用于数据库设计。 - (2)
逻辑模型
和物理模型
逻辑模型主要包括网状模型
、层次模型
、关系模型
、面向对象模型
等,按计算机系统的观点
对数据建模,用于DBMS实现。
物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。
客观对象的抽象过程—两步抽象
- 现实世界中的客观对象抽象为
概念模型
; - 把
概念模型
转换为某一DBMS支持的数据模型
。
3.数据模型的组成要素
(1)数据结构
数据结构是所研究的对象类型的集合。这些对象是数据库的组成成分,数据结构指对象和对象间联系的表达和实现,是对系统静态特征的描述,包括两个方面:
(1)数据本身:类型、内容、性质。例如关系模型中的域、属性、关系等。
(2)数据之间的联系:数据之间是如何相互关联的,例如关系模型中的主码、外码联系等。(2)数据操作
数据操作
- 对数据库中各种
对象(型)
的实例(值)
允许执行的操作
,及有关的操作规则
数据操作的类型
- 查询
- 更新(包括插入、删除、修改)
(3)数据的完整性约束条件
- 数据的完整性约束条件是一组
完整性规则
的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确性、有效性和相容性。
完整性规则:给定的数据模型中数据及其联系所具有的制约和储存规则
4.概念模型
(1)用途与基本要求
概念模型的用途:
- 概念模型用于信息世界的建模
- 是现实世界到机器世界的一个中间层次
- 是数据库设计的有力工具
- 数据库设计人员和用户之间进行交流的语言
对概念模型的基本要求:
- 较强的语义表达能力
- 能够方便、直接地表达应用中的各种语义知识
- 简单、清晰、易于用户理解
(2) 信息世界中的基本概念
- (1)
实体
(Entity)
客观存在并可相互区别的事物
称为实体。
可以是具体的人、事、物或抽象的概念。 - (2)
属性
(Attribute)
实体
所具有的某一特性
称为属性。
一个实体可以由若干个属性来刻画。 - (3)
码
(Key)
唯一标识实体的属性
集称为码。
(4)域
(Domain)
属性
的取值范围
称为该属性的域。 - (5)
实体型
(Entity Type)
用实体名
及其属性名集合
来抽象和刻画同类实体
称为实体型 - (6)
实体集
(Entity Set)
同一类型实体的集合
称为实体集 - (7)
联系
(Relationship)- 现实世界中
事物内部
以及事物之间
的联系
在信息世界中反映为实体内部的联系和实体之间的联系。 - 实体
内部的联系
通常是指组成实体的各属性之间
的联系 - 实体
之间的联系
通常是指不同实体集之间
的联系
- 现实世界中
(3)两个实体型之间的联系
① 一对一联系(1:1)
实例
- 一个班级只有一个正班长
- 一个班长只在一个班中任职
定义:
如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然。则称实体集A与实体集B具有一对一联系,记为1:1② 一对多联系(1:n)
实例
- 一个班级中有若干名学生,
- 每个学生只在一个班级中学习
定义:
如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n
③ 多对多联系(m:n)
实例
- 课程与学生之间的联系:
- 一门课程同时有若干个学生选修
- 一个学生可以同时选修多门课程
定义:
如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系,记为m:n
(4)两个以上实体型之间的联系
① 一对多联系(1:m||1:n)
- 若实体集E1,E2,…,En存在联系,对于实体集Ej(j=1,2,…,i-1i+1,…,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1E2,…,Ei-1,Ei+1,…,En之间的联系是一对多的。
实例
- 课程、教师与参考书三个实体型
一门课程可以有若干个教师讲授,
使用若干本参考书,
每一个教师只讲授一门课程,
每一本参考书只供一门课程使用
② 一对一联系(1:1:1)
实例
- 一个独生子女只有一个父亲,一个母亲
- 一个父亲也只有一个独生子女
- 一个母亲也只有一个独生子女
③ 多对多联系(m:n:p)
实例
供应商、项目、零件三个实体型
一个供应商可以供给多个项目多种零件
每个项目可以使用多个供应商供应的零件
每种零件可由不同供应商供给
(5)单个实体型内的联系
① 一对多联系(1:n)
实例
职工实体型内部具有领导与被领导
的联系
某一职工(干部)“领导”若干名职工
一个职工仅被另外一个职工直接领导
这是一对多的联系② 一对一联系(1:1)
- 身份证可以唯一确认一个人的身份,人与身份证
有确认和被确认
的关系 - 一个身份证唯一确定一个人
- 一个人也唯一确认一个身份证
③ 多对多联系 (m:n)
- 饮料和厂商之间有
制造和被制造
的关系 - 多个饮料可以被多个厂商制造
- 多个厂商可以制造出多种饮料
(6)概念模型的一种表示方法
① 实体-联系方法(E-R方法)
- E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用E-R图来描述现实世界的概念模型
- E-R方法也称为E-R模型
② 实体型
用矩形表示,矩形框内写明实体名。
③ 属性
用椭圆形表示,并用无向边将其与相应的实体连接起来
④ 联系
- 联系本身:
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)
⑤ 联系的表示方法
⑥ 联系的表示方法示例
⑦ 联系的属性
联系本身
也是一种实体型
,也可以有属性
。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来
⑧ 一个实例
用E-R图表示某个工厂物资管理的概念模型
- 实体
仓库: 仓库号、面积、电话号码
零件 :零件号、名称、规格、单价、描述
供应商:供应商号、姓名、地址、电话号码、帐号
项目:项目号、预算、开工日期
职工:职工号、姓名、年龄、职称
实体之间的联系如下:
- (1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量。
(2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓库和职工之间是一对多的联系。职工实体型中具有一对多的联系
(3)职工之间具有领导-被领导关系。即仓库主任领导若干保管员。
(4)供应商、项目和零件三者之间具有多对多的联系
5.非关系模型
(1)层次模型(Hierarchical Model)
- 层次模型是数据库系统中最早出现的数据模型
- 层次数据库系统的典型代表是IBM公司的IMS(Information Management System)数据库管理系统
- 层次模型用
树形结构
来表示各类实体以及实体间的联系
① 数据结构
满足下面两个条件的基本层次联系的集合为层次模型
- 有且只有一个结点没有双亲结点,这个结点称为
根结点
- 根以外的其它结点
有且只有一个
双亲结点
层次模型中的几个术语
根结点,双亲结点,兄弟结点,叶结点
② 特点
- 结点的双亲是
唯一
的 - 只能直接处理
一对多
的实体联系 - 每个记录类型可以定义一个排序字段,也称为·
码字段
- 任何记录值只有
按其路径查看
时,才能显出它的全部意义 没有
一个子女记录值能够脱离
双亲记录值而独立存在
③ 多对多联系在层次模型中的表示
方法:
- 将多对多联系分解成一对多联系
分解方法:
- 冗余结点法
- 虚拟结点法
④ 数据操纵与完整性约束
层次模型的数据操纵:
- 查询
- 插入
- 删除
- 更新
层次模型的完整性约束条件:
- 无相应的双亲结点值就不能插入子女结点值
- 如果
删除双亲
结点值,则相应的子女结点
值也被同时删除
- 更新操作时,应更新所有相应记录,以保证数据的一致性
⑤ 存储结构
邻接法:
按照层次树前序遍历(T-L-R)
的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序。又可分为:子女-兄弟链接法
和层次序列链接法
。❶ 子女-兄弟链接法
- 每个记录设两类指针,分别指向
最左边的子女
(每个记录型对应一个)和最近的兄弟
❷ 层次序列链接法
- 按树的
前序穿越顺序
链接各记录值
⑥ 优缺点
- 优点:
层次模型的数据结构
比较简单清晰
查询效率高,性能优于关系模型,不低于网状模型
层次数据模型提供了良好的完整性支持 - 缺点:
多对多联系表示不自然
对插入
和删除
操作的限制多
,应用程序
的编写
比较复杂
查询子女结点必须通过双亲结点
由于结构严密,层次命令趋于程序化
(2)网状模型(Network Model)
网状数据库系统采用
网状模型
作为数据的组织方式- 典型代表是DBTG系统:
亦称CODASYL系统
70年代由DBTG提出的一个系统方案
奠定了数据库系统的基本概念、方法和技术 - 实际系统:
Cullinet Software Inc.公司的 IDMS
Univac公司的 DMS1100
Honeywell公司的IDS/2
HP公司的IMAGE
① 数据结构
网状模型:
满足下面两个条件的基本层次联系的集合:- 允许一个以上的结点无双亲;
- 一个结点可以有多于一个的双亲。
表示方法(与层次数据模型相同):
实体型
:用记录类型描述
每个结点
表示一个记录类型(实体)
属性
:用字段描述
每个记录类型可包含若干个字段
联系
:用结点之间的连线
表示记录类型(实体)之
间的一对多的父子联系
网状模型与层次模型的区别:
- 网状模型允许多个结点没有双亲结点
- 网状模型允许结点有多个双亲结点
- 网状模型允许两个结点之间有多种联系(复合联系)
- 网状模型可以更直接地去描述现实世界
- 层次模型实际上是网状模型的一个特例
网状模型中子女结点与双亲结点的联系可以不唯一
要为每个联系命名
,并指出与该联系有关
的双亲记录
和子女记录
多对多联系在网状模型中的表示:
方法:将多对多
联系直接分解成一对多
联系例如
:一个学生可以选修若干门课程,·某一课程可以被多个学生选修,学生与课程之间是多对多联系 ·- 引进一个学生选课的联结记录,由3个数据项组成
学号
课程号
成绩
表示某个学生选修某一门课程及其成绩
② 网状数据模型的操纵与完整性约束(续)
网状数据库系统(如DBTG)对数据操纵加 了一些限制,提供了一定的完整性约束
码
:唯一标识记录的数据项的集合- 一个联系中
双亲记录
与子女记录
之间是一对多
联系 - 支持双亲记录和子女记录之间某些约束条件
③ 存储结构
关键:
- 实现记录之间的联系
常用方法:
- 单向链接
- 双向链接
- 环状链接
- 向首链接
④ 优缺点
-
优点
能够更为直接地描述现实世界,如一个结点可以有多个双亲;
具有良好的性能,存取效率较高; -
缺点
结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握;
DDL、DML语言复杂,用户不容易使用;
6.关系模型
关系数据库系统采用
关系模型
作为数据的组织方式
1970年美国IBM公司San Jose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型
计算机厂商新推出的数据库管理系统几乎都支持关系模型(1)数据结构
在用户观点下,
关系模型中数据的逻辑结构
是一张二维表
,它由行
和列
组成。
几个名词解释:-
关系
(Relation)
一个关系对应通常说的一张表 -
元组
(Tuple)
表中的一行即为一个元组 -
属性
(Attribute)
表中的一列即为一个属性,给每一个属性起一个名称即属性名 -
主码
(Key)
表中的某个属性组
,它可以唯一确定一个元组
。 -
域
(Domain)
属性的取值范围。 -
分量
元组中的一个属性值。 -
关系模式
对关系的描述
关系名(属性1,属性2,…,属性n)
学生(学号,姓名,年龄,性别,系,年级)
举几个例子: -
例1
学生、系、系与学生之间的·一对多
联系:
学生(学号,姓名,年龄,性别,系号
,年级)
系 (系号
,系名,办公地点) -
例2
系、系主任、系与系主任间的一对一
联系 -
例3
学生、课程、学生与课程之间的多对多
联系:
学生(学号
,姓名,年龄,性别,系号,年级)
课程(课程号
,课程名,学分)
选修(学号
,课程号
,成绩)
规范化:
- 关系必须是规范化的,满足一定的规范条件
- 最基本的规范条件:
关系的每一个分量必须是一个不可分的数据项, 不允许表中还有表
- 图1.27中工资和扣除是可分的数据项 ,不符合关系模型要求
(2)关系数据模型的操纵与完整性约束
-
数据操作
是集合操作,操作对象和操作结果都是关系
查询
插入
删除
更新 -
数据操作是集合操作,操作对象和操作结果都是关系
,即若干元组的集合存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干” -
关系的
完整性约束条件
实体完整性
参照完整性
用户定义的完整性
(3)存储结构
- 实体及实体间的联系都用
表
来表示 - 表以文件形式存储
有的DBMS一个表对应一个操作系统文件;
有的DBMS自己设计文件结构;
(4)优缺点
优点
- 建立在严格的数学概念的基础上;
- 概念单一:
实体和各类联系都用关系来表示;
对数据的检索结果也是关系; - 关系模型的存取路径对用户透明;
具有更高的数据独立性,更好的安全保密性
简化了程序员的工作和数据库开发建立的工作;
缺点
- 存取路径对用户透明导致查询效率往往不如非关系数据模型;
- 为提高性能,必须对用户的查询请求进行优化,增加了开发DBMS的难度;
7.面向对象数据模型
-
将
语义数据模型
和面向对象程序设计方法
结合起来,用面向对象观点
来描述现实世界实体
(对象)的逻辑组织
、对象间限制
、联系
等的模型
。 -
一系列面向对象核心概念构成了面向对象数据模型( Object Oriented Data Model, 00模型)的基础,主要包括以下一些概念:
- (1)现实世界中的任何事物都被建模为对象。每个对象具有一个唯一的对象标识
(OID)。 - (2)对象是其状态和行为的封装,其中状态是对象属性值的集合,行为是变更对象状
态的方法集合。 - (3)具有相同属性和方法的对象的全体构成了类,类中的对象称为类的实例。
- (4)类的属性的定义域也可以是类,从而构成了类的复合。类具有继承性,一个类可以继承另一个类的属性与方法,被继承类和继承类也称为超类和子类。类与类之间的复合与继承关系形成了一个有向无环图,称为类层次。
- (5)对象是被封装起来的,它的状态和行为在对象外部不可见,从外部只能通过对象显式定义的消息传递对对象进行操作。
- (1)现实世界中的任何事物都被建模为对象。每个对象具有一个唯一的对象标识
-
面向对象数据库(OODB)的研究始于20世纪80年代,有许多面向对象数据库产品相继问世,较著名的有Object Store、02、ONTOS等。
-
与传统数据库一样,面向对象数据库系统对数据的操纵包括数据查询、增加、删除、修改等,也具有并发控制、故障恢复、存储管理等完整的功能。不仅能支持传统数据库应用,也能支持非传统领域的应用,包括CAD/CAM、OA、CIMS、GIS以及图形、图像等多媒体领域、工程领域和数据集成等领域。
-
尽管如此,由于面向对象数据库操作语言过于复杂,没有得到广大用户,特别是开发人员的认可,加上面向对象数据库企图完全替代关系数据库管理系统的思路,增加了企业系统升级的负担,客户不接受,·
面向对象数据库产品终究没有在市场上获得成功。
8.对象关系模型
对象关系数据库系统
(Object Relational DataBase System, ORDBS) 是关系数据库
与面向对象数据库
的结合。- 它保持了关系数据库系统的非过程化数据存取方式和数据独立性,继承了关系数据库系统已有的技术,支持原有的数据管理,又能支持00模型和对象管理。各数据库厂商都在原来的产品基础上进行了扩展。
- 1999 年发布的SQL标准(也称为SQL99),增加了SQL/Object Language Binding, 提供了面向对象的功能标准。SQL99对ORDBS标准的制定滞后于实际系统的实现。所以各个ORDBS产品在支持对象模型方面虽然思想一致,但是所采用的术语、语言语法、扩展的功能都不尽相同。
- 在数据库中用数据模型这个工具来
-
论文研究-智能主体的信念认知时态子结构逻辑模型.pdf
2019-07-22 19:08:48智能主体获取信念的途径主要有两种:一种为他省,通过外界交互,从...针对上述问题进行了相关研究,采用了认知时态子结构逻辑建模的方法,表达了智能主体获得“双省”信念的方式,针对其建立了相应的逻辑系统BSoET。 -
笔记:数据建模基本流程,概念模型,逻辑模型和物理模型
2017-07-02 00:48:36注:本文的数据建模基本流程适用于OLTP系统数据建模,同样也涵盖了DW的数据模型 概念模型:确定系统的核心以及划清系统范围和边界 该阶段需完成: 1.该系统的商业目的是什么,要解决何种业务场景 2.该业务场景中,... -
【推荐系统】逻辑回归(LR)在推荐系统中的使用
2022-04-23 10:03:23相比于传统的协同过滤,矩阵分解算法,在推荐系统中逻辑回归(Logistic Regression ,LR)模型能够综合用户信息、物品、上下文等多种不同的特征,效果也会更好。我们知道逻辑回归是一个分类模型,那么自然而然地会将... -
数据库逻辑模型
2014-05-01 21:05:37数据模型主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,用于DBMS的实现。 1.2.1 层次模型 若用图来表示,层次模型是一棵倒立的树。在数据库中,满足以下条件的数据模型称为层次模型:... -
【数理逻辑四】谓词逻辑及形式系统 【中】
2020-06-16 20:41:14谓词逻辑及形式系统 (语义)【中】 一、概述 ...如果要用一个统一的概念表达符号系统所对应的其它学科知识体系,那么这个概念就是【模型】。 有了模型的概念,对什么是语义的定义就可以简明扼要. -
逻辑数据模型之层次数据模型、网状数据模型和关系数据模型
2018-04-30 10:11:28上一篇文章简单介绍了概念数据模型、逻辑数据模型、物理数据模型的基本概念、特性以及三者所对应的数据库的开发阶段。现在针对逻辑数据模型中所用到的三种数据模型---层次数据模型、网状数据模型以及关系数据模型做... -
概念模型、逻辑模型和物理模型
2016-04-14 17:36:56随着系统开发的推进和成熟,系统...逻辑模型:根据概念模型中创造出的概念,建立起关键抽象和机制的意义,并确定系统的架构和整体设计。 物理模型:主要描述了系统实现的具体软件和硬件构成,物理模型才是与技术相 -
扩展颜色逻辑Petri网及其可达性分析
2020-07-25 04:16:39然而颜色逻辑Petri网描述不同子系统的并发过程,需要对每一个子系统建立一个子网模型。如果所有子网模型的结构相同,则可以引入多个有色托肯,从而用一个子网模型表示多个子系统的并发过程。因此,提出了扩展颜色逻辑... -
几种结构化表达模型
2020-12-23 20:13:13结构化思维可以让我们更全面、更系统的思考与表达,将复杂问题简单化。 同时基于结构化思维的方式可以帮助我们快速建立自己的知识体系,将碎片信息塞到自己的知识体系中。 其实结构化表达中很重要的一点是”结论... -
概念数据模型(CDM)、逻辑数据模型(LDM)、物理数据模型(PDM)区别以及哪些适合需求分析阶段的数据建模
2020-06-02 15:02:22在工作中,关于概念数据模型(Concept Data Model)、逻辑数据模型(Logical Data Model)、物理数据模型(Physical Data Model)三个数据模型的探讨中,发现大家都有自己的见解,但是却没有一个人能真正的说清楚这... -
基于模型的系统工程(MBSE)是什么?有什么用?怎么学习?
2021-11-30 10:20:57基于模型的系统工程(MBSE)技术从理论到实践,逐渐在一些企业得到应用,在国内掀起了一股热潮。究竟MBSE是什么,如何学习和应用,本文做了一个入门的简单介绍。在文章最后,列出了本文作者学习MBSE技术中接触的一些... -
信息系统需求分析与设计.pptx
2022-06-17 18:19:441 可行性分析 系统规划 现行系统 ... 5 1、 系统分析概述 当前系统 物理模型 逻辑模型 目标系统 物理模型 逻辑模型 模型化 抽象化 具体化 实例化 系统分析 系统设计 优化导出 信息系统需求分析与设计全文共145页,当前 -
业务逻辑模式——领域模型模式
2018-12-14 11:35:08领域模型(Domain Model,DM)模式建议架构师把注意力放在系统的预期行为以及使之工作的数据流上。理想情况下,在领域专家的悉心帮助下了解真实系统,然后尝试以类的形式来重现它。 模式概论 领域模型不用于由一组... -
[GIS笔记] 模型篇-数据模型、空间数据模型、GIS数据模型、逻辑数据模型的种类
2019-12-03 16:32:23模型篇 数据模型、空间数据模型、GIS数据模型 数据模型 说明 ...为了将复杂的地理事物和现象...空间数据模型可归纳为概念数据模型、逻辑数据模型和物理数据模型三个层次1. [概念数据模型] 是连接现实世界到概念世... -
1数据模型与数据库系统结构
2018-03-12 20:47:18今天在网上买了一套计算机专业的书,但还没到,就学了一下数据库系统概论,数据模型与数据库系统结构。感觉路上会挺辛苦的,希望自己能坚持下来,给自己加油打气。写的比较乱。还不愿意画图。特别懒的一个人儿。数据... -
数据管理系统之数据模型
2018-11-21 09:17:32数据模型 ... 定义:数据的逻辑组织方式(数据的基本结构和结构的语义) a. 文档模型(Mongodb 2000s) b. 层次模型(IBM IMS 1960s) c. 网状模型(GE IDS 1960s) d. 关系模型(SQL DB 1970s... -
逻辑模型的工具-数据流图DFD
2010-04-08 11:03:00逻辑模型的工具——只反映信息在系统中流动和处理情况的图称为数据流图,它是描述系统逻辑模型的工具之一。数据流图(Data Flow Diagram,简称DFD)是便于用户理解系统数据流程的图形表示。它能精确地在逻辑上描述系统... -
数据仓库介绍(四) - 逻辑数据模型
2015-04-08 16:50:48逻辑数据模型LDM是数据仓库的数据建设阶段为解决业务需求而定义的数据仓库模型解决方案,它是指导数据仓库进行数据存放、数据组织、以及如何支持应用的蓝图(blue print),定义需要追踪和管理的各种重要实体、属性... -
胖子哥的大数据之路(9)- 数据仓库金融行业数据逻辑模型FS-LDM
2014-04-18 08:32:09FS-LDM 金融11个主题模型 -
操作系统原理——内存的分段、分页和平坦模型:区别与发展
2022-01-14 14:41:00对操作系统原理中,内存的分段、分页和平坦模型进行简单介绍,比较区别,介绍发展与演变。 -
深入浅出推荐系统(一):推荐系统基本架构
2022-04-19 14:49:56深入浅出推荐系统(一):推荐系统基本架构 提纲 过去八九年在广告、生活服务、电商等领域从事大数据及推荐系统相关工作,近来打算对过去的工作做一个系统性的梳理。一方面帮自己查缺补漏、进行更深入的学习;另一... -
数理逻辑、命题逻辑、谓词逻辑之概念详细梳理
2020-07-31 12:34:47数理逻辑、命题逻辑、谓词逻辑之概念详细梳理 一、前言 二、概念梳理 1、数理逻辑 (1)数理逻辑包括哪些内容呢? (2)数理逻辑体系 2、命题逻辑 3、谓词逻辑 三、命题逻辑和谓词逻辑之间有什么关系? 1、解释一: ... -
推荐系统详解(五)模型融合
2020-05-07 20:51:17经典模型融合办法:线性模型和树模型的组合拳 推荐系统在技术实现上一般划分为三个阶段:挖掘、召回、排序。 为什么要融合? 挖掘的工作就是对用户和物品做非常深入的结构化分析,庖丁解牛一样,各个角度各个层面... -
AI上推荐 之 逻辑回归模型与GBDT+LR(特征工程模型化的开端)
2020-09-10 17:05:081. 前言 随着信息技术和互联网的发展, 我们已经步入了一个信息过载的时代,这个时代,无论是信息消费者还是信息生产者都遇到了很大... 推荐系统近几年有了深度学习的助推发展之势迅猛, 从前深度学习的传统推荐模型(协