根据给定的文件信息,我们可以总结出一系列与Oracle数据库相关的知识点:
### 1. 序列(Sequence)
- **概念**:序列为Oracle提供了一种用于生成一系列唯一数字的数据库对象。
- **特点**:
- 序列本身不占用实际的存储空间。
- 使用序列时涉及到两个伪列`NEXTVAL`与`CURRVAL`:
- `NEXTVAL`返回序列生成的下一个值;
- `CURRVAL`返回序列的当前值。
- **注意**:`CURRVAL`只能在调用了`NEXTVAL`之后才能使用。
### 2. 判断列值是否为空
- **操作符**:`IS NULL`用于判断列值是否为空。
- **其他选项**:`==NULL`, `NULLIS`, `ASNULL`这些选项在Oracle中不存在或意义不同。
### 3. Oracle实例的组成部分
- **系统全局区SGA**:是Oracle实例的重要组成部分之一,用于缓存数据、共享数据等。
- **PMON后台进程**:负责监控Oracle实例的进程状态,并在进程出现问题时重启它们。
- **控制文件**:不属于Oracle实例的一部分,而是数据库的一部分,它包含了数据库的关键信息。
- **Dnnn调度进程**:属于Oracle实例的组成部分,用于管理和调度各种数据库任务。
### 4. 使用传统导出工具EXP
- **选项说明**:
- TABLES:导出指定的表。
- SCHEMA:导出指定用户的全部对象。
- OWNER:同SCHEMA,导出指定用户的全部对象。
- FULL=Y:导出整个数据库。
- **结论**:为了导出SCOTT用户的所有对象,应选择SCHEMA。
### 5. 用户拥有的所有数据库对象统称为
- **模式**:指的是一个用户拥有的所有数据库对象的集合,包括表、视图、存储过程等。
### 6. HAVING子句的使用
- **功能**:HAVING子句用于对GROUP BY后的分组结果进行条件筛选。
- **区别**:与WHERE子句不同,WHERE子句用于过滤表中的行,而HAVING子句是在GROUP BY之后对结果集进一步筛选。
### 7. 函数头部中的RETURN语句的作用
- **作用**:声明返回的数据类型。
### 8. 字符串数据的存储长度
- **CHAR与VARCHAR2的区别**:CHAR类型的字段会分配固定长度的空间来存储数据,即使实际数据长度小于定义长度也会填充空格至定义长度。VARCHAR2则按实际数据长度分配空间。
- **结论**:当字符串"test"存入CHAR(10)时,实际存储长度为10;存入VARCHAR2(10)时,实际存储长度为4。
### 9. 触发器的激活条件
- **条件**:触发器通常在执行INSERT、UPDATE、DELETE操作时被激活,而SELECT操作不会触发触发器。
### 10. 函数调用示例
- **成功调用**:`Sum:=Calc_Sum(23,12)`是一个正确的函数调用示例,因为它正确传递了两个参数并接收了返回值。
### 11. DELETE语句的功能
- **功能**:`DELETE FROM S WHERE 年龄 > 60` 这条语句的功能是为S表中年龄大于60岁的记录添加删除标记,而不是立即物理删除这些记录。
### 12. GROUP BY子句的作用
- **作用**:GROUP BY子句用于对查询结果进行分组。
### 13. 复合索引
- **定义**:复合索引是指在一个索引中包含了多个列的索引。
### 14. 事务终止语句
- **结束事务**:尽管题目没有给出具体的答案选项,但常见的事务终止语句通常是COMMIT或者ROLLBACK。
### 填空题解析
- **表空间**:是Oracle中可以使用的最大的逻辑存储结构。
- **块**:是最小的I/O单元。
- **异常处理部分**:PL/SQL程序块的一个重要组成部分。
- **%ROWCOUNT**:用于查询通过游标操作所影响的行数。
- **角色**:是一组相关权限的组合。
- **日志文件**、**控制文件**:Oracle数据库系统的物理存储结构组成部分。
- **查看表结构**:使用DESC命令查看表的结构。
- **自定义异常**:必须使用RAISE语句显式触发。
- **回滚段**:Oracle 10g版本以前的撤销信息管理方式。
- **自动UNDO管理**:Oracle 10g以后的撤销信息管理方式。
- **系统权限与对象权限**:分别是系统级和对象级的访问控制机制。
- **创建公共同义词**:使用CREATE [PUBLIC] SYNONYM命令。
### 简答题解析
- **表空间与数据文件的关系**:每个数据文件隶属于一个表空间,但一个表空间可以包含多个数据文件。
- **替代触发器的作用**:INSTEAD OF触发器允许在视图或同义词上定义触发器,而不是直接在底层表上定义。当触发事件发生时,执行INSTEAD OF触发器体内的代码,而不是默认的行为。
通过以上分析,我们不仅了解了Oracle数据库的基本概念和操作,还深入探讨了一些特定的功能和技术细节。这些知识点对于理解Oracle数据库的核心原理及其实际应用都非常重要。