Quản trị View trong Oracle database

Trong Oracle Database, view là một đối tượng cơ sở dữ liệu đại diện cho một truy vấn SQL đã được lưu trữ. Nó hoạt động như một bảng ảo dựa trên kết quả của truy vấn. View giúp đơn giản hóa các truy vấn phức tạp, cải thiện bảo mật bằng cách hạn chế truy cập trực tiếp vào dữ liệu nhạy cảm và cung cấp một giao diện ổn định cho dữ liệu ngay cả khi cấu trúc bảng thay đổi.

Tạo View

Bạn có thể tạo view bằng câu lệnh CREATE VIEW. Dưới đây là cú pháp cơ bản:

CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;

Ví dụ

Giả sử bạn có một bảng employees với các cột: employee_id, first_name, last_name, email, và department_id. Bạn muốn tạo một view để chỉ hiển thị thông tin nhân viên của phòng ban có department_id = 10.

CREATE VIEW department_10_employees AS
SELECT employee_id, first_name, last_name, email
FROM employees
WHERE department_id = 10;

Sử dụng View

Sau khi tạo view, bạn có thể thực hiện các truy vấn trên view như trên một bảng thông thường.

SELECT * FROM department_10_employees;

Quản trị View

Thay đổi View

Để thay đổi view, bạn có thể sử dụng lệnh CREATE OR REPLACE VIEW, nó sẽ thay thế view hiện tại bằng định nghĩa mới mà không cần phải xóa view cũ.

CREATE OR REPLACE VIEW department_10_employees AS
SELECT employee_id, first_name, last_name, email, hire_date
FROM employees
WHERE department_id = 10;

Xóa View

Để xóa view, sử dụng lệnh DROP VIEW.

DROP VIEW department_10_employees;

View Có Thể Cập Nhật

Không phải tất cả các view đều có thể cập nhật. Một view có thể cập nhật khi các điều kiện sau đây được thỏa mãn:

  • View dựa trên một bảng duy nhất.
  • View không chứa các hàm tổng hợp như SUM, AVG, COUNT, v.v.
  • View không chứa các cụm từ DISTINCT, GROUP BY, hoặc HAVING.
  • Không chứa các câu lệnh UNION hoặc UNION ALL.

Ví dụ về View Có Thể Cập Nhật

CREATE VIEW updatable_view AS
SELECT employee_id, first_name, last_name, email
FROM employees
WHERE department_id = 10;

Bạn có thể thực hiện các thao tác INSERT, UPDATE, và DELETE trên view này.

UPDATE updatable_view
SET email = 'new.email@oracle.com'
WHERE employee_id = 100;

Kiểm Soát Truy Cập với View

View có thể được sử dụng để kiểm soát truy cập đến dữ liệu nhạy cảm. Bạn có thể tạo các view chỉ hiển thị một phần dữ liệu và cấp quyền truy cập view cho người dùng cụ thể.

CREATE VIEW employee_public_view AS
SELECT employee_id, first_name, last_name
FROM employees;

Sau đó cấp quyền:

GRANT SELECT ON employee_public_view TO public_user;

View với Tùy Chọn Bảo Mật

Oracle hỗ trợ các tùy chọn bảo mật cho view như WITH READ ONLY để đảm bảo rằng dữ liệu trong view không thể bị thay đổi.

CREATE VIEW secure_view AS
SELECT employee_id, first_name, last_name
FROM employees
WHERE department_id = 10
WITH READ ONLY;

View là một công cụ mạnh mẽ trong Oracle Database giúp quản lý và bảo mật dữ liệu hiệu quả. Việc tạo và quản lý view đúng cách sẽ giúp bạn xây dựng các ứng dụng cơ sở dữ liệu an toàn, linh hoạt và dễ bảo trì.

 

Datalinks.vn

Hello các bạn, tôi là Dương Nguyễn (DuoDBA), là người đang tập tành viết lách trên blog này. Mong muốn được chia sẻ kiến thức và kinh nghiệm về cơ sở dữ liệu với những người đam mê và quan tâm đến lĩnh vực này. #Tôi có tổ chức các khoá Coaching về #OracleDatabase và luyện thi #OCP thường xuyên, các bạn cần người đồng hành thì alo tôi nhé. Call/Zalo: 0765 871 888. Thanks you !.....
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận