最后一分钟笔记–DBMS

参见所有主题的最后一分钟笔记 在这里 .

null

我们将以总结的形式讨论门考试的重要要点。详情请参阅 .

E-R图 :ER图中最常见的问题是给定ER图所需的最小表格数。通常使用以下标准:

基数 最少桌数
两个实体部分参与的1:1基数 2.
1:1基数,至少有1个实体参与 1.
1:n基数 2.
m:n基数 3.

注: 这是一个普遍的观察结果。特殊情况需要注意。如果关系的属性不能移动到任何实体端,我们可能需要额外的表。

关系的关键 :关系中有各种类型的键,它们是:

  • 候选密钥: 可以唯一确定元组的最小属性集。一个关系可以有多个候选键,其适当子集不能唯一确定元组,且不能为空。
  • 超级键: 可以唯一确定元组的一组属性。候选密钥始终是超级密钥,但反之亦然。
  • 主键和备用键: 在各种候选密钥中,一个密钥作为主键,另一个密钥作为备用密钥。
  • 外键: 外键是表中的一组属性,用于引用同一表或其他表的主键或备用键。

范式

  • 第一范式: 如果一个关系不包含任何多值或复合属性,那么它就是第一范式。
  • 第二范式: 如果一个关系不包含任何部分依赖项,那么它就是第二范式。如果候选密钥的任何适当子集确定了非素数(不属于候选密钥的一部分)属性,则依赖关系称为部分依赖关系。
  • 第三范式: 如果一个关系不包含任何可传递依赖项,那么它就是第三范式。对于第三范式的关系,FD的LHS应该是超键,或者RHS应该是素数属性。
  • Boyce Codd范式: 一位亲戚在家 博伊斯·科德 如果每个FD的LHS都是超键,则为标准形式。范式之间的关系可以表示为: 1NF 2NF 3NF BCNF

关系代数 :带有基本运算符和扩展运算符的过程语言。

基本运算符 语义的
σ(选择) 根据给定条件选择行
∏(预测) 投射一些专栏
X(交叉积) 关系、回报的叉积 m*n 其中m和n分别是R1和R2中的行数。
U(工会) 返回R1或R2中的元组。返回的最大行数 =m+n 返回的最小行数= 最大值(米,n)
−(减) R1-R2返回那些在R1中但不在R2中的元组。返回的最大行数= M 返回的最小行数= m-n
ρ(重命名) 将关系重命名为其他关系。

扩展运算符 语义的
∩ (十字路口) 返回R1和R2中的元组。返回的最大行数=最小(m,n),返回的最小行数=0

C (有条件连接)

根据某些条件从两个或多个表中进行选择(交叉乘积后进行选择)

⋈(对等连接)

当属性之间只应用相等条件时,这是条件连接的一种特殊情况。

⋈(自然连接)

在自然连接中,公共属性上的相等条件保持不变,并且默认情况下删除重复属性。 注: 如果两个关系没有公共属性,那么自然连接等价于叉积,并且关系R与自身的自然连接只返回R。

⟕(左外连接)

当对两个关系R和S应用连接时,结果集中不出现一些不满足连接条件的R或S元组。但左外连接给出了结果集中R的所有元组。对于S的属性,不满足连接条件的R元组的值将为NULL。

⟖(右外连接)

当对两个关系R和S应用连接时,结果集中不出现一些不满足连接条件的R或S元组。但是右外连接给出了结果集中的所有元组。不满足连接条件的S元组的R属性值将为NULL。

⟗(完全外接)

当对两个关系R和S应用连接时,结果集中不出现一些不满足连接条件的R或S元组。但是完全外部联接给出了结果集中所有S元组和所有R元组。不满足连接条件的S元组的属性值为空,反之亦然。

/(部门操作员)

除法运算符A/B将返回A中与B的每个元组关联的元组。 注: B的属性应该是A的属性的适当子集。 A/B中的属性将是A的属性-B的属性。

如何解决GATE–SET 1的关系代数问题 如何解决GATE–SET 2的关系代数问题 SQL :与关系代数相反,SQL是一种非过程语言。

操作人员 意思
选择 从一个或一组关系中选择列。 注: 与关系代数相反,它可以为属性的重复值提供重复元组。
从…起 从…起 用于作为需要从中选择数据的关系或关系集提供输入。
哪里 哪里 用于给出用于过滤元组的条件
存在 存在 用于检查相关嵌套查询的结果是否为空(不包含元组)。
分组 分组 用于根据某些属性或一组属性对元组进行分组,例如按部门分组计算学生人数。
订购人 订购人 用于根据一列或多列按升序或降序对获取的数据进行排序。
聚合函数 查找属性的聚合值。主要与groupby连用。例如。;计数,求和,最小最大。 按部门id从学生组中选择计数(*) 注: 我们只能选择属于group by的列。
嵌套查询 当一个查询是另一个查询的一部分时。解决嵌套查询问题可以在 https://www.geeksforgeeks.org/nested-queries-in-sql/

冲突可序列化和冲突等价 :如果计划的冲突相当于串行计划,则该计划是可冲突序列化的。

检查冲突可序列化性

要检查计划是否可冲突序列化,请查找all 冲突操作对 并绘制优先图(对于所有冲突的操作对,从T开始的边 J 如果冲突对的一个操作来自T 另一个来自T J 和T的操作 发生在T之前 J 按计划)。如果图表不包含循环,则计划可冲突序列化,否则它不可冲突序列化。

如果可以通过交换非冲突操作将一个调度转换为另一个调度,则称调度为冲突等价调度。

注: 两阶段锁定协议产生冲突的可串行化调度,但可能会出现死锁。另一方面,基于时间戳的协议没有死锁,但会产生冲突可序列化的调度。

视图可序列化和视图等价 :如果所有对象都满足所有条件,则称两个附表S1和S2为视图等效:

  • 如果交易 T 在S1中,读取对象X的初始值,在S2中, T 必须读取X的初始值 .

  • 如果交易 T 在S1中,读取事务写入的值 T J 在S1中,对于对象X,同样的操作也应该在S2中进行。

  • 如果交易 T S1中是写入对象X值的最后一个事务,S2中也是, T 必须写出X的最终值。

如果计划的视图等同于任何串行计划,则该计划是视图可序列化的。

无法恢复的时间表: 对于事务对< T , T J >,如果 T J 正在读取由Ti更新的值,并且Tj在Ti提交之前提交,则计划将不可恢复。

可收回时间表: 对于事务对< T , T J >,如果 T J 正在读取由Ti更新的值,并且在提交Ti后提交Tj,则计划将可恢复。

无梯级可恢复计划: 对于事务对< T , T J >,如果Ti更新的值仅在提交后由Tj读取 T ,该时间表将无法恢复。

严格可恢复性: 对于事务对< T , T J >,如果Ti更新的值仅在提交后由Tj读取或写入 T ,该时间表将严格恢复。它们之间的关系可以表示为:

严格的 无级联可回收 可恢复的 所有时间表

文件结构

主要指标: :主索引是一个有序文件,包含两个字段的固定长度记录。第一个字段与数据文件中的主键相同,第二个字段是指向数据块的指针,其中的键可用。

使用索引的块访问的平均数= 日志 2. Bi+1 ,其中Bi=索引块的数量。 聚类指数: 聚类索引是在数据文件上创建的,其记录在非关键字段(称为聚类字段)上按物理顺序排列。 二级索引: 次要索引提供了访问已存在主要访问权限的文件的次要方法。

 Number of index entries = Number of records

B树 在每个级别上,我们都有键和数据指针,以及指向块或记录的数据指针。

B-树的性质: B树的根可以在 2. P ,其中P是树的顺序。

树序 –节点可以拥有的最大子节点数。

内部节点之间可以有子节点 ⌈ P/2⌉ P 内部节点之间可以有键 ⌈ P/2⌉ – 1. P-1

B+树 在B+树中,叶和非叶的结构是不同的,所以它们的顺序是不同的。与叶节点相比,非叶节点的顺序更高。

在B+树中搜索时间会更少,因为它在非叶中没有记录指针,因为深度会减少。

本文由Sonal Tuteja撰稿。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写评论

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享