Trong hệ quản trị cơ sở dữ liệu Oracle, Static Data Dictionary Views là một tập hợp các view dữ liệu cung cấp thông tin tĩnh về cơ sở dữ liệu và các đối tượng trong cơ sở dữ liệu.
Chúng là một phần của “Data Dictionary,” còn được gọi là “metadata,” và chứa thông tin về cấu trúc của cơ sở dữ liệu, các đối tượng như bảng, chỉ mục, khóa ngoại, giao dịch, quyền truy cập, và nhiều thông tin khác.
Static Data Dictionary Views thường được sử dụng để tra cứu thông tin về cơ sở dữ liệu, đảm bảo tính toàn vẹn và bảo mật dữ liệu, và theo dõi các đối tượng và thực thể trong hệ thống cơ sở dữ liệu. Chúng cung cấp cái nhìn tĩnh về cơ sở dữ liệu, không thay đổi khi dữ liệu thay đổi.
1. Mục đích của static data dictionary views
Trong Oracle, “Data dictionary tables” (bảng từ điển dữ liệu) chứa thông tin về cơ sở dữ liệu và các đối tượng bên trong nó, như các bảng, view, trigger, user, quyền và nhiều thông tin khác.
Tuy nhiên, các bảng từ điển dữ liệu này không thể truy cập trực tiếp bởi người dùng bình thường và chỉ được quản trị bởi hệ thống quản trị cơ sở dữ liệu Oracle.
Để truy cập thông tin từ các bảng này, Oracle cung cấp các “Data dictionary views” (view từ điển dữ liệu), mà bạn có thể truy vấn để xem thông tin từ các bảng từ điển dữ liệu một cách an toàn và tiện lợi.
Các view này cung cấp một cách thức để truy cập dữ liệu từ các bảng từ điển dữ liệu mà không đòi hỏi người dùng phải có quyền truy cập trực tiếp đến các bảng này.
Các view từ điển dữ liệu cho phép người dùng thực hiện các truy vấn để lấy thông tin về cơ sở dữ liệu và các đối tượng bên trong nó.
Data dictionary views được chia thành hai loại chính:
- Static Data Dictionary Views: Đây là một tập hợp các view từ điển dữ liệu chứa thông tin về cơ sở dữ liệu và các đối tượng bên trong nó. Chúng thường được tạo ra khi cơ sở dữ liệu Oracle được cài đặt và không thay đổi trong quá trình hoạt động của cơ sở dữ liệu. Static Data Dictionary Views thường bắt đầu bằng tiền tố “DBA_” hoặc “ALL_” hoặc “USER_” tùy theo mức độ quyền truy cập.
- Dynamic Performance Views (V$): Đây là các view từ điển dữ liệu chứa thông tin về hiệu suất và hoạt động của cơ sở dữ liệu Oracle. Chúng cho phép bạn theo dõi hoạt động thời gian thực của cơ sở dữ liệu. Dynamic Performance Views thường bắt đầu bằng tiền tố “V$”.
2. Quyền truy cập tới Static Data Dictionary Views
Dưới đây là thông tin về quyền truy cập tới các Data Dictionary Views với ALL_, DBA_, và USER_ views, cũng như sự khác biệt giữa chúng:
ALL_ Views: ALL_ views cho phép tất cả người dùng truy cập, bao gồm cả người dùng hiện tại và có thể truy cập tất cả thông tin có sẵn cho người dùng hiện tại.
Điều này bao gồm thông tin từ schema của người dùng hiện tại và các đối tượng từ các schema khác mà người dùng hiện tại có quyền truy cập thông qua các quyền hoặc vai trò được cấp.
![Static data dictionary views oracle](http://kienthuctoantap.com/wp-content/uploads/2023/11/Static-data-dictionary-views-oracle.png)
DBA_ Views: DBA_ views chỉ dành cho các quản trị viên (administrators). Chúng chỉ có thể được truy vấn bởi người dùng có quyền SYSDBA system privilege, SELECT ANY DICTIONARY privilege, hoặc SELECT_CATALOG_ROLE role, hoặc các người dùng có quyền trực tiếp được cấp. Quyền SELECT ANY DICTIONARY được gán cho vai trò DBA khi hệ thống được cài đặt ban đầu.
USER_ Views: USER_ views cho phép người dùng hiện tại truy cập tất cả thông tin từ schema của họ. Không cần phải có các quyền đặc biệt để truy vấn các views này. Chúng hiển thị thông tin từ schema của người dùng hiện tại.
Sự khác biệt chính giữa chúng đó là mức độ quyền truy cập và phạm vi thông tin mà chúng hiển thị:
- ALL_ Views hiển thị thông tin cho người dùng hiện tại và có thể bao gồm thông tin từ schema của người dùng và các schema khác mà họ có quyền truy cập.
- DBA_ Views chỉ dành cho quản trị viên và hiển thị tất cả thông tin liên quan đến cơ sở dữ liệu.
- USER_ Views hiển thị thông tin chỉ từ schema của người dùng hiện tại.