oracle - 需要简单的定义来跟随
问题描述
我正在寻找单行定义来理解下面的概念或术语。我参考了很多网站,甚至是 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
解决方案
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 的更多信息,请参阅此文档。
干杯!!
推荐阅读
- c# - 我可以选择 Unity 使用哪个构造函数吗?
- reactjs - ReactJS如何在单击数组中的一个组件时“重置状态”映射的组件数组
- python - ValueError:目标和输入必须具有相同数量的元素。目标 nelement (50) != 输入 nelement (100)
- reactjs - 在 redux-thunk 中发送注册成功操作后如何执行 history.push 到另一个页面
- html - 如何防止用户访问内网嵌入的视频文件?
- c - 分配链表并在 c 中为其分配值时出现分段错误
- r - 如何解析 { ; 并提取第一个位置的数字?
- java - 如何在后台查看 Cloudfundy Java 客户端发送的请求和响应(Api Mocking)
- apache-spark - 无法使用火花结构化流计算文档
- vba - 我正在尝试查找表中是否已存在记录