首页 > 解决方案 > 需要简单的定义来跟随

问题描述

我正在寻找单行定义来理解下面的概念或术语。我参考了很多网站,甚至是 oracle.docs。但是无法理解这些概念和实时场景的地图……请帮助我理解。

提前致谢。

    1)Normalization and its forms
    2)Table level locking and how to resolve it
    3)Dead locking and how to resolve it
    4)Cube and Rollup
    5)Table partition 

标签: oracleplsql

解决方案


1) 规范化及其形式

规范化是一种数据库设计技术,它以减少数据冗余和依赖性的方式组织表。它将较大的表划分为较小的表,并使用关系将它们链接起来。

有几种类型的归一化形式:

  • 1NF(第一范式)
  • 2NF(第二范式)
  • 3NF(第三范式)
  • Boyce-Codd 范式 (BCNF)
  • 4NF(第四范式)
  • 5NF(第五范式)

有关规范化的更多信息,请参阅此文档

2)表级锁定以及如何解决它

根据 Oracle 文档,当使用以下语句修改表时,事务会自动获取表锁(TM 锁):INSERT、UPDATE、DELETE、MERGE 和 SELECT ... FOR UPDATE。这些 DML 操作需要表锁来代表事务保留对表的 DML 访问,并防止与事务冲突的 DDL 操作。

有关表级锁定的更多信息,请参阅此文档

3)死锁以及如何解决它

当两个或多个会话正在等待彼此锁定的数据时,就会发生死锁,从而导致所有会话被阻塞。Oracle 通过回滚与检测死锁的事务关联的语句来自动检测和解决死锁。

有关死锁的更多信息,请参阅此文档

4) 多维数据集和汇总

卷起 :

除了我们期望 GROUP BY 子句的常规聚合结果之外,ROLLUP 扩展还产生从右到左的组小计和总计。

立方体:

除了 ROLLUP 扩展生成的小计之外,CUBE 扩展还将为指定维度的所有组合生成小计。

有关 ROLLUP 和 CUBE 的更多信息,请参阅此文档

5)表分区

分区允许将表、索引或索引组织的表细分为更小的块,其中每个这样的数据库对象都称为一个分区。每个分区都有自己的名称,并且可以选择拥有自己的存储特性。

有几种类型的分区: - 范围分区表 - 哈希分区表 - 复合分区表

有关 ROLLUP 和 CUBE 的更多信息,请参阅此文档

干杯!!


推荐阅读