参见所有主题的最后一分钟笔记 在这里 .
我们将以总结的形式讨论门考试的重要要点。详情请参阅 这 .
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撰稿。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写评论