В тази публикация ще говоря за изгледи на Oracle, които се използват доста силно в различни приложения поради причини за сигурност и сложност. Ще изброя пълния жизнен цикъл на изгледа на Oracle, т.е. Как да създадете изглед в Oracle, пример за създаване на изглед на Oracle, как да променете изглед в oracle, как да компилирам изглед в oracle, как да махнете изглед в oracle, принудително изглед в oracle, как да проверите дефиницията на изглед в oracle . Ще разберете защо Oracle View е важен и какво може да се направи с него .
Същите тези неща са почти валидни и за sql изглед
Какво е изглед на Oracle?
-Изгледът на Oracle е представяне на данни от една или повече таблици или изгледи на Oracle.
-Изгледът на Oracle е именувана и валидирана SQL заявка, която се съхранява в речника на данните на Oracle.
– Изгледите не съдържат никакви данни – това е просто съхранена заявка в базата данни, която може да се изпълни при извикване. Всички данни, които показва, идват от базовите таблици. Човек може да мисли за изглед като виртуална таблица или картографиране на данни от един или повече
-Изгледът заема не място за съхранение освен за дефиницията на изгледа в речника на данните.
- Изгледът може да се използва за представяне на подмножество от данни (за проблеми със сигурността), използван за представяне на супернабор от данни (присъединяване на няколко таблици към един изглед), за скриване на сложни съединения, за предоставяне на смислени имена за колони и за минимизиране на промените в приложенията и източниците на данни.
-Посочените таблици се наричат основни таблици .
- За да създадете изглед, използвайте командата CREATE VIEW, последвана от SQL заявка.
Пример за създаване на изглед на Oracle
CREATE VIEW view_name AS SELECT columns FROM tables [WHERE conditions];
-Можете да посочите имената на колоните с помощта на
CREATE VIEW (col1, col2…) AS SELECT COL1, COL2… FROM …;
-Създаването на изглед с помощта на CREATE FORCE VIEW ще създаде изгледа с грешки при компилация.
-Можете да създадете изглед само за четене, като използвате клаузата WITH READ ONLY.
-Oracle 9i позволява създаване на ограничения върху изгледите.
-Ограниченията върху изгледите не се налагат, те са декларативни ограничения. За да наложите ограничения, трябва да създадете ограниченията върху базовите таблици. Винаги трябва да включвате клаузата DISABLE NOVALIDATE, когато създавате ограничения за изгледи.
Необходими са привилегии за създаване на изглед на оракул
За да създадете изглед във вашата собствена схема, трябва да имате системно право CREATE VIEW. За да създадете изглед в схема на друг потребител, трябва да имате системното право CREATE ANY VIEW.
Пример за създаване на 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
Как да модифицирате изгледа на Oracle/как да променяте изгледа в oracle
Можем да променим изгледите с помощта на командата create или replace view. Това позволява промяна на изгледа без отпадане, пресъздаване и повторно предоставяне на привилегии на обект. Няма такава команда като alter view add a column или alter view modify the column. Трябва да преминем през метода за създаване или замяна на изглед
Create or replace view emp_high_sal as select empno,ename,sal From emp where sal > 200000;
Тази команда създава изгледа, ако не съществува и променя изгледа, ако съществува. Всички plsql единици, които имат достъп до изгледа, ще станат невалидни след модификацията на изгледа
Как да компилирам изглед в oracle
Прекомпилирането на изглед се извършва с помощта на
ALTER VIEW
Alter view emp_high_sal compile;
Как да махна изглед в oracle
Отпадането на изглед се извършва с помощта на командата DROP VIEW.
Отпадането на изглед няма ефект върху базовите таблици, на които се базира изгледът. Потребителите, които са имали достъп до данните на базовите таблици чрез изглед, вече няма да имат достъп до данните на базовите таблици.
DROP VIEW име_на_изглед;
Drop view emp_high_sal ;
Създаване на Force Oracle Views/force View в oracle
Изглед може да бъде създаден, дори ако определящата заявка на изгледа не може да бъде изпълнена, като се използва командата CREATE FORCE VIEW. Такъв изглед се нарича изглед с грешки . Тази опция може да бъде полезна за инструменти за импортиране/инсталация за създаване на изглед, преди да присъстват основните обекти.
Нека вземем пример, за да го разберем. Нямаме таблица като TEST. Но все пак можем да създадем изгледа върху него, преди да създадем таблицата, използвайки опцията за сила. Изгледът ще бъде създаден с грешка при компилация и ще остане невалиден
Create force view TEST_V as select col1,col2,col3 From test where col1 > 1000;
Сега създайте таблицата
create table TEST ( col1 number, col2 number, col3 number);
Сега можете да компилирате изгледа и той ще стане валиден
alter view TEST_V compile;
Какво се случва с изгледа, ако основните таблици бъдат премахнати?
Ако основните таблици бъдат премахнати, тогава oracle не изпуска изгледа автоматично. Той остава в базата данни и ще бъде в невалидно състояние. Ако основните таблици бъдат пресъздадени, те ще станат валидни отново
Изгледи на речник за преглед на данните на Oracle View
Подробностите за изглед могат да бъдат запитани от речника чрез заявка или USER_VIEWS, ALL_VIEWS или DBA_VIEWS. Изгледите са полезни за сигурност и скриване на информация, но могат да причинят проблеми, ако са вложени твърде дълбоко. Някои от предимствата на използването на изгледи:
- Намалете сложността на SQL изразите
- Споделяйте само конкретни редове в таблица с други потребители
- Скриване на ИМЕТО и СОБСТВЕНИКА на основната таблица
- Има три категории изгледи
USER_% | Този изглед съдържа информация за обектите, притежавани само от потребителя. Например USER_TABLES,USER_TAB_COLS |
ВСИЧКИ-% | Този изглед съдържа информация за обектите, до които потребителят има достъп в базата данни. Пример ALL_TABLES,ALL_TAB_COLS |
DBA_% | Този изглед съдържа информация за всички обекти в системата и това са ограничени изгледи, които са достъпни за потребителя, който има роля на DBA Пример DBA_TABLES |
DBA_% показвания за информацията за преглед | ВСИЧКИ_% показвания за информация за преглед | USER_% показвания за информацията за преглед | |
Колоната, която може да се актуализира | DBA_UPDATABLE_COLUMNS | ALL_UPDATABLE_COLUMNS | USER_UPDATABLE_COLUMNS |
Преглед на информацията за преглед | dba_views | всички_прегледи | потребителски_прегледи |
Изброяване на всички изгледи в 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>
Как да проверите дефиницията на изглед в oracle
Заявете колоната TEXT на таблица 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>';
Как да извлечете дефиницията на изглед (DDL изрази) от база данни на Oracle, без да се налага да преминавате през купчина изгледи на речник
Syntax: SQL> set long 1000 SQL> set pagesize 0 SQL>select DBMS_METADATA.GET_DDL('VIEW','<view_name>') from DUAL
Надяваме се, че ви харесва подробна статия за изглед на Oracle. Опитах се да отговоря на популярните запитвания относно изгледа като Как да създам изглед в oracle, пример за създаване на изглед в Oracle, как да променя изгледа в oracle, Как да компилирам изглед в oracle, Как да махна изглед в oracle, принуди изглед в oracle , Как да проверите дефиницията на изглед в oracle
Сродни статии за четене
oracle създаде таблица:Таблиците са основната единица за съхранение на данни в базата данни на Oracle. ние разглеждаме как да използваме командата за създаване на таблица на Oracle за създаване на таблица с външен ключ /първичен ключ
външни таблици в Oracle:Вижте тази публикация за информация относно използването на външната таблица в oracle с пример, как да създайте външна таблица, как да я използвате
Последователности в oracle:Какво е Sequence в oracle, Описание на всички опции, Как да ги създадете, Oracle 12c нова функция на последователности, Как да ги пускате и променяте
Индекси в oracle:Вижте информацията за Oracle индекси, различни типове индекси в oracle с пример, как да създадете/пуснете/промените индекса в oracle
Oracle Materialized Views:какво представлява Oracle материализиран изглед, Oracle Materialized View Log, Група за опресняване, Разлика между изглед и материализиран изглед
Как да наблюдавате хода на опресняване на Материализирани изгледи
Оракула промяна на таблицата за промяна на типа колона:Вижте тази публикация за това как да променяте колони в oracle с помощта на таблицата за промяна на oracle модифицира колоната. Колоната за модифициране може да променя стойността по подразбиране, позволявайки не null
актуализиране на изгледа в Oracle :вижте тази публикация, за да актуализирате изгледа в Oracle, вмъкнете в изглед oracle, изтрийте от изглед в базата данни на Oracle
Препоръчани курсове
Ето хубавия курс на Udemy за Oracle SQL
Oracle-Sql-Step-by-step :Този курс обхваща основния sql, присъединяването, Създаването на таблици и промяната на структурата им, Създаване на изглед, Обединение, Обединение - всичко и много други неща . Страхотен курс и задължителен курс за SQL начинаещи
Пълният курс за сертифициране на Oracle SQL :Това е добър курс за всеки, който иска да бъде готов за работа за SQL разработчици. Приятно обяснен курс
Oracle SQL Developer:Основни неща, съвети и трикове :Инструментът за разработчици на Oracle Sql се използва от много разработчици. Този курс ни дава трикове и уроци как да го използваме ефективно и да станем продуктивен sql разработчик
Мастърклас за настройка на производителността на Oracle 2020 г. :Настройката на производителността е едно от критичните и най-търсените умения. Това е добър курс, за да научите за него и да започнете да правите настройка на производителността на sql