Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách tạo chế độ xem trong oracle

Trong bài đăng này, tôi sẽ nói về các khung nhìn Oracle được sử dụng khá nhiều trong các ứng dụng khác nhau vì lý do bảo mật và phức tạp. thay đổi chế độ xem trong oracle, Cách biên dịch chế độ xem trong oracle, Cách thả chế độ xem trong oracle, buộc chế độ xem trong oracle, Cách kiểm tra định nghĩa chế độ xem trong oracle. Bạn sẽ biết tại sao Oracle View lại quan trọng và tất cả những gì có thể làm được với nó .

Công cụ tương tự này cũng gần như hợp lệ cho chế độ xem sql

Chế độ xem Oracle là gì?

-Một khung nhìn Oracle là một biểu diễn dữ liệu từ một hoặc nhiều bảng hoặc khung nhìn tiên tri.

-Một dạng xem Oracle là một truy vấn SQL được đặt tên và xác thực được lưu trữ trong từ điển dữ liệu Oracle.

- Các khung nhìn không chứa bất kỳ dữ liệu nào - nó chỉ là một truy vấn được lưu trữ trong cơ sở dữ liệu có thể được thực thi khi được gọi. Tất cả dữ liệu mà nó hiển thị đến từ các bảng cơ sở. Người ta có thể coi chế độ xem như một bảng ảo hoặc ánh xạ dữ liệu từ một hoặc nhiều

-Một dạng xem không chiếm dung lượng lưu trữ ngoài định nghĩa của dạng xem trong từ điển dữ liệu.

  • Một chế độ xem có thể được sử dụng để đại diện cho một tập hợp con dữ liệu (cho các vấn đề bảo mật), được sử dụng để đại diện cho một tập siêu dữ liệu (nối nhiều bảng thành một chế độ xem), để ẩn các phép nối phức tạp, để cung cấp tên có ý nghĩa cho các cột và giảm thiểu các thay đổi của ứng dụng và nguồn dữ liệu.

-Các bảng được tham chiếu được gọi là bảng cơ sở .

  • Để tạo chế độ xem, hãy sử dụng lệnh TẠO CHẾ ĐỘ XEM, theo sau là truy vấn SQL.

Ví dụ về tạo chế độ xem của Oracle

CREATE VIEW view_name AS
SELECT columns
FROM tables
[WHERE conditions];

-Bạn có thể chỉ định tên cột bằng cách sử dụng

 CREATE VIEW (col1, col2…) AS SELECT COL1, COL2… FROM …;

-Tạo chế độ xem bằng CREATE FORCE VIEW sẽ tạo chế độ xem có lỗi biên dịch.

-Bạn có thể tạo chế độ xem chỉ đọc bằng mệnh đề CHỈ CÓ ĐỌC.

-Oracle 9i cho phép tạo các ràng buộc trên các khung nhìn.

-Các ràng buộc trên các khung nhìn không được thực thi, chúng là các ràng buộc khai báo. Để thực thi các ràng buộc, bạn phải tạo các ràng buộc trên các bảng cơ sở. Bạn phải luôn bao gồm mệnh đề DISABLE NOVALIDATE khi tạo các ràng buộc đối với chế độ xem.

Các đặc quyền Bắt buộc để tạo chế độ xem oracle

Để tạo chế độ xem trong lược đồ của riêng bạn, bạn phải có đặc quyền hệ thống TẠO CHẾ ĐỘ XEM. Để tạo chế độ xem trong giản đồ của người dùng khác, bạn phải có đặc quyền hệ thống TẠO BẤT KỲ CHẾ ĐỘ XEM.

Ví dụ về tạo Chế độ xem Oracle

View Creation
Create view emp_data  as select e.empno,e.ename,e.sal,e.deptno,d.dname
From emp e, dept d
where e.deptno=d.deptno;

Create view emp_high_sal  as select empno,ename,sal
From emp  where sal > 100000;
Describe the views
Desc Emp_data
Desc emp_high_sal
Select the data from view
Select * from emp_data;
select * from emp_high_sal

Cách sửa đổi Chế độ xem Oracle / cách thay đổi chế độ xem trong oracle

Chúng ta có thể sửa đổi các dạng xem bằng lệnh tạo hoặc thay thế dạng xem. Điều này cho phép thay đổi chế độ xem mà không bỏ, tạo lại và cấp lại đặc quyền đối tượng. Không có lệnh nào như thay đổi chế độ xem thêm cột hoặc chế độ xem thay đổi sửa đổi cột. Chúng ta cần thực hiện phương pháp tạo hoặc thay thế chế độ xem

Create or replace view emp_high_sal  as select empno,ename,sal
From emp  where sal > 200000;

Lệnh này tạo chế độ xem nếu nó không tồn tại và sửa đổi chế độ xem nếu nó tồn tại. Tất cả các đơn vị plsql đang truy cập chế độ xem sẽ trở nên không hợp lệ sau khi sửa đổi chế độ xem

Cách biên dịch chế độ xem trong oracle

Việc biên dịch lại một dạng xem được thực hiện bằng cách sử dụng

ALTER XEM COMPILE;

Alter view  emp_high_sal  compile;

Cách giảm chế độ xem trong oracle

Bỏ chế độ xem được thực hiện bằng lệnh DROP VIEW.

Bỏ chế độ xem không ảnh hưởng đến các bảng cơ sở mà chế độ xem dựa trên đó. Người dùng đang truy cập dữ liệu của các bảng cơ sở bằng cách sử dụng chế độ xem sẽ không thể truy cập vào dữ liệu của các bảng cơ sở nữa.

DROP VIEW view_name;

Drop view  emp_high_sal  ;

Tạo Force xem Oracle Views / force view trong oracle

Chế độ xem có thể được tạo ngay cả khi không thể thực hiện truy vấn xác định chế độ xem bằng lệnh CREATE FORCE VIEW. Chế độ xem như vậy được gọi là chế độ xem có lỗi . Tùy chọn này có thể hữu ích cho các công cụ nhập / cài đặt để tạo chế độ xem trước khi các đối tượng bên dưới có mặt.

Hãy lấy một ví dụ để hiểu nó. Chúng tôi không có một bảng như TEST. Nhưng chúng ta vẫn có thể tạo khung nhìn trên đó trước khi tạo bảng bằng Force Option. Chế độ xem sẽ được tạo với lỗi biên dịch và sẽ không hợp lệ

Create  force view TEST_V  as select col1,col2,col3 From test where col1 > 1000;

Bây giờ hãy tạo bảng

create table TEST ( col1 number, col2 number, col3 number);

Bây giờ bạn có thể biên dịch chế độ xem và nó sẽ trở nên hợp lệ

alter view TEST_V compile;

Điều gì xảy ra với chế độ xem nếu bảng cơ sở bị loại bỏ?

Nếu các bảng bên dưới bị loại bỏ, thì oracle không tự động loại bỏ chế độ xem. Nó vẫn còn trong cơ sở dữ liệu và nó sẽ ở trạng thái không hợp lệ. Nếu các bảng bên dưới được tạo lại, chúng sẽ hợp lệ trở lại

Chế độ xem Từ điển để xem dữ liệu Chế độ xem Oracle

Xem chi tiết có thể được truy vấn từ từ điển bằng cách truy vấn USER_VIEWS, ALL_VIEWS hoặc DBA_VIEWS. Chế độ xem hữu ích cho việc bảo mật và ẩn thông tin nhưng có thể gây ra sự cố nếu được lồng quá sâu. Một số lợi ích của việc sử dụng các khung nhìn:

  • Giảm độ phức tạp của các câu lệnh SQL
  • Chỉ chia sẻ các hàng cụ thể trong bảng với những người dùng khác
  • Ẩn TÊN và CHỦ SỞ HỮU của bảng cơ sở
  • Có ba loại chế độ xem
USER_% Chế độ xem này chỉ chứa thông tin về các đối tượng do người dùng sở hữu. Ví dụ
USER_TABLES, USER_TAB_COLS
ALL-% Dạng xem này chứa thông tin về các đối tượng mà người dùng có thể truy cập trong cơ sở dữ liệu.
Ví dụ
ALL_TABLES, ALL_TAB_COLS
DBA_% Dạng xem này chứa thông tin về tất cả các đối tượng trong hệ thống và đây là các dạng xem bị hạn chế mà người dùng có vai trò DBA có thể truy cập
Ví dụ
DBA_TABLES
DBA_% lượt xem về thông tin xem ALL_% lượt xem về thông tin xem USER_% lượt xem về chế độ xem thông tin
Cột có thể được cập nhật DBA_UPDATABLE_COLUMNS ALL_UPDATABLE_COLUMNS USER_UPDATABLE_COLUMNS
Xem thông tin về chế độ xem dba_views all_views user_views

Liệt kê tất cả các dạng xem trong Oracle

To list all views owned by the current user
select  view_name from user_views;

To list all views in a database:

Select  owner,view_name from dba_views;

To list views accessible to the current user:

select view_name from all_views;

To describe the view in sqlplus
desc <view_name>

Cách kiểm tra định nghĩa chế độ xem trong oracle

Truy vấn cột TEXT của bảng DBA_VIEWS.

Syntax:
SQL> set long 10000

SQL> select TEXT
2  FROM DBA_VIEWS
3  where OWNER = '<owner_name>'
4  and VIEW_NAME  = '<view_name>';

Cách trích xuất định nghĩa dạng xem (câu lệnh DDL) từ cơ sở dữ liệu Oracle mà không cần phải chuyển qua một chồng dạng xem từ điển

Syntax:
SQL> set long 1000
SQL> set pagesize 0
SQL>select DBMS_METADATA.GET_DDL('VIEW','<view_name>') from DUAL

Hy vọng bạn thích một bài viết chi tiết về chế độ xem Oracle. Tôi đã cố gắng trả lời các câu hỏi phổ biến về chế độ xem như Cách tạo chế độ xem trong oracle, ví dụ tạo chế độ xem trong Oracle, cách thay đổi chế độ xem trong oracle, Cách biên dịch chế độ xem trong oracle, Cách thả chế độ xem trong oracle, buộc chế độ xem trong oracle , Cách kiểm tra định nghĩa chế độ xem trong oracle

Các bài viết có liên quan để đọc
oracle tạo bảng:Bảng là đơn vị lưu trữ dữ liệu cơ bản trong Cơ sở dữ liệu Oracle. chúng tôi đề cập đến cách sử dụng lệnh tạo bảng của Oracle để tạo bảng có khóa ngoại / khóa chính
bảng bên ngoài trong Oracle:Hãy xem bài đăng này để biết thông tin về cách sử dụng bảng bên ngoài trong oracle với một ví dụ, cách tạo một bảng bên ngoài, cách sử dụng nó
Chuỗi trong oracle:Chuỗi trong oracle là gì, Mô tả tất cả các tùy chọn, Cách tạo chúng, Tính năng mới của Oracle 12c về chuỗi, Cách thả và thay đổi chúng
Chỉ mục trong oracle:Kiểm tra thông tin chỉ mục của Oracle, các loại chỉ mục khác nhau trong oracle với một ví dụ, cách tạo / thả / thay đổi chỉ mục trong oracle
Oracle Materialized Views:Oracle materialized view, Oracle Materialized View Log, Làm mới nhóm, Sự khác biệt giữa chế độ xem và chế độ xem cụ thể hóa
Cách theo dõi tiến trình làm mới của chế độ xem Vật chất hóa
bảng thay đổi oracle sửa đổi loại cột:Xem bài đăng này về cách sửa đổi cột trong oracle bằng cách sử dụng bảng thay đổi oracle sửa đổi cột. Cột sửa đổi có thể thay đổi giá trị mặc định, không cho phép null
cập nhật chế độ xem trong Oracle:xem bài đăng này để cập nhật chế độ xem trong Oracle, chèn vào chế độ xem oracle, xóa khỏi chế độ xem trong cơ sở dữ liệu Oracle

Các khóa học được đề xuất

Đây là Khóa học Udemy hay dành cho Oracle SQL
Oracle-Sql-Step-by-step:Khóa học này bao gồm sql cơ bản, các phép nối, Tạo Bảng và sửa đổi cấu trúc của nó, Tạo Dạng xem, Liên minh, Liên hợp-tất cả và nhiều thứ khác . Một khóa học tuyệt vời và phải có cho người mới bắt đầu sử dụng SQL
Khóa học chứng chỉ SQL Oracle hoàn chỉnh :Đây là một khóa học tốt cho bất kỳ ai muốn sẵn sàng tìm việc cho các kỹ năng của nhà phát triển SQL. Một khóa học được giải thích thú vị
Oracle SQL Developer:Cơ bản, Mẹo và Thủ thuật :Công cụ dành cho nhà phát triển Oracle Sql đang được nhiều nhà phát triển sử dụng. Khóa học này cung cấp cho chúng ta các thủ thuật và bài học về cách sử dụng nó một cách hiệu quả và trở thành một nhà phát triển sql hiệu quả
Oracle SQL Performance Tuning Masterclass 2020 :Điều chỉnh hiệu suất là một trong những kỹ năng quan trọng và được tìm kiếm nhiều nhất. Đây là một khóa học tốt để tìm hiểu về nó và bắt đầu thực hiện điều chỉnh hiệu suất sql


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để cài đặt Oracle Instant Client trên máy Mac?

  2. Phản ánh trong PLSQL?

  3. Cách hủy một câu lệnh SELECT đang chạy

  4. Hibernate> CLOB> Oracle :(

  5. Làm cách nào để lấy id chèn cuối cùng trong Oracle bằng MyBatis?