Glavna pitanja za Oracle intervju: Oracle Basic, SQL, PL/SQL pitanja

Najčešće postavljana pitanja i odgovori za Oracle intervju:

Top 40 pitanja za Oracle intervju zajedno s odgovorima koji pokrivaju gotovo sve osnovne koncepte Oraclea.

Ovo je detaljna serija koja pokriva gotovo sva pitanja Oracle intervjua:

Dio #1: Oracle Basic, SQL, PL/SQL pitanja (ovaj članak)

Dio #2: Oracle DBA, RAC i pitanja o podešavanju performansi

Dio #3: Oracle Forms and Reports Pitanja za intervju

Dio #4: Pitanja za tehnički intervju za Oracle aplikacije i Oracle SOA

Počnimo s 1. članak u seriji.

Vrste pitanja obuhvaćenih ovim člankom:

  • Osnovna pitanja za Oracle intervju
  • Oracle SQL pitanja za intervju
  • Pitanja za intervju za Oracle PL/SQL

Naći ćete osnove Oraclea objašnjene jednostavnim primjerima za vaše razumijevanje. Ako se planirate pojaviti na Oracle intervjuu, ovi skupovi pitanja obrađeni u ovom članku svakako će vam biti od velike pomoći.

Idemo dalje!!

Popis najpopularnijih Oracle pitanja za intervju

P #1) Što je Oracle i koja su njegova različita izdanja?

Odgovor: Oracle je jedna od popularnih baza podataka koju pruža Oracle Corporation, koja radi na konceptima relacijskog upravljanja, pa se stoga naziva i Oracle RDBMS. Naširoko se koristi za onlinekoji se može koristiti u drugom SQL upitu kao cjelina.

  • Tablica se može ažurirati ili izbrisati dok Views to ne može učiniti.
  • P #31) Što je što se misli pod situacijom zastoja?

    Odgovor: Zastoj je situacija kada dva ili više korisnika istovremeno čekaju podatke koje međusobno zaključavaju. Stoga rezultira svim blokiranim korisničkim sesijama.

    P #32) Što se podrazumijeva pod indeksom?

    Odgovor: Indeks je schema object, koji je stvoren za učinkovito pretraživanje podataka unutar tablice. Indeksi se obično kreiraju na određenim stupcima tablice kojima se najviše pristupa. Indeksi mogu biti grupirani ili negrupisani.

    P#33) Što je ULOGA u Oracle bazi podataka?

    Odgovor: Davanje pristupa pojedinačnim objektima pojedinačnim korisnicima težak je administrativni zadatak. Kako bi se ovaj posao olakšao, kreira se grupa zajedničkih privilegija u bazi podataka, koja je poznata kao ROLE. Jednom stvorena ULOGA može se dodijeliti ili opozvati korisnicima korištenjem GRANT & Naredba REVOKE.

    Sintaksa:

     CREATE ROLE READ_TABLE_ROLE; GRANT SELECT ON EMP TO READ_TABLE_ROLE; GRANT READ_TABLE_ROLE TO USER1; REVOKE READ_TABLE_ROLE FROM USER1; 

    P #34) Koji su atributi koji se nalaze u KURSORU?

    Odgovor: KURSOR ima različite atribute kao što je navedeno u nastavku:

    (i) %FOUND :

    • Vraća INVALID_CURSOR ako kursor je deklariran, ali zatvoren.
    • Vraća NULL ako se dohvaćanje nije dogodilo, ali je kursor samo otvoren.
    • Vraća TRUE, akoretci su uspješno dohvaćeni i FALSE ako se nijedan redak ne vrati.

    (ii) NIJE PRONAĐENO :

    • Vraća INVALID_CURSOR ako je pokazivač deklarirano, ali zatvoreno.
    • Vraća NULL ako se dohvaćanje nije dogodilo, ali je kursor samo otvoren.
    • Vraća FALSE, ako su retci uspješno dohvaćeni i TRUE ako se ne vraća nijedan redak

    (iii) %ISOPEN : Vraća TRUE, ako je kursor OPEN inače FALSE

    (iv) %ROWCOUNT : Vraća broj dohvaćenih redaka .

    P #35) Zašto koristimo %ROWTYPE & %TYPE u PLSQL?

    Odgovor: %ROWTYPE & %TYPE su atributi u PL/SQL-u koji mogu naslijediti tipove podataka tablice definirane u bazi podataka. Svrha korištenja ovih atributa je osigurati neovisnost i cjelovitost podataka.

    Ako se neki od tipova podataka ili preciznost promijeni u bazi podataka, PL/SQL kod se automatski ažurira s promijenjenim tipom podataka.

    %TYPE se koristi za deklariranje varijable koja mora imati isti tip podataka kao stupac tablice.

    Dok će se %ROWTYPE koristiti za definiranje cijelog reda zapisa koji imaju strukturu sličnu strukturi tablice.

    P #36) Zašto stvaramo pohranjene procedure & Funkcije u PL/SQL-u i po čemu se razlikuju?

    Odgovor: Pohranjena procedura je skup SQL naredbi koje su napisane za obavljanje određenog zadatka. Ove se izjave mogu spremiti kao grupa u bazu podatakas dodijeljenim imenom i mogu se dijeliti s različitim programima ako postoje dopuštenja za pristup istom.

    Funkcije su opet potprogrami koji su napisani za obavljanje specifičnih zadataka, ali postoje razlike između njih.

    Pohranjene procedure Funkcije

    Pohranjene procedure mogu ali ne moraju vratiti vrijednost, a mogu vratiti i više vrijednosti. Funkcija će uvijek vratiti samo jednu vrijednost.
    Pohranjene procedure mogu uključivati ​​DML izjave kao što su umetnuti, ažurirati & brisanje. Ne možemo koristiti DML izjave u funkciji.
    Pohranjene procedure mogu pozivati ​​funkcije. Funkcije ne mogu pozivati ​​pohranjene procedure.
    Pohranjene procedure podržavaju rukovanje iznimkama pomoću bloka Try/Catch. Funkcije ne podržavaju blok Try/Catch.

    P #37) Koji su parametri koje možemo proći kroz pohranjenu proceduru?

    Odgovor: Možemo proći IN, OUT & INOUT parametre kroz pohranjenu proceduru i treba ih definirati prilikom deklariranja same procedure.

    P #38) Što je okidač i koje su njegove vrste?

    Odgovor: Okidač je pohranjeni program koji je napisan na takav način da se automatski izvršava kada se dogodi neki događaj. Ovaj događaj može biti bilo koja DML ili DDL operacija.

    PL/SQL podržava dvije vrsteokidači:

    • Razina retka
    • Razina naredbe

    P #39) Kako ćete razlikovati globalnu varijablu od lokalne varijabla u PL/SQL?

    Odgovor: Globalna varijabla je ona koja je definirana na početku programa i opstaje do kraja. Može mu se pristupiti bilo kojom metodom ili procedurom unutar programa, dok je pristup lokalnoj varijabli ograničen na proceduru ili metodu u kojoj je deklarirana.

    P #40) Koji su paketi u PL SQL?

    Odgovor: Paket je grupa povezanih objekata baze podataka kao što su pohranjeni procesi, funkcije, tipovi, okidači, pokazivači itd. koji su pohranjeni u Oracle bazi podataka . To je vrsta knjižnice povezanih objekata kojima može pristupiti više aplikacija ako je dopušteno.

    PL/SQL struktura paketa sastoji se od 2 dijela: specifikacija paketa & tijelo paketa.

    Zaključak

    Nadam se da bi vam gornji skup pitanja pomogao da dobijete uvid u to što je Oracle.

    Čak i ako imate temeljito poznavanje svih osnovnih pojmova, način na koji ih prezentirate u intervjuu je jako važan. Stoga ostanite mirni i samouvjereno se suočite s intervjuom bez ikakvog oklijevanja.

    Pročitajte SLJEDEĆE 2. dio: Oracle DBA, RAC i pitanja o podešavanju performansi

    Želimo vam puno uspjeha!!

    Preporučena literatura

    obrada transakcija, skladištenje podataka i mrežno računalstvo poduzeća.

    P #2) Kako ćete identificirati Oracle Database Software Release?

    Odgovor: Oracle slijedi brojne formate za svako izdanje.

    Na primjer ,

    Izdanje 10.1.0.1.1 može se uputiti na kao:

    10: Glavni broj izdanja DB

    1: Broj izdanja održavanja DB

    0: Broj izdanja aplikacijskog poslužitelja

    1: Broj izdanja specifične za komponentu

    1: Broj izdanja specifične za platformu

    P #3) Kako ćete razlikovati VARCHAR & VARCHAR2?

    Odgovor: Oba VARCHAR & VARCHAR2 su Oracle tipovi podataka koji se koriste za pohranu nizova znakova promjenjive duljine. Njihove razlike su:

    • VARCHAR može pohraniti znakove do 2000 bajtova dok VARCHAR2 može pohraniti do 4000 bajtova.
    • VARCHAR će zadržati prostor za znakove definirane tijekom deklaracije čak i ako svi oni se ne koriste dok će VARCHAR2 osloboditi neiskorišteni prostor.

    P #4) Koja je razlika između TRUNCATE & DELETE naredbe?

    Odgovor: Obje naredbe se koriste za uklanjanje podataka iz baze podataka.

    Razlike između ove dvije uključuju:

    • TRUNCATE je DDL operacija dok je DELETE DML operacija.
    • TRUNCATE  uklanja sve retke, ali ostavlja strukturu tablice netaknutom. Ne može se vratiti kao što jeizdaje COMMIT prije i nakon izvršenja naredbe dok se naredba DELETE može vratiti nazad.
    • Naredba TRUNCATE će osloboditi prostor za pohranu objekta dok naredba DELETE ne.
    • TRUNCATE je brži u usporedbi s DELETE.

    P #5) Što se podrazumijeva pod RAW vrstom podataka?

    Odgovor: RAW vrsta podataka koristi se za pohranjivanje varijabli- duljina binarnih podataka ili nizova bajtova.

    Razlika između RAW & Tip podataka VARCHAR2 znači da PL/SQL ne prepoznaje ovu vrstu podataka i stoga ne može izvršiti nikakve konverzije kada se RAW podaci prenose u različite sustave. Ovu vrstu podataka moguće je samo upitati ili umetnuti u tablicu.

    Sintaksa: RAW (preciznost)

    P #6) Što se podrazumijeva pod spojevima? Navedite vrste spojeva.

    Odgovor: Spojevi se koriste za izdvajanje podataka iz više tablica pomoću nekih uobičajenih stupaca ili uvjeta.

    Postoje razne vrste spojeva kao što je navedeno u nastavku:

    • UNUTARNJI SPOJ
    • VANJSKI SPOJ
    • KRIŽNI SPOJ ili KARTEZIJSKI PROIZVOD
    • JEDNAK SPOJ
    • ANTI JOIN
    • SEMI JOIN

    Q #7) Koja je razlika između SUBSTR & INSTR funkcije?

    Odgovor:

    • SUBSTR funkcija vraća poddio identificiran numeričkim vrijednostima iz navedenog niza.
      • Na primjer , [SELECT SUBSTR ('India is my country, 1, 4) from dual] vratit će "Indi".
    • INSTR će vratiti broj pozicije pod-niz unutar niza.
      • Na primjer , [SELECT INSTR ('Indija je moja zemlja, 'a') from dual] vratit će 5.

    P #8) Kako možemo saznati duplicirane vrijednosti u Oracle tablici?

    Odgovor: Možemo koristiti donji primjer upita za dohvaćanje dupliciranih zapisa.

     SELECT EMP_NAME, COUNT (EMP_NAME) FROM EMP GROUP BY EMP_NAME HAVING COUNT (EMP_NAME) > 1; 

    P #9) Kako radi naredba ON-DELETE-CASCADE ?

    Odgovor: Upotreba ON DELETE CASCADE automatski će izbrisati zapis u podređenoj tablici kada se isti izbriše iz nadređene tablice. Ova se izjava može koristiti sa stranim ključevima.

    Možemo dodati opciju ON DELETE CASCADE u postojeću tablicu koristeći donji skup naredbi.

    Sintaksa:

     ALTER TABLE CHILD_T1 ADD CONSTRAINT CHILD_PARENT_FK REFERENCES PARENT_T1 (COLUMN1) ON DELETE CASCADE; 

    P #10) Što je NVL funkcija? Kako se može koristiti?

    Odgovor: NVL je funkcija koja pomaže korisniku da zamijeni vrijednost ako se za izraz nađe null.

    Može se koristiti kao donja sintaksa.

    NVL (Value_In, Replace_With)

    P #11) Koja je razlika između primarnog ključa & Jedinstveni ključ?

    Odgovor: Primarni ključ se koristi za jedinstvenu identifikaciju svakog retka tablice, dok jedinstveni ključ sprječava duple vrijednosti u stupcu tablice.

    U nastavku je navedeno nekoliko razlika:

    • Primarni ključ može biti samo jedan na tablici dok jedinstvenih ključeva može biti više.
    • Primarni ključ ne može sadržavati uopće null vrijednost dok jedinstveni ključ dopušta više null vrijednosti.
    • Primarniključ je klasterirani indeks dok je jedinstveni ključ neklasterirani indeks.

    P #12) Kako se naredba TRANSLATE razlikuje od REPLACE?

    Odgovor: Naredba TRANSLATE prevodi znakove jedan po jedan u danom nizu sa zamjenskim znakom. Naredba REPLACE zamijenit će znak ili skup znakova potpunim zamjenskim nizom.

    Na primjer:

     TRANSLATE (‘Missisippi’,’is’,’15) => M155151pp1 REPLACE (‘Missisippi’,’is’,’15) =>  M15s15ippi 

    P #13) Kako možemo pronaći trenutni datum i vrijeme u Oracleu?

    Odgovor: Možemo pronaći trenutni datum & vrijeme pomoću naredbe SYSDATE u Oracleu.

    Sintaksa:

    SELECT SYSDATE into CURRENT_DATE from dual;

    P #14) Zašto koristimo funkciju COALESCE u Oracleu?

    Odgovor: Funkcija COALESCE koristi se za vraćanje prvog izraza koji nije nula s popisa argumenata navedenih u izrazu. U izrazu moraju postojati najmanje dva argumenta.

    Sintaksa:

    COALESCE (expr 1, expr 2, expr 3…expr n)

    P #15) Kako ćete napisati upit da biste dobili 5. RANG učenika iz tablice STUDENT_REPORT?

    Odgovor: Upit će biti sljedeći:

     SELECT TOP 1 RANK FROM (SELECT TOP 5 RANK FROM STUDENT_REPORT ORDER BY RANK DESC) AS STUDENT ORDER BY RANK ASC; 

    P #16) Kada koristimo GRUPU BY klauzula u SQL upitu?

    Odgovor: GROUP BY klauzula koristi se za identifikaciju i grupiranje podataka prema jednom ili više stupaca u rezultatima upita. Ova se klauzula često koristi s agregatnim funkcijama kao što su COUNT, MAX, MIN, SUM, AVG itd.

    Sintaksa:

     SELECT COLUMN_1, COLUMN_2 FROM TABLENAME WHERE [condition] GROUP BY COLUMN_1, COLUMN_2 

    P #17) Što je najbrži način za dohvaćanje podataka iz atablicu?

    Odgovor: Najbrži način za dohvaćanje podataka bio bi korištenje ROWID-a u SQL upitu.

    P #18) Gdje koristimo li izjave DECODE i CASE?

    Odgovor: Oba DECODE & Izjave CASE funkcionirat će kao izjave IF-THEN-ELSE i one su alternative jedna drugoj. Ove se funkcije koriste u Oracleu za transformaciju vrijednosti podataka.

    Na primjer:

    Funkcija DECODE

     Select ORDERNUM, DECODE (STATUS,'O', ‘ORDERED’,'P', ‘PACKED,’S’,’SHIPPED’,’A’,’ARRIVED’) FROM ORDERS; 

    CASE Funkcija

     Select ORDERNUM , CASE (WHEN STATUS ='O' then ‘ORDERED’ WHEN STATUS ='P' then PACKED WHEN STATUS ='S' then ’SHIPPED’ ELSE ’ARRIVED’) END FROM ORDERS; 

    Obje naredbe će prikazati brojeve narudžbi sa svojim statusom kao,

    Ako,

    Status O= Naručeno

    Status P= Zapakirano

    Status S= Otpremljeno

    Status A= Stiglo

    P #19) Zašto su nam potrebna ograničenja integriteta u bazi podataka?

    Odgovor: Ograničenja integriteta potrebna su za provođenje poslovnih pravila kako bi se održao integritet baze podataka i spriječiti unos nevažećih podataka u tablice. Uz pomoć dolje navedenih ograničenja, odnosi se mogu održavati između tablica.

    Dostupna su različita ograničenja integriteta koja uključuju primarni ključ, strani ključ, JEDINSTVEN KLJUČ, NIJE NULL & PROVJERITE.

    P #20) Što mislite pod SPAJANJEM u Oracleu i kako možemo spojiti dvije tablice?

    Odgovor: SPAJANJE naredba se koristi za spajanje podataka iz dvije tablice. Odabire podatke iz izvorne tablice i umeće/ažurira ih u drugu tablicu na temeljuuvjet naveden u upitu MERGE.

    Sintaksa:

     MERGE INTO TARGET_TABLE_1 USING SOURCE_TABLE_1 ON SEARCH_CONDITION WHEN MATCHED THEN INSERT (COL_1, COL_2…) VALUES (VAL_1, VAL_2…) WHERE  WHEN NOT MATCHED THEN UPDATE SET COL_1=VAL_1, COL_2=VAL_2… WHEN  

    P #21) Čemu služe agregatne funkcije u Oracleu?

    Odgovor: Agregatne funkcije izvode operacije sažetka na skupu vrijednosti kako bi dale jednu vrijednost. Postoji nekoliko agregatnih funkcija koje koristimo u našem kodu za izvođenje izračuna. Ovo su:

    • PROSJEC
    • MIN
    • MAX
    • BROJ
    • SUM
    • STDEV

    Q #22) Koji su operatori skupa UNION, UNION ALL, MINUS & INTERSECT je trebao učiniti?

    Odgovor: Operator skupa omogućuje korisniku dohvaćanje podataka iz dvije ili više od dvije tablice odjednom ako su stupci i relativni tipovi podataka isto u izvornim tablicama.

    • UNION operator vraća sve retke iz obje tablice osim dupliciranih redaka.
    • UNION ALL vraća sve retke iz obje tablice zajedno s dupliciranim recima.
    • MINUS vraća retke iz prve tablice, koji ne postoje u drugoj tablici.
    • INTERSECT vraća samo zajedničke retke u obje tablice.

    P #23) Možemo li pretvoriti datum u char u Oracleu i ako možemo, koja bi bila sintaksa?

    Odgovor: Možemo koristiti funkciju TO_CHAR da izvršimo gornju konverziju.

    Sintaksa:

    SELECT to_char (to_date ('30-01-2018', 'DD-MM-YYYY'), 'YYYY-MM-DD') FROM dual;

    P #24) Što mislite pod transakcijom baze podataka & koje su sve TCL izjave dostupne u Oracleu?

    Odgovor: Transakcijadogađa se kada se skup SQL naredbi izvede u jednom potezu. Za kontrolu izvršenja ovih naredbi, Oracle je uveo TCL, tj. Transaction Control Statemente koji koriste skup naredbi.

    Skup naredbi uključuje:

    • OBAVEZA: Koristi se da se transakcija učini trajnom.
    • POVRATAK: Koristi se za vraćanje stanja DB-a do zadnje točke predaje.
    • TOČKA SPREMA: Pomaže odrediti točku transakcije na koju se kasnije može izvršiti vraćanje.

    P #25) Što podrazumijevate pod objektom baze podataka? Možete li nabrojati neke od njih?

    Odgovor: Objekt koji se koristi za pohranu podataka ili referenci podataka u bazi podataka poznat je kao objekt baze podataka. Baza podataka sastoji se od raznih vrsta DB objekata kao što su tablice, pogledi, indeksi, ograničenja, pohranjene procedure, okidači itd.

    P #26) Što je ugniježđena tablica i kako se razlikuje od normalna tablica?

    Odgovor: Ugniježđena tablica je objekt zbirke baze podataka koji se može pohraniti kao stupac u tablici. Prilikom izrade normalne tablice, cijela ugniježđena tablica može se referencirati u jednom stupcu. Ugniježđene tablice imaju samo jedan stupac bez ograničenja redaka.

    Na primjer:

     CREATE TABLE EMP ( EMP_ID NUMBER, EMP_NAME  TYPE_NAME) 

    Ovdje stvaramo normalnu tablicu kao EMP i pozivamo se na ugniježđenu tablicu TYPE_NAME kao stupac.

    P #27) Možemo li spremiti slike u bazu podataka i ako da, kako?

    Odgovor: BLOB je kratica za Binary Large Object, što je tip podataka koji se općenito koristi za držanje slika, zvuka & video datoteke ili neke binarne izvršne datoteke. Ovaj tip podataka ima kapacitet čuvanja podataka do 4 GB.

    P #28) Što podrazumijevate pod shemom baze podataka i što ona sadrži?

    Odgovor: Shema je zbirka objekata baze podataka u vlasništvu korisnika baze podataka koji može kreirati ili manipulirati novim objektima unutar ove sheme. Shema može sadržavati bilo koje DB objekte poput tablice, pogleda, indeksa, klastera, pohranjenih procesa, funkcija itd.

    P #29) Što je rječnik podataka i kako se može stvoriti?

    Odgovor: Kad god se stvori nova baza podataka, sustav kreira rječnik podataka specifičan za bazu podataka. Ovaj rječnik je u vlasništvu korisnika SYS i održava sve metapodatke koji se odnose na bazu podataka. Ima skup tablica samo za čitanje i pogleda te je fizički pohranjen u prostoru tablice SYSTEM.

    P #30) Što je pogled i po čemu se razlikuje od tablice?

    Odgovor: Prikaz je korisnički definiran objekt baze podataka koji se koristi za pohranjivanje rezultata SQL upita, na koje se kasnije može referirati. Pogledi ne pohranjuju ove podatke fizički već kao virtualnu tablicu, stoga se mogu nazvati logičkom tablicom.

    Prikaz se razlikuje od tablice:

    • Tablica može sadržavati podatke, ali ne i rezultate SQL upita, dok View može spremiti rezultate upita,
    Pomakni se na vrh