V tomto příspěvku bych mluvil o pohledech Oracle, které se z důvodu bezpečnosti a složitosti poměrně hojně používají v různých aplikacích. Uvedl bych kompletní životní cyklus zobrazení Oracle, tj. jak vytvořit zobrazení v oracle, příklad vytvoření zobrazení Oracle, jak změnit pohled v oracle,jak zkompilovat pohled v oracle,jak zrušit pohled v oracle,vynutit zobrazení v oracle,jak zkontrolovat definici pohledu v oracle. Dozvíte se, proč je Oracle View důležitý a co všechno se s ním dá dělat .
Totéž platí téměř také pro zobrazení SQL
Co je zobrazení Oracle?
-Pohled Oracle je reprezentace dat z jedné nebo více tabulek nebo pohledů Oracle.
-Pohled Oracle je pojmenovaný a ověřený dotaz SQL, který je uložen v datovém slovníku Oracle.
– Pohledy neobsahují žádná data – jde pouze o uložený dotaz v databázi, který lze při volání spustit. Všechna data, která zobrazuje, pocházejí ze základních tabulek. Pohled si lze představit jako virtuální tabulku nebo mapování dat z jednoho nebo více
– Pohled nezabírá žádný úložný prostor kromě definice pohledu v datovém slovníku.
- Pohled lze použít k reprezentaci podmnožiny dat (pro bezpečnostní problémy), k reprezentaci nadmnožiny dat (spojení několika tabulek do jednoho pohledu), ke skrytí složitých spojení, k poskytování smysluplných názvů sloupců a k minimalizovat změny aplikací a zdrojů dat.
-Odkazované tabulky se nazývají základní tabulky .
- Chcete-li vytvořit pohled, použijte příkaz CREATE VIEW následovaný dotazem SQL.
Příklad vytvoření zobrazení Oracle
CREATE VIEW view_name AS SELECT columns FROM tables [WHERE conditions];
-Názvy sloupců můžete zadat pomocí
CREATE VIEW (col1, col2…) AS SELECT COL1, COL2… FROM …;
-Vytvoření pohledu pomocí CREATE FORCE VIEW vytvoří pohled s chybami kompilace.
-Můžete vytvořit pohled pouze pro čtení pomocí klauzule WITH READ ONLY.
-Oracle 9i umožňuje vytvářet omezení zobrazení.
-Omezení pohledů nejsou vynucována, jsou to deklarativní omezení. Chcete-li vynutit omezení, musíte vytvořit omezení v základních tabulkách. Při vytváření omezení pohledů musíte vždy zahrnout klauzuli DISABLE NOVALIDATE.
Oprávnění nutná k vytvoření pohledu Oracle
Chcete-li vytvořit pohled ve svém vlastním schématu, musíte mít systémové oprávnění CREATE VIEW. Chcete-li vytvořit pohled ve schématu jiného uživatele, musíte mít systémové oprávnění CREATE ANY VIEW.
Příklad vytvoření 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 upravit zobrazení Oracle/jak změnit zobrazení v oracle
Pohledy můžeme upravit pomocí příkazu vytvořit nebo nahradit pohled. To umožňuje měnit pohled bez zrušení, opětovného vytvoření a opětovného udělení oprávnění objektu. Neexistuje žádný takový příkaz jako alter view přidat sloupec nebo alter view upravit sloupec. Musíme projít metodou zobrazení vytvořit nebo nahradit
Create or replace view emp_high_sal as select empno,ename,sal From emp where sal > 200000;
Tento příkaz vytvoří pohled, pokud neexistuje, a upraví pohled, pokud existuje. Všechny jednotky plsql, které přistupují k pohledu, se po úpravě pohledu stanou neplatnými
Jak zkompilovat pohled v oracle
Překompilování pohledu se provádí pomocí
ALTER VIEW
Alter view emp_high_sal compile;
Jak snížit zobrazení v oracle
Vypuštění pohledu se provádí pomocí příkazu DROP VIEW.
Vypuštění pohledu nemá žádný vliv na základní tabulky, na kterých je pohled založen. Uživatelé, kteří přistupovali k datům základních tabulek pomocí zobrazení, již nebudou mít přístup k datům základních tabulek.
DROP VIEW view_name;
Drop view emp_high_sal ;
Vytvoření Force Oracle Views / Force View v oracle
Pohled lze vytvořit i v případě, že definující dotaz pohledu nelze provést pomocí příkazu CREATE FORCE VIEW. Takové zobrazení se nazývá zobrazení s chybami . Tato možnost může být užitečná pro nástroje pro import/instalaci k vytvoření pohledu dříve, než budou přítomny základní objekty.
Vezměme si příklad, abychom to pochopili. Nemáme tabulku jako TEST. Pohled na něj ale můžeme vytvořit ještě před vytvořením tabulky pomocí volby force. Pohled bude vytvořen s chybou kompilace a zůstane neplatný
Create force view TEST_V as select col1,col2,col3 From test where col1 > 1000;
Nyní vytvořte tabulku
create table TEST ( col1 number, col2 number, col3 number);
Nyní můžete pohled zkompilovat a stane se platným
alter view TEST_V compile;
Co se stane se zobrazením, pokud budou základní tabulky zrušeny?
Pokud jsou základní tabulky zrušeny, pak Oracle automaticky nezruší zobrazení. Zůstává v databázi a bude v neplatném stavu. Pokud jsou podkladové tabulky znovu vytvořeny, stanou se znovu platnými
Zobrazení slovníku pro zobrazení dat Oracle View
Podrobnosti zobrazení lze získat ze slovníku dotazem buď USER_VIEWS, ALL_VIEWS nebo DBA_VIEWS. Pohledy jsou užitečné pro zabezpečení a skrytí informací, ale mohou způsobit problémy, pokud jsou vnořeny příliš hluboko. Některé z výhod používání pohledů:
- Snížení složitosti příkazů SQL
- Sdílejte s ostatními uživateli pouze určité řádky v tabulce
- Skryjte JMÉNO a VLASTNÍKA základní tabulky
- Existují tři kategorie zhlédnutí
USER_% | Toto zobrazení obsahuje pouze informace o objektech vlastněných uživatelem. Příklad: USER_TABLES,USER_TAB_COLS |
ALL-% | Toto zobrazení obsahuje informace o objektech, ke kterým má uživatel v databázi přístup. Příklad ALL_TABLES,ALL_TAB_COLS |
DBA_% | Toto zobrazení obsahuje informace o všech objektech v systému a jedná se o omezená zobrazení, která jsou přístupná uživateli, který má roli DBA Příklad DBA_TABLES |
DBA_% zobrazení informací o zobrazení | ALL_% zobrazení o zobrazení informací | USER_% zobrazení informací o zobrazení | |
Sloupec, který lze aktualizovat | DBA_UPDATABLE_COLUMNS | ALL_UPDATABLE_COLUMNS | USER_UPDATABLE_COLUMNS |
Zobrazit informace o zobrazení | dba_views | všechna_zobrazení | user_views |
Výpis všech zobrazení v 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 zkontrolovat definici zobrazení v oracle
Dotaz na sloupec TEXT tabulky 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 extrahovat definici pohledu (příkazy DDL) z databáze Oracle, aniž byste museli procházet hromadou pohledů slovníku
Syntax: SQL> set long 1000 SQL> set pagesize 0 SQL>select DBMS_METADATA.GET_DDL('VIEW','<view_name>') from DUAL
Doufám, že se vám bude líbit podrobný článek o zobrazení Oracle. Pokusil jsem se odpovědět na oblíbené dotazy týkající se pohledu, jako je Jak vytvořit pohled v oracle, příklad vytvoření pohledu Oracle, jak změnit pohled v oracle, Jak sestavit pohled v oracle, Jak zrušit pohled v oracle, vynutit zobrazení v oracle , Jak zkontrolovat definici pohledu v oracle
Související články k přečtení
oracle vytvořit tabulku:Tabulky jsou základní jednotkou pro ukládání dat v databázi Oracle. zabýváme se tím, jak používat příkaz Oracle create table k vytvoření tabulky s cizím klíčem /primární klíč
externí tabulky v Oracle:Podívejte se na tento příspěvek, kde najdete informace o použití externí tabulky v oracle s příkladem, jak vytvořit externí tabulku, jak ji používat
Sekvence v oracle:Co je sekvence v oracle, popis všech možností, jak je vytvořit, nová funkce sekvencí Oracle 12c, jak je vypustit a upravit
Indexy v oracle:Podívejte se na informace o indexech Oracle, různé typy indexů v oracle s příkladem, jak vytvořit/upustit/změnit index v oracle
Oracle Materialized Views :co je to materializovaný pohled Oracle, Oracle Materialized View Log, Obnovovací skupina, Rozdíl mezi zobrazením a materializovaným zobrazením
Jak monitorovat průběh obnovování materializovaných zobrazení
Oracle alter table upravit typ sloupce:Podívejte se na tento příspěvek o tom, jak upravit sloupce v oracle pomocí oracle alter tabulky upravit sloupec. Sloupec Upravit může měnit výchozí hodnotu, což umožňuje ne null
aktualizovat pohled v Oracle:podívejte se na tento příspěvek, chcete-li aktualizovat zobrazení v Oracle, vložit do zobrazení oracle, odstranit ze zobrazení v databázi Oracle
Doporučené kurzy
Zde je pěkný kurz Udemy pro Oracle SQL
Oracle-Sql-krok za krokem:Tento kurz pokrývá základní sql, spojení, vytváření tabulek a úpravu jejich struktury, vytváření zobrazení, sjednocení, sjednocení – vše a mnoho dalších věcí. . Skvělý kurz a kurz, který musíte mít pro začátečníky SQL
Úplný certifikační kurz Oracle SQL :Toto je dobrý kurz pro každého, kdo chce být Job připravený na vývojářské dovednosti SQL. Pěkně vysvětlený kurz
Oracle SQL Developer:Základy, tipy a triky :Vývojářský nástroj Oracle Sql používá mnoho vývojářů. Tento kurz nám poskytuje triky a lekce, jak jej efektivně používat a stát se produktivním vývojářem sql
Oracle SQL Performance Tuning Masterclass 2020 :Ladění výkonu je jednou z kritických a nejvyhledávanějších dovedností. Toto je dobrý kurz, jak se o tom dozvědět a začít s laděním výkonu SQL