W tym poście chciałbym mówić o widokach Oracle, które są dość intensywnie używane w różnych aplikacjach ze względu na bezpieczeństwo i złożoność. Wymieniłbym pełny cykl życia widoku Oracle, tj. Jak utworzyć widok w Oracle, Przykład tworzenia widoku Oracle, jak zmień widok w Oracle,Jak skompilować widok w Oracle,Jak upuścić widok w Oracle,Wymuś widok w Oracle,Jak sprawdzić definicję widoku w Oracle .Dowiesz się, dlaczego Oracle View jest ważny i co można z nim zrobić .
Te same rzeczy są prawie poprawne również dla widoku sql
Co to jest widok Oracle?
- Widok Oracle to reprezentacja danych z jednej lub więcej tabel lub widoków Oracle.
– Widok Oracle to nazwane i zweryfikowane zapytanie SQL, które jest przechowywane w słowniku danych Oracle.
– Widoki nie zawierają żadnych danych – to tylko zapytanie przechowywane w bazie danych, które można wykonać po wywołaniu. Wszystkie dane, które pokazuje, pochodzą z tabel podstawowych. Widok można traktować jako wirtualną tabelę lub mapowanie danych z jednego lub kilku
– Widok nie zajmuje miejsca poza definicją widoku w słowniku danych.
- Widok może być używany do reprezentowania podzbioru danych (ze względów bezpieczeństwa), używany do reprezentowania nadzbioru danych (łączenie kilku tabel w jeden widok), do ukrywania złożonych sprzężeń, dostarczania znaczących nazw kolumn oraz do zminimalizuj zmiany aplikacji i źródeł danych.
- Tabele, do których istnieją odniesienia, to tabele podstawowe .
- W celu utworzenia widoku użyj polecenia CREATE VIEW, a następnie zapytania SQL.
Przykład widoku tworzenia Oracle
CREATE VIEW view_name AS SELECT columns FROM tables [WHERE conditions];
-Nazwy kolumn można określić za pomocą
CREATE VIEW (col1, col2…) AS SELECT COL1, COL2… FROM …;
-Utworzenie widoku za pomocą CREATE FORCE VIEW spowoduje utworzenie widoku z błędami kompilacji.
-Możesz utworzyć widok tylko do odczytu, używając klauzuli WITH READ ONLY.
— Oracle 9i umożliwia tworzenie ograniczeń widoków.
-Ograniczenia dotyczące widoków nie są wymuszane, są ograniczeniami deklaratywnymi. Aby wymusić ograniczenia, musisz utworzyć ograniczenia w tabelach podstawowych. Podczas tworzenia ograniczeń widoków należy zawsze uwzględnić klauzulę DISABLE NOVALIDATE.
Uprawnienia wymagane do utworzenia widoku Oracle
Aby utworzyć widok we własnym schemacie, musisz mieć uprawnienie systemowe CREATE VIEW. Aby utworzyć widok w schemacie innego użytkownika, musisz mieć uprawnienie systemowe CREATE ANY VIEW.
Przykład tworzenia Oracle Views
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
Jak zmodyfikować widok Oracle/jak zmienić widok w Oracle
Widoki możemy modyfikować za pomocą polecenia utwórz lub zamień widok. Pozwala to na zmianę widoku bez usuwania, odtwarzania i ponownego nadawania uprawnień do obiektów. Nie ma polecenia zmień widok dodaj kolumnę lub zmień widok zmodyfikuj kolumnę. Musimy przejść przez metodę tworzenia lub zastępowania widoku
Create or replace view emp_high_sal as select empno,ename,sal From emp where sal > 200000;
To polecenie tworzy widok, jeśli nie istnieje i modyfikuje widok, jeśli istnieje. Wszystkie jednostki plsql, które uzyskują dostęp do widoku, staną się nieważne po modyfikacji widoku
Jak skompilować widok w Oracle
Ponowna kompilacja widoku odbywa się za pomocą
ALTER VIEW
Alter view emp_high_sal compile;
Jak opuścić widok w Oracle
Upuszczenie widoku odbywa się za pomocą polecenia DROP VIEW.
Upuszczenie widoku nie ma wpływu na tabele podstawowe, na których oparty jest widok. Użytkownicy, którzy uzyskiwali dostęp do danych tabel podstawowych za pomocą widoku, nie będą już mogli uzyskać dostępu do danych tabel podstawowych.
DROP VIEW nazwa_widoku;
Drop view emp_high_sal ;
Tworzenie Force Oracle Views/force view w Oracle
Widok można utworzyć, nawet jeśli nie można wykonać zapytania definiującego widok, za pomocą polecenia CREATE FORCE VIEW. Taki widok nazywa się widokiem z błędami . Ta opcja może być przydatna w przypadku narzędzi importu/instalacji do tworzenia widoku przed pojawieniem się podstawowych obiektów.
Weźmy przykład, aby to zrozumieć. Nie mamy takiej tabeli jak TEST. Ale nadal możemy utworzyć na nim widok przed utworzeniem tabeli za pomocą opcji siły. Widok zostanie utworzony z błędem kompilacji i pozostanie nieprawidłowy
Create force view TEST_V as select col1,col2,col3 From test where col1 > 1000;
Teraz utwórz tabelę
create table TEST ( col1 number, col2 number, col3 number);
Teraz możesz skompilować widok i stanie się on prawidłowy
alter view TEST_V compile;
Co stanie się z widokiem, jeśli tabele podstawowe zostaną usunięte?
Jeśli bazowe tabele zostaną usunięte, Oracle nie usunie widoku automatycznie. Pozostaje w bazie danych i będzie w nieprawidłowym stanie. Jeśli tabele bazowe zostaną odtworzone, staną się ponownie ważne
Widoki słownika do przeglądania danych Oracle View
Szczegóły widoku można wyszukiwać ze słownika, wysyłając zapytania do USER_VIEWS, ALL_VIEWS lub DBA_VIEWS. Widoki są przydatne do zabezpieczania i ukrywania informacji, ale mogą powodować problemy, jeśli są zbyt głęboko zagnieżdżone. Niektóre zalety korzystania z widoków:
- Zmniejsz złożoność instrukcji SQL
- Udostępniaj innym użytkownikom tylko określone wiersze w tabeli
- Ukryj NAZWĘ i WŁAŚCICIELA tabeli podstawowej
- Istnieją trzy kategorie widoków
USER_% | Ten widok zawiera informacje tylko o obiektach należących do użytkownika Na przykład USER_TABLES,USER_TAB_COLS |
WSZYSTKO-% | Widok ten zawiera informacje o obiektach, do których użytkownik ma dostęp w bazie danych. Przykład ALL_TABLES,ALL_TAB_COLS |
DBA_% | Ten widok zawiera informacje o wszystkich obiektach w systemie i są to widoki z ograniczeniami dostępne dla użytkownika z rolą DBA Przykład DBA_TABLES |
DBA_% wyświetleń informacji o wyświetlaniu | ALL_% wyświetleń na temat informacje o wyświetlaniu | USER_% wyświetleń informacji o wyświetlaniu | |
Kolumna, którą można aktualizować | DBA_UPDATABLE_COLUMNS | ALL_UPDATABLE_COLUMNS | USER_UPDATABLE_COLUMNS |
Wyświetl informacje o widoku | dba_views | wszystkie_widoki | user_views |
Wyświetlanie wszystkich widoków w 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>
Jak sprawdzić definicję widoku w Oracle
Zapytaj kolumnę TEXT tabeli 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>';
Jak wyodrębnić definicję widoku (wyrażenia DDL) z bazy danych Oracle bez konieczności przechodzenia przez stos widoków słownikowych
Syntax: SQL> set long 1000 SQL> set pagesize 0 SQL>select DBMS_METADATA.GET_DDL('VIEW','<view_name>') from DUAL
Mam nadzieję, że spodobał Ci się szczegółowy artykuł na temat widoku Oracle. Próbowałem odpowiedzieć na popularne zapytania dotyczące widoku, takie jak Jak utworzyć widok w Oracle, Przykład tworzenia widoku Oracle, Jak zmienić widok w Oracle, Jak skompilować widok w Oracle, Jak upuścić widok w Oracle, Wymuś widok w Oracle , Jak sprawdzić definicję widoku w Oracle
Powiązane artykuły do przeczytania
oracle utwórz tabelę:Tabele są podstawową jednostką przechowywania danych w bazie danych Oracle. omawiamy, jak używać polecenia Oracle create table do tworzenia tabeli z kluczem obcym /kluczem podstawowym
tabele zewnętrzne w Oracle:Sprawdź ten post, aby uzyskać informacje na temat korzystania z tabeli zewnętrznej w Oracle z przykładem, jak to zrobić utworzyć zewnętrzną tabelę, jak jej używać
Sekwencje w Oracle:Czym jest Sekwencja w Oracle, Opis wszystkich opcji, Jak je utworzyć, Nowa funkcja sekwencji w Oracle 12c, Jak je usuwać i zmieniać
Indeksy w Oracle:Sprawdź informacje o indeksach Oracle, różne typy indeksów w Oracle z przykładem, jak utworzyć/upuścić/zmienić indeks w Oracle
Oracle Materialized Views:co to jest zmaterializowany widok Oracle, Oracle Materialized View Log, Grupa odświeżania, różnica między widokiem a widokiem zmaterializowanym
Jak monitorować postęp odświeżania widoków zmaterializowanych
oracle alter table modyfikuj typ kolumny:Sprawdź ten post na temat modyfikowania kolumn w Oracle za pomocą tabeli alter table zmodyfikować kolumnę. Modyfikuj kolumnę może zmieniać wartość domyślną, umożliwiając nie null
aktualizację widoku w Oracle :sprawdź ten post, aby zaktualizować widok w Oracle, wstawić do widoku oracle, usunąć z widoku w bazie danych Oracle
Polecane kursy
Oto fajny kurs Udemy dotyczący Oracle SQL
Oracle-Sql-Step-by-step :Ten kurs obejmuje podstawowy SQL, złączenia, tworzenie tabel i modyfikowanie ich struktury, tworzenie widoków, łączenie, łączenie i wiele innych rzeczy . Świetny kurs i obowiązkowy kurs dla początkujących SQL
Pełny kurs certyfikacji Oracle SQL :To dobry kurs dla każdego, kto chce być gotowy do pracy w zakresie umiejętności programistycznych SQL. Fajnie objaśniony kurs
Oracle SQL Developer:Essentials, Tips and Tricks :Narzędzie programistyczne Oracle SQL jest używane przez wielu programistów. Ten kurs zawiera sztuczki i lekcje, jak skutecznie z niego korzystać i zostać produktywnym programistą sql
Oracle SQL Performance Tuning Masterclass 2020 :Dostrajanie wydajności jest jedną z najważniejszych i najbardziej poszukiwanych umiejętności. To dobry kurs, aby się o tym dowiedzieć i zacząć dostrajać wydajność sql