数据库解决了数据从逻辑结构到物理结构的存储问题对吗

 我来答
心望而e
2022-11-26 · 贡献了超过114个回答
知道答主
回答量:114
采纳率:0%
帮助的人:2万
展开全部
数据结构有哪些》一节讲到,数据的存储方式可分为线性表、树和图三种存储结构,而每种存储结构又可细分为顺序存储结构和链式存储结构。数据存储方式如此之多,针对不同类型的数据选择合适的存储方式是至关重要的。

那么,到底如何选择呢?数据存储结构的选择取决于两方面,即数据的逻辑结构和存储结构(又称物理结构)。
逻辑结构
数据的逻辑结构,简单地理解,就是指的数据之间的逻辑关系。

家庭成员关系图
图 1 家庭成员关系图

例如,图 1 显示是一张家庭的成员关系图,从图中可以看到,张平、张华和张群是兄弟,他们的父亲是张亮,其中张平有两个儿子,分别是张晶和张磊。

以上所说,父子、兄弟等这些关系都指的是数据间的逻辑关系,假设我们要存储这样一张家庭成员关系图,不仅要存储张平、张华等数据,还要存储它们之间的关系,两者缺一不可。
一组数据成功存储到计算机的衡量标准是要能将其完整的复原。例如图 1 所示的成员关系图,如果所存储的数据能将此成员关系图彻底复原,则说明数据存储成功。

“多对多”关系示意图
图 2 “多对多”关系示意图

数据之间的逻辑关系可细分为三类,“一对一”、“一对多”和“多对多”:
“一对一”:类似集合 {1,2,3,...,n} 这类的数据,每个数据的左侧有且仅有一个数据与其相邻(除 1 外);同样,每个数据的右侧也只有一个数据与其相邻(除 n 外),所有的数据都是如此,就说数据之间是“一对一”的逻辑关系;
“一对多”:图 1 中的数据就属于“一对多”,因为对于张平来说,有且仅有一个父亲(张亮),但是有 2(多)个孩子;
“多对多”:拿图 2 来说,从 V1 可以到达 V2、V3、V4,同样,从 V2、V3、V4 也可以到达 V1,对于V1、V2、V3和V4来说,它们之间就是“多对多”的关系;

通过学习数据结构,我们可以学到 3 种存储结构分别存储这 3 类逻辑关系的数据,换句话说:
线性表用于存储具有“一对一”逻辑关系的数据;
树结构用于存储具有“一对多”关系的数据;
图结构用于存储具有“多对多”关系的数据;

由此,我们可以通过分析数据之间的逻辑关系来决定使用哪种存储结构,但具体使用顺序存储还是链式存储,还要通过数据的物理结构来决定。
存储结构(物理结构)
数据的存储结构,也就是物理结构,指的是数据在物理存储空间上选择集中存放还是分散存放。假设要存储大小为 10G 的数据,则集中存放就如图 3a) 所示,分散存放就如图 3b)所示。

数据的物理存储方式
图 3 数据的物理存储方式

如果选择集中存储,就使用顺序存储结构;反之,就使用链式存储。至于如何选择,主要取决于存储设备的状态以及数据的用途。

我们知道,集中存储(底层实现使用的是数组)需要使用一大块连续的物理空间,假设要存储大小为 1G 的数据,若存储设备上没有整块大小超过 1G 的空间,就无法使用顺序存储,此时就要选择链式存储,因为链式存储是随机存储数据,占用的都是存储设备中比较小的存储空间,因此有一定几率可以存储成功。

并且,数据的用途不同,选择的存储结构也不同。将数据进行集中存储有利于后期对数据进行遍历操作,而分散存储更有利于后期增加或删除数据。因此,如果后期需要对数据进行大量的检索(遍历),就选择集中存储;反之,若后期需要对数据做进一步更新(增加或删除),则选择分散存储。
纪映7m
2022-11-28 · 贡献了超过300个回答
知道答主
回答量:300
采纳率:100%
帮助的人:7.2万
展开全部
不对。逻辑结构反应数据库中各数据之间的逻辑关系;物理结构,是数据的存储方式,能不能快速访问、所需数据,与此有关。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
猪了个猪zR
2022-11-28 · 贡献了超过124个回答
知道答主
回答量:124
采纳率:0%
帮助的人:2.9万
展开全部
数据库的物理结构和逻辑结构

⾸先,你需要明⽩的⼀点是:数据库的物理结构是由数据库的操作系统⽂件所决定,每⼀个Oracle数据库是由三种类型的⽂件组成:数据⽂件、⽇志⽂件和控制⽂件。数据库的⽂件为数据库信息提供真正的物理存储。

每⼀个Oracle数据库有⼀个或多个物理的数据⽂件(data file)。⼀个数据库的数据⽂件包含全部数据库数据。逻辑数据库结构(如表、索引等)的数据物理地存储在数据库的数据⽂件中。数据⽂件通常为*.dbf格式,例如:userCIMS.dbf。数据⽂件有下列特征:①、⼀个数据⽂件仅与⼀个数据库联系;②、⼀旦建⽴,数据⽂件只增不减;③、⼀个表空间(数据库存储的逻辑单位)由⼀个或多个数据⽂件组成。

其次,我们再来叙述⼀下Oracle的逻辑结构:Oracle的逻辑结构包括表空间(tablespace),段(segment),数据块(data block)以及模式对象(schema object)。

Oracle数据库在逻辑上是由多个表空间组成的,表空间在物理上包含⼀个或多个数据⽂件。⽽数据⽂件⼤⼩是块⼤⼩的整数倍;表空间中存储的对象叫段,⽐如数据段,索引段和回退段。段由区组成,区是磁盘分配的最⼩单位。段的增⼤是通过增加区的个数来实现的。每个区的⼤⼩是数据块⼤⼩的整数倍,区的⼤⼩可以不相同;数据块是数据库中的最⼩的I/O单位,同时也是内存数据缓冲区的单位,及数据⽂件存储空间单位。块的⼤⼩由参数DB_BLOCK_SIZE设置,其值应设置为操作系统块⼤⼩的整数倍。

⑴、表空间(tablespace)

表空间是数据库中最⼤的逻辑单位,每⼀个表空间由⼀个或多个数据⽂件组成,⼀个数据⽂件只能与⼀个表空间相联系。每⼀个数据库都有⼀个SYSTEM表空间,该表空间是在数据库创建或数据库安装时⾃动创建的,⽤于存储系统的数据字典表,程序系统单元,过程函数,包和触发器等,也可⽤于存储⽤户数据表,索引对象。表空间具有在线(online)和离线(offline)属性,可以将除SYSTME以外的其他任何表空间置为离线。

⑵、段(segment)

数据库的段可以分为四类:数据段、索引段、回退段和临时段。

⑶、区

区是磁盘空间分配的最⼩单位。磁盘按区划分,每次⾄少分配⼀个区。区存储与段中,它由连续的数据块组成。

⑷、数据块

数据块是数据库中最⼩的数据组织单位与管理单位,是数据⽂件磁盘存储空间单位,也是数据库I/O的最⼩单位,数据块⼤⼩由

DB_BLOCK_SIZE参数决定,不同的Oracle版本DB_BLOCK_SIZE的默认值是不同的。

⑸、模式对象

模式对象是⼀种应⽤,包括:表、聚簇、视图、索引序列⽣成器、同义词、哈希、程序单元、数据库链等。

最后,在来说⼀下Oracle的⽤户、表空间和数据⽂件的关系:

⼀个⽤户可以使⽤⼀个或多个表空间,⼀个表空间也可以供多个⽤户使⽤。⽤户和表空间没有⾪属关系,表空间是⼀个⽤来管理数据存储的逻辑概念,表空间只是和数据⽂件发⽣关系,数据⽂件是物理的,⼀个表空间可以包含多个数据⽂件,⽽⼀个数据⽂件只能⾪属⼀个表空间。

总结⼀下:解释数据库、表空间、数据⽂件、表、数据的最好办法就是想象⼀个装满东西的柜⼦。数据库其实就是柜⼦,柜中的抽屉是表空间,抽屉中的⽂件夹是数据⽂件,⽂件夹中的纸是表,写在纸上的信息就是数据。


5.9
百度文库VIP限时优惠现在开通,立享6亿+VIP内容
立即获取
数据库的物理结构和逻辑结构
数据库的物理结构和逻辑结构

⾸先,你需要明⽩的⼀点是:数据库的物理结构是由数据库的操作系统⽂件所决定,每⼀个Oracle数据库是由三种类型的⽂件组成:数据⽂件、⽇志⽂件和控制⽂件。数据库的⽂件为数据库信息提供真正的物理存储。

每⼀个Oracle数据库有⼀个或多个物理的数据⽂件(data file)。⼀个数据库的数据⽂件包含全部数据库数据。逻辑数据库结构(如表、索引等)的数据物理地存储在数据库的数据⽂件中。数据⽂件通常为*.dbf格式,例如:userCIMS.dbf。数据⽂件有下列特征:①、⼀个数据⽂件仅与⼀个数据库联系;②、⼀旦建⽴,数据⽂件只增不减;③、⼀个表空间(数据库存储的逻辑单位)由⼀个或多个数据⽂件组成。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式