DATA DICTIONARY VÀ VIEWS

Một phần của tài liệu KIẾN TRÚC và QUẢN TRỊ cơ sở dữ LIỆU ORACLE (Trang 61 - 65)

CHƯƠNG 6. DATA DICTIONARY, VIEWS VÀ PACKAGES

6.1. DATA DICTIONARY VÀ VIEWS

6.1.1. Data Dictionary

Data dictionary hay từ ủiển dữ liệu hệ thống là phần rất quan trọng trong Oracle database.

đó là một tập hợp các table và các view sử dụng cho việc tham chiếu ựến các thông tin liên quan tới database. Data dictionary ủược tạo bởi file script sql.bsq trong quỏ trỡnh tạo database.

Data dictionary bao gồm các thông tin trung tâm của Oracle server.

Data dictionary ủược Oracle server tự ủộng cập nhật mỗi khi thực hiện lệnh ủịnh nghĩa dữ liệu (Data Definition Language – DDL).

Data dictionary ủặt trong tablespace SYSTEM do User SYS quản lý. Data dictionary bao gồm hai loại sau:

Base tabes

Data dictionary Views

Hình vẽ 20. Dictionarytrong database

Base tables

Thụng tin trong data dictionary ủược xỏc ủịnh từ cỏc thụng tin cú trong cỏc base tables (bảng cơ sở). Nội dung của các bảng này do Oracle server cập nhật. User thuộc database hầu như khụng thể cập nhật cỏc thụng tin này do chỳng là cỏc thụng tin ủó ủược chuẩn hoỏ và ủược mó hoỏ. Vớ dụ: ta chỉ cú thể truy xuất tới cỏc thụng tin cú trong bảng IND$ ủể biết ủược cỏc thụng tin về cỏc indexes ủó ủược ủịnh nghĩa trong database, hoặc lấy cỏc thụng tin trong bảng OBJ$ ủể biết ủược cỏc objects ủó ủược ủịnh nghĩa trong database.

Ta khụng thể sử dụng cỏc cõu lệnh thao tỏc dữ liệu như INSERT, UPDATE, hay DELETE ủể thay ủổi nội dung thụng tin trong cỏc bảng cơ sở một cỏch trực tiếp ngoại trừ bảng AUD$

(Xem thêm phần kiểm tra - Auditing).

Data Dictionary Views

Data dictionary views ủược tạo ra bởi cỏc cõu lệnh cú trong file script catalog.sql. Cỏc views này giải mã và tổng hợp các thông tin có trong các base tables. ðể dễ dàng truy xuất các thụng tin này, cỏc data dictionary thường ủược tạo cỏc synonyms tương ứng.

Phần lớn cỏc thụng tin hệ thống ủược User lấy về từ cỏc data dictionary views hơn là lấy trực tiếp từ các base tables.

6.1.2. Data Dictionary views

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.

6.1.3. Sripts qun tr

Cỏc scripts quản trị ủược ủặt trong thư mục: %ORACLE_HOME%\RDBMS80\ADMIN Cỏc scripts này ủược phõn nhúm và ủặt trong từng file riờng biệt.

Cỏc quy ủịnh về tờn cú trong Script quản trị

Quy ước Diễn giải

Cat*.sql Cỏc thụng tin Catalog và từ ủiển dữ liệu

Dbms*.sql Phần khai báo (specification) của các packages trong database

Prvt*.plb Phần thõn cua packages ủó ủược mó hoỏ và ủúng gúi Utl*.sql Các views và table tiện ích trong database

Một phần của tài liệu KIẾN TRÚC và QUẢN TRỊ cơ sở dữ LIỆU ORACLE (Trang 61 - 65)

Tải bản đầy đủ (PDF)

(266 trang)