数据库系统目录与 SQL 语言的局限性
1. 系统目录概述
系统目录是数据库系统中至关重要的数据库对象,它为其他数据库对象提供了便利和支持,通常包含有关数据库的元数据。例如,Oracle 系统目录包含了各种数据库对象的系统表,如表空间、数据文件、表、视图、表列、约束、索引、用户、角色、权限等。不过,Oracle 不允许直接访问其目录表,而是提供了以 DBA、ALL、USER 和 GC$ 为前缀的视图。
1.1 常用目录表与视图
有多个目录表由数据库系统以对用户透明的方式进行管理。以下是一些常用的 Oracle 目录视图:
- User_Tables
- User_Tab_Columns
- User_Indexes
实际上,Oracle 目录包含了大量的目录视图。研究这些视图可以让你在管理数据库时更好地了解它们的用途。
1.2 查询系统目录
可以使用 SQL Select 语句像查询任何创建的关系表一样查询系统目录,这体现了关系数据库管理系统(DBMS)的强大特性,也证明了 Date 的零规则的有效性。以下是一些查询示例:
- 示例 1 :查询表 Student 有哪些列。
- 示例 2 :查询哪些关系包含属性 Pgm#。
- 示例 3 :查询哪些关系包含类型为 CHAR(7) 的属性。
- 示例 4 :如果关注的表以 ‘CMP’ 为前缀,以下语句将列出这些表。
-
超级会员免费看
订阅专栏 解锁全文

509

被折叠的 条评论
为什么被折叠?



