Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да създадете изглед в oracle

В тази публикация ще говоря за изгледи на 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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да вмъкнете данни директно от Excel в базата данни на Oracle

  2. Можем ли да имаме множество WITH AS в един sql - Oracle SQL

  3. Oracle:как да добавя минути към времева марка?

  4. Оператори на набор от Oracle

  5. Как да направите заявка за колона CLOB в Oracle