📝 DBMS
116篇技术文档📅  最后修改于: 2020-12-12 08:03:41        🧑  作者: Mango
DBMS中的存储系统数据库系统提供了所存储数据的最终视图。但是,位,字节形式的数据存储在不同的存储设备中。在本节中,我们将概述用于访问和存储数据的各种类型的存储设备。数据存储类型为了存储数据,有不同类型的存储选项可用。这些存储类型根据速度和可访问性而互不相同。有以下几种用于存储数据的存储设备:主存储二级储存三次存储主存储它是可快速访问存储数据的主要区域。我们还知道主要存储为易失性存储。这是因为这种...
📅  最后修改于: 2020-12-12 08:04:33        🧑  作者: Mango
数据字典存储到目前为止,我们了解并了解了关系及其表示。在关系数据库系统中,它维护关系或表的所有信息,从其模式到所应用的约束。所有元数据都已存储。通常,元数据是指有关数据的数据。因此,在结构中存储有关关系的关系模式和其他元数据称为数据字典或系统目录。数据字典就像关系数据库系统的AZ字典,其中包含数据库中每个关系的所有信息。系统必须存储的信息类型为:关系名称每个关系的属性名称属性的长度和范围数据库上定...
📅  最后修改于: 2020-12-12 08:05:26        🧑  作者: Mango
文件组织存储有多种方法可以将数据存储在数据库中。将数据存储在文件中就是其中之一。用户可以以有组织的方式将数据存储在文件中。这些文件在逻辑上按照记录序列进行组织,并永久驻留在磁盘上。每个文件分为固定长度的存储单元,称为Blocks。这些块是存储分配以及数据传输的单位。尽管数据库中的默认块大小为4至8 KB,但是许多数据库允许在创建数据库实例时指定大小。通常,记录大小小于块大小。但是,对于较大的数据项...
📅  最后修改于: 2020-12-12 08:06:21        🧑  作者: Mango
选择RAID级别在上一节中,我们了解了RAID,并了解了RAID的各个级别。在这里,我们将讨论那些讨论过的RAID级别的选择,即应该以何种方式选择这些级别。每个级别都有其优点和缺点。因此,每个级别的选择取决于它们存储数据的能力。选择RAID级别时会考虑各种因素。这些因素讨论如下:额外的磁盘存储需求的货币成本。在输入输出操作数方面对性能的需求。在磁盘发生故障的情况下测量性能。在将故障磁盘中的数据重建...
📅  最后修改于: 2020-12-12 08:07:14        🧑  作者: Mango
位图索引它是建立在单个键上的特殊索引类型。但是,它旨在快速触发多个键上的查询。在对其应用位图索引之前,我们需要按顺序排列记录。这使得从块中获取特定记录变得简单。而且,在文件块中分配它们变得很容易。位图索引结构单词“位图”由“位”和“图”组成。比特是计算机系统中最小的数据单位。地图意味着组织事物。因此,位图仅是数组形式的位映射。在一个关系中,每个属性为其值携带一个位图。位图具有足够的位,可以为块中的...
📅  最后修改于: 2020-12-12 08:08:05        🧑  作者: Mango
缓冲液更换策略缓冲区替换是一种使用新块替换缓冲区中现有块的方法。这样,它有助于减少磁盘访问次数。缓冲区管理器使用以下策略进行缓冲区替换:最近最少使用(LRU)策略根据LRU,最近使用中得分最低的数据或过程将被新的过程或数据替换。在块替换策略中,如果需要替换现有块,则将替换最近引用最少的块。但是,数据库系统的替换方案与操作系统不同。操作系统依靠过去来预测未来。但是,数据库系统能够准确预测未来的计划。...
📅  最后修改于: 2020-12-12 08:08:58        🧑  作者: Mango
数据库缓冲区在上一节中,我们了解了各种类型的数据存储。但是,数据库系统的目标是在磁盘和内存之间进行最少数量的传输。为此,它可以通过在主内存中保留尽可能多的块来减少磁盘访问次数。因此,当用户想要存储数据时,它可以直接在主内存中搜索,并且不需要访问磁盘。但是,很难在主存储器中保留这么多的块。我们需要管理主存储器中用于存储块的可用空间的分配。数据库缓冲区是主内存中的临时存储区。当从一个地方移动到另一个地...
📅  最后修改于: 2020-12-12 08:09:49        🧑  作者: Mango
估算查询费用在上一节中,我们了解了查询处理步骤和评估计划。尽管系统可以为查询创建多个计划,但是所选方法应该是所有方法中最好的。可以通过比较每个可能的计划的估计成本来完成。为了计算任何计划的净估计成本,应该确定一个计划中每个操作的成本并将其合并以获得查询评估计划的净估计成本。查询评估计划的成本估算是根据各种资源来计算的,这些资源包括:磁盘访问次数CPU执行查询所需的执行时间分布式或并行数据库系统中的...
📅  最后修改于: 2020-12-12 08:10:42        🧑  作者: Mango
DBMS中的查询处理查询处理是从数据库提取数据时执行的活动。在查询处理中,需要采取各种步骤从数据库中获取数据。涉及的步骤是:解析和翻译优化评价查询处理以下列方式工作:解析与翻译由于查询处理包括某些用于数据检索的活动。最初,给定的用户查询被翻译成高级数据库语言(例如SQL)。它被转换为可以在文件系统的物理级别上进一步使用的表达式。此后,将对查询进行实际评估,并进行各种优化查询的转换。因此,在处理查询...
📅  最后修改于: 2020-12-12 08:11:32        🧑  作者: Mango
表达评估在前面的部分中,我们了解了查询处理中的各种概念。我们了解了查询处理步骤,选择操作以及用于执行联接操作及其成本估算的几种算法。我们已经知道计算和表示给定用户查询或表达式的各个关系操作。在这里,我们将了解如何使用多个操作来计算和评估表达式。为了评估其中包含多个运算的表达式,我们可以一个一个地执行每个运算的计算。但是,在查询处理系统中,我们使用两种方法来评估带有多个操作的表达式。这些方法是:物化...
📅  最后修改于: 2020-12-12 08:12:26        🧑  作者: Mango
外部排序合并算法到目前为止,我们已经看到排序是任何数据库系统中的重要术语。这意味着按升序或降序排列数据。我们不仅将排序用于生成排序输出,而且还将其用于满足各种数据库算法的条件。在查询处理中,排序方法用于有效地执行各种关系操作,例如联接等。但是需要为系统提供分类的输入值。为了对任何关系进行排序,我们必须在排序键上建立一个索引,并使用该索引来按排序顺序读取该关系。但是,使用索引时,我们会按逻辑而非物理...
📅  最后修改于: 2020-12-12 08:13:22        🧑  作者: Mango
哈希联接算法哈希联接算法用于执行自然联接或等效联接操作。哈希联接算法背后的概念是将每个给定关系的元组划分为集合。分区是基于联接属性上相同的哈希值完成的。哈希函数提供哈希值。在算法中使用哈希函数的主要目的是减少比较次数并提高完成关系上联接操作的效率。例如,假设有两个元组a和b都满足连接条件。这意味着它们的连接属性具有相同的值。假设a和b元组都由哈希值i组成。这意味着,元组应该是在我和元组乙方应在BI...
📅  最后修改于: 2020-12-12 08:14:20        🧑  作者: Mango
查询处理中的实现在前面的内容中,我们简要介绍了关于实现以及如何评估表达式的多个操作的信息。实现是评估给定查询的多个操作并将结果存储在临时关系中的简便方法。结果可以是任何连接条件,选择条件等等的输出。因此,实现是为用户查询创建和设置评估操作结果视图的过程。它类似于高速缓存存储器,在该高速缓存存储器中,搜索到的数据会暂时稳定下来。通过表达的图形表示,我们可以轻松理解实现的工作。运算符树用于表示表达式。...
📅  最后修改于: 2020-12-12 08:15:12        🧑  作者: Mango
合并联接算法合并联接用于执行给定关系r和s的自然联接和等联接。我们使用一种用于执行合并联接的算法,称为“合并联接算法”。也称为排序合并联接算法。合并联接算法合并联接算法如下:在算法中,使用了各种术语:JoinAttrs:它表示r s的交集中的属性。r s:r s指关系r和s中共有的那些属性。tstr:t s和tr元组的属性的级联表达式。进一步地,计划出重复的属性。ts和tr:这是两个具有相同Joi...
📅  最后修改于: 2020-12-13 05:16:24        🧑  作者: Mango
嵌套循环联接算法在上一节中,我们了解了联接和各种类型的联接。在本节中,我们将了解嵌套循环连接算法。嵌套循环联接是包含一对嵌套的for循环的联接。为了对两个关系r和s执行嵌套循环连接,即θ,我们使用一种称为嵌套循环连接算法的算法。计算过程如下:[R⋈θ小号其中r被称为外部关系,而s是联接的内部关系。这是因为r的for循环包围了s的for循环。嵌套循环联接算法让我们讨论嵌套循环连接的算法:在该算法中,...