Sissejuhatus Oracle Views
Oracle Views on virtuaalsed tabelid, mida füüsiliselt ei eksisteeri. Vaated luuakse olemasolevale lauale või tabelitele. Neid salvestatakse Oracle'i andmete sõnastikku ega salvestata andmeid. Vaated on tabeli või tabelite alamrühmad või alamveerud. Tegelikult luuakse vaated sagedamini kasutatavate päringute või keerukate päringute või liitpäringute jms kohta, nii et iga kord ei tohiks andmeid tabelist või tabelitest otse tõmmata, saab saadud andmeid vaatelt tõmmata. Vaated saab käivitada siis, kui neile helistatakse.
Vaated luuakse päringuga, mis ühendab ühte või mitut tabelit.
LOE VAADE Oracle'is
Vaadakem Oracle'is vaate loomist mõne allpool nimetatud näite abil:
Vaate loomise süntaks -
CREATE VIEW view name AS
SELECT column (, column ) FROM table
WHERE condition;
Vaate nimi - see määrab Oracle VIEW nime, mida kasutaja soovib luua.
Allpool toodud diagrammil on kujutatud oraaklivaate visuaalne esitus, kuna allolevas diagrammis naaseb punane varjutatud ala Oracle'i valimispäringu tulemusel ja see on salvestatud vaatena -
Joonis: Oracle'i vaade
Päringu näited
Võtame vaate loomiseks näite. Siin on näide, loome lihtsa vaate ühele lauale.
Tarnijate tabel
Päringu näide oraaklivaadete loomise kohta
CREATE VIEW empview AS
SELECT *
FROM employees;
WHERE employees.manager_id = 100;
Väljund:
Vaade loodud 0, 21 sekundit
See ülaltoodud Oracle INNER JOINi näide tagastab kõik read töötajate tabelist ja osakonnatabelist, kus töötaja _id väärtus nii töötajate tabelis kui ka osakonnatabelis on vastavuses.
Mõistame oraaklivaadet üksikasjalikult mõne näite abil -
Siin käsitleme hr-skeemi, mis on oraaklite andmebaasi näidisskeemid. HR-skeem sisaldab RIIKIDE, TÖÖTAJATE, OSAKONDADE, TÖÖ_HISTORIA, TÖÖD, ASUKOHTAD, REGIOONID tabeleid, milles oleme huvitatud või vajame TÖÖTAJATE, OSAKONNA ja ASUKOHA tabeleid.
Nende tabelite kirjeldus on järgmine:
Tabel TÖÖTAJAD
Tabel OSAKONNAD
Näide nr 1
Looge vaade valitud veergudele
Siin loome töötaja tabeli põhjal vaate nimega töötaja vaade. Töötaja vaade, millel on töötaja ID, töötaja täisnimi, mis on eesnime ja perekonnanime ning töötaja telefoninumber-
Kood:
CREATE VIEW employee view AS
SELECT
employee_id,
first_name || ' ' || last_name full name,
phone_number
FROM
employees;
Väljund:
Nüüd saame selle päringu abil kontrollida just Oracle VIEW kohal loodud -
Select * from employee view;
Väljund:
Näide 2
Oraaklivaate loomine veergude pseudonüümiga
Kood:
CREATE VIEW employee view AS
SELECT employee_id, first_name || ' ' || last_name "full name", FLOOR( months_between ( CURRENT_DATE, hire_date )/ 12 ) as years
FROM employees;
Väljund:
Select * from employee view;
Väljund:
Näide 3
Oraaklivaate loomine veergude pseudonüümiga
kood:
CREATE VIEW employee view (employee_id, full name, years) AS
SELECT
employee_id, first_name || ' ' || last_name,
FLOOR( months_between ( CURRENT_DATE, hire_date )/ 12 )
FROM
employees;
Väljund:
Select * from employee view;
Väljund:
Näide 4
Juurdepääs vaatele klausliga
Kood:
SELECT *
FROM employee view
WHERE years > 10;
ORDER BY full name;
Väljund:
Näide 5
Juurdepääs vaatele klausliga
Kood:
SELECT full name
FROM employee view
WHERE years > 10
ORDER BY full name;
Väljund:
Näide 6
Uuendage ja ainult kirjutuskaitsevaate saamiseks
Kood:
CREATE OR REPLACE VIEW employee view (employee_id, full name, years) AS
SELECT
employee_id, first_name || ' ' || last_name,
FLOOR ( months_between ( CURRENT_DATE, hire_date ) / 12 )
FROM employees WITH reading ONLY;
Väljund:
Näide # 7
Oraaklivaate loomine mitme tabeliga
Kood:
CREATE OR REPLACE VIEW dept_manger AS
SELECT
employee_id, first_name || ' ' || last_name as name, department_name
FROM EMPLOYEES
INNER JOIN DEPARTMENTS
on EMPLOYEES. EMPLOYEE_ID = DEPARTMENTS. MANAGER_ID;,
Väljund:
Näide nr 8
Kustutage vaade, kasutades käsku Drop
Kood:
Drop view employee view;
Väljund:
Vaadete eelised ja puudused oraaklis
Eelised ja puudused on toodud allpool:
Vaadete eelised oraaklis
Allpool on toodud eelised:
- Vaate saab luua valitud andmetele või tabeli veergudele, mis piiravad tabeli vaadet ja võivad peita osa andmetest või veergudest tabelites.
- Vaate loob andmete kuvamiseks ilma andmeid tabelisse salvestamata.
- Vaatekabiin on loodud kahe või enama tabeli andmete liitmiseks ja selle salvestamiseks ühe tabeli või objektina.
- Turvalisuse saavutamiseks luuakse vaatekabiin.
- Vaade annab hea jõudluse keerukate päringute käitamiseks või päringute liitmiseks.
Oraakli vaadete puudused
Allpool on toodud puudused:
- DML-toiminguid ei saa vaates täita.
- Vaade muutub passiivseks, kui tabel kukub, millele see luuakse.
- Vaade hõivab mäluruumi, kuna see on objekt.
Järeldus
Vaated on virtuaalsed tabelid, mida füüsiliselt ei eksisteeri. Vaated luuakse olemasolevale lauale või tabelitele. Vaated luuakse sagedamini kasutatavate päringute või keerukate päringute või liitpäringute korral. Vaade annab hea jõudluse keerukate päringute käitamiseks või päringute liitmiseks. DML-toiminguid ei saa vaates täita. Turvalisuse saavutamiseks luuakse vaatekabiin. Vaade muutub passiivseks, kui tabel kukub, millele see luuakse.
Soovitatavad artiklid
See on Oracle Views juhend. Siin käsitleme Oracle'i vaadete, eeliste ja puuduste parameetreid koos päringunäidetega. Lisateavet leiate ka meie muudest soovitatud artiklitest -
- Liitub Oracle'iga
- Oracle'i andmete ladustamine
- Oracle'i päringud
- Mis on Oracle'i andmebaas