### Oracle复习知识点详解 #### CASE WHEN 语句的使用 CASE WHEN 语句在SQL中提供了类似编程语言中if-then-else的逻辑处理能力,允许在查询中根据不同的条件返回不同的结果,无需跳转至复杂的PL/SQL环境。CASE语句与ANSI SQL标准兼容,因此具有更广泛的适用性和可移植性。 **CASE表达式的类型** 1. **简单CASE表达式** - 使用`search_expression`来确定返回值。 - 语法:`CASE search_expression WHEN expression1 THEN result1 WHEN expression2 THEN result2 ... WHEN expressionN THEN resultN ELSE default_result END` - 示例:查询产品类型并返回对应的描述。 ```sql SELECT product_id, product_type_id, CASE product_type_id WHEN 1 THEN 'Book' WHEN 2 THEN 'Video' WHEN 3 THEN 'DVD' WHEN 4 THEN 'CD' ELSE 'Magazine' END FROM products; ``` 2. **搜索CASE表达式** - 使用多个条件来确定返回值。 - 语法:`CASE WHEN condition1 THEN result1 WHEN condistion2 THEN result2 ... WHEN condistionN THEN resultN ELSE default_result END` - 上述示例同样适用于搜索CASE表达式,只是使用条件而非表达式比较。 #### 冷备份与热备份的区别 - **热备份**:适用于归档模式下的数据库,在数据库运行状态下进行备份。优点是可以将数据库恢复到任意时间点,同时数据库服务不受中断。 - **冷备份**:要求数据库处于关闭状态进行备份,适用于所有数据库模式。优点是备份和恢复过程简单,且数据库可以工作在非归档模式下,理论上性能略高。 #### 恢复数据库时缺少控制文件的解决方案 - 当控制文件丢失时,可以尝试重建控制文件。使用带有`backup controlfile`子句的`recover`命令来恢复数据库。 #### 将`init.ora`文件转换为`spfile` - 可以通过`create spfile from pfile`命令实现`init.ora`到`spfile`的转换。 #### 数据块、区段、段的概念 - **Data Block**:数据库中最小的逻辑存储单位。 - **Extent**:当数据库对象需要更多物理存储空间时,连续的数据块组成一个区段(extent)。 - **Segment**:一个数据库对象所拥有的所有区段(extents)的集合。 #### 检查表结构的方法 1. 使用`DESCRIBE`命令。 2. 调用`DBMS_METADATA.GET_DDL`包。 #### 查看数据库引擎错误日志 - 通过查看`alert log`文件获取数据库引擎的错误信息。 #### TRUNCATE与DELETE命令的区别 - **TRUNCATE**:DDL操作,移动HWK(High Water Mark),不需要回滚段(rollback segment)。 - **DELETE**:DML操作,需要回滚段,执行时间较长。 #### 使用索引的原因 - 加速对数据库表中数据块的访问速度。 #### 星型模式中的表及其数据 - **Fact Tables**:包含大量主要业务数据。 - **Dimension Tables**:存储描述Fact Tables属性的元数据信息。 #### FACT Table上的索引类型 - 对于FACT Table,通常建议使用**位图索引**(Bitmap Index)。 #### 相关约束类型 - **Primary Key**:主键约束,确保列或列组合的唯一性。 - **Foreign Key**:外键约束,维护表之间的关系。 #### 重建母表而不影响子表 - 在不影响子表的情况下重建母表,可以通过暂时解除子表对外键的依赖,完成母表的重建后重新启用外键约束来实现。这通常涉及修改子表的外键约束设置,使其在重建期间失效,重建完成后恢复其有效性。具体操作可能包括: - 使用`ALTER TABLE child_table DISABLE CONSTRAINT foreign_key_constraint`; - 完成母表的重建。 - 使用`ALTER TABLE child_table ENABLE CONSTRAINT foreign_key_constraint`恢复子表的外键约束。 以上知识点覆盖了Oracle数据库管理与查询的一些关键概念和技术,对于深入理解和运用Oracle数据库系统具有重要意义。
剩余7页未读,继续阅读
- 粉丝: 1359
- 资源: 54
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助