Hình vẽ 21.Dictionary views
Data dictionary views được phân ra làm ba loại chứa các thông tin tương tự nhau nhưng ở các mức độ khác nhau. Các loại data dictionary views này được phân biệt bởi các tiếp đầu ngữ khác nhau.
Tiếp đầu ngữ USER
Các views có tiếp đầu ngữ USER chứa thông tin về các objects do User hiện thời sở hữu. Ví dụ: USER_TABLES sẽ chứa thông tin về các bảng dữ liệu của User hiện thời.
Tiếp đầu ngữ ALL
Các views có tiếp đầu ngữ ALL chứa thông tin về các objects có thể truy cập bởi User hiện thời, bao gồm cả các đối tượng do User đó sở hữu và cả các đối tượng khác mà User được gán quyền truy nhập. Ví dụ: ALL_TABLES sẽ chứa thông tin về các bảng dữ liệu mà User hiện thời có thể truy nhập.
Tiếp đầu ngữ DBA
Các views có tiếp đầu ngữ DBA chứa thông tin về các objects có trong database. Các views này là cần thiết cho quản trị viên database. Một User bất kỳ cũng có thể xem được thông tin trong các views DBA nếu user đó được cấp quyền SELECT ANY TABLE.
Phân loại một số loại views
Tên View Diễn giải
DICTIONARY DICT_COLUMNS
Thông tin chung DBA_TABLES
DBA_OBJECTS DBA_LOBS
DBA_TAB_COLUMNS DBA_CONSTRAINTS
Thông tin liên quan tới các đối tượng của User như: table, Column, Constraint,...
DBA_USERS DBA_SYS_PRIVS DBA_ROLES
Thông tin về mức quyền của User
Tên View Diễn giải
DBA_EXTENTS DBA_FREE_SPACE DBA_SEGMENTS
Tình hình cấp phát không gian cho các đối tượng trong database.
DBA_ROLLBACK_SEGS DBA_DATA_FILES DBA_TABLESPACES
Thông tin về cấu trúc database
DBA_AUDIT_TRAIL DBA_AUDIT_OBJECTS DBA_AUDIT_OBJ_OPTS
Các thông tin kiểm tra
Ví dụ: Để lấy các thông tin chung trong từ điển dữ liệu, ta có thể truy vấn trong Các views DICTIONARY hoặc DICT_COLUMNS.
SVRMGR>SELECT * 2> FROM dictionary
3> WHERE table_name LIKE ’%TABLE%’;
TABLE_NAME COMMENTS
--- --- ALL_ALL_TABLES Description of all object and relational
tables accessible to the user
ALL_NESTED_TABLES Description of nested tables in tables accessible to the user
ALL_OBJECT_TABLES Description of all object tables accessible to the user
ALL_PART_TABLES
ALL_TABLES Description of relational tables accessible to the user
ALL_UPDATABLE_COLUMNS Descriptionofallupdatablecolumns
DBA_ALL_TABLES Description of all object and relational tables in the database
DBA_NESTED_TABLES Description of nested tables contained in all tables
DBA_OBJECT_TABLES Description of all object tables in the database
...
Xây dựng dictionary views
Sau khi tạo database, ta truy cập vào database theo user: SYS và chạy các scripts: catalog.sql và catprog.sql để tạo các dictionary views. Thông thường, các scripts này nằm trong thư mục: %ORACLE_HOME%\RDBMS80\ADMIN
Catalog.sql
CATALOG.SQL script dùng để tạo các view dựa trên các base tables (bảng cơ sở) của database. Các view này sẽ được tạo synonym (một tên khác với tên của objects được dùng để truy cập objects) tương ứng để dễ dàng truy vấn các dữ liệu từ đó hơn. Scripts này còn gọi tới các scripts khác để tạo các views và các đối tượng khác phục vụ cho các tiện ích Server Manager, cho việc kiểm tra, cho các tiện ích Export và Import dữ liệu,... Scripts STANDARD.SQL được gọi đến trong đó để tạo các môi trường PL/SQL tuân theo chuẩn.
Ví dụ: Scripts tạo mẫu giao tiếp cho 01 hàm built-in có tên BITAND:
function BITAND (LEFT binary_integer, RIGHT binary_integer) return binary_integer;
Catproc.sql
CATPROC.SQL script dùng để tạo các hàm PL/SQL, các packages PL/SQL sử dụng trong RDBMS. Ngoài ra, CATPROC.SQL script còn tạo Các views mở rộng khác.