Pyetjet dhe përgjigjet më të shpeshta të intervistave të Oracle:
40 pyetjet kryesore të intervistës së Oracle së bashku me përgjigjet që mbulojnë pothuajse të gjitha konceptet bazë të Oracle.
Kjo është një seri e thelluar që mbulon pothuajse të gjitha pyetjet e Oracle Interview:
Pjesa #1: Pyetje Oracle Basic, SQL, PL/SQL (ky artikull)
Pjesa #2: Pyetjet e Oracle DBA, RAC dhe akordimi i performancës
Pjesa #3: Pyetjet e intervistës për format dhe raportet e Oracle
Pjesa #4: Aplikacionet e Oracle dhe pyetjet e intervistës teknike të Oracle SOA
Le të fillojmë me Artikulli i parë i serisë.
Llojet e pyetjeve të trajtuara në këtë artikull:
- Pyetjet bazë të intervistës së Oracle
- Oracle SQL Pyetjet e intervistës
- Pyetjet e intervistës Oracle PL/SQL
Do të gjeni bazat e Oracle të shpjeguara me shembuj të thjeshtë për të kuptuar. Nëse po planifikoni të paraqiteni për një intervistë Oracle, këto grupe pyetjesh të përfshira në këtë artikull do të jenë patjetër një ndihmë e madhe.
Le të shkojmë përpara!!
Lista e pyetjeve më të mira të intervistës Oracle
P #1) Çfarë është Oracle dhe cilat janë botimet e tij të ndryshme?
Përgjigjja: Oracle është një nga bazat e të dhënave të njohura të ofruara nga Oracle Corporation, e cila punon në konceptet e menaxhimit relacional, dhe për këtë arsye quhet edhe Oracle RDBMS. Përdoret gjerësisht për onlinee cila mund të përdoret në një pyetje tjetër SQL në tërësi.
P #31) Çfarë është nënkuptohet me një situatë bllokimi?
Përgjigje: Një bllokim është një situatë kur dy ose më shumë përdorues janë duke pritur njëkohësisht për të dhënat, të cilat bllokohen nga njëri-tjetri. Prandaj rezulton në të gjitha seancat e përdoruesve të bllokuara.
P #32) Çfarë nënkuptohet me një indeks?
Përgjigje: Një indeks është një objekt skemë, i cili është krijuar për të kërkuar të dhënat në mënyrë efikase brenda tabelës. Indekset zakonisht krijohen në kolona të caktuara të tabelës, të cilat aksesohen më shumë. Indekset mund të jenë të grupuar ose jo të grupuar.
P#33) Çfarë është një ROLE në bazën e të dhënave Oracle?
Përgjigje: Dhënia e aksesit për objektet individuale për përdoruesit individualë është një detyrë e vështirë administrative. Për ta bërë këtë punë të lehtë, krijohet një grup privilegjesh të përbashkëta në një bazë të dhënash, e cila njihet si ROLE. ROLI, pasi të krijohet, mund t'u caktohet ose të revokohet nga përdoruesit duke përdorur GRANT & Komanda 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;
Q #34) Cilat janë atributet që gjenden në një KURSOR?
Përgjigje: NJË KURSOR ka atribute të ndryshme siç përmenden më poshtë:
(i) %FOUND :
- Kthen INVALID_CURSOR nëse kursori është deklaruar por i mbyllur.
- Kthen NULL nëse marrja nuk ka ndodhur, por kursori është vetëm i hapur.
- Kthen TRUE, nëserreshtat merren me sukses dhe FALSE nëse asnjë rresht nuk kthehet.
(ii) NUK FOUND :
- Kthen INVALID_CURSOR nëse kursori ka qenë i deklaruar por i mbyllur.
- Kthen NULL nëse nuk ka ndodhur marrja, por kursori është vetëm i hapur.
- Kthen FALSE, nëse rreshtat merren me sukses dhe TRUE nëse asnjë rresht nuk është kthyer
(iii) %ISOPEN : Kthen TRUE, nëse kursori është OPEN tjetër FALSE
(iv) %ROWCOUNT : Rikthen numrin e rreshtave të marrë .
P #35) Pse përdorim %ROWTYPE & %TYPE në PLSQL?
Përgjigje: %ROWTYPE & %TYPE janë atributet në PL/SQL që mund të trashëgojnë tipet e të dhënave të një tabele të përcaktuar në një bazë të dhënash. Qëllimi i përdorimit të këtyre atributeve është të sigurojë pavarësinë dhe integritetin e të dhënave.
Nëse ndonjë nga llojet e të dhënave ose saktësia ndryshon në bazën e të dhënave, kodi PL/SQL përditësohet automatikisht me llojin e ndryshuar të të dhënave.
0>%TYPE përdoret për të deklaruar një variabël që duhet të ketë të njëjtin lloj të dhënash si në një kolonë tabele.
Ndërsa %ROWTYPE do të përdoret për të përcaktuar një rresht të plotë të rekordeve që kanë një strukturë të ngjashme me strukturën të një tabele.
P #36) Pse krijojmë Procedurat e ruajtura & Funksionet në PL/SQL dhe si ndryshojnë?
Përgjigje: Një procedurë e ruajtur është një grup deklaratash SQL që janë shkruar për të kryer një detyrë specifike. Këto deklarata mund të ruhen si grup në bazën e të dhënaveme një emër të caktuar dhe mund të ndahet me programe të ndryshme nëse ka leje për të hyrë në të njëjtat.
Funksionet janë përsëri nënprograme që janë shkruar për të kryer detyra specifike, por ka dallime midis të dyjave.
13>
P #37) Cilat janë parametrat që mund të kalojmë përmes një procedure të ruajtur?
Përgjigje: Mund të kalojmë IN, OUT & Parametrat INOUT përmes një procedure të ruajtur dhe ato duhet të përcaktohen gjatë deklarimit të vetë procedurës.
P #38) Çfarë është një nxitës dhe cilat janë llojet e tij?
Përgjigje: Një nxitës është një program i ruajtur që është shkruar në mënyrë të tillë që të ekzekutohet automatikisht kur ndodh ndonjë ngjarje. Kjo ngjarje mund të jetë çdo operacion DML ose DDL.
PL/SQL mbështet dy lloje tënxitësit:
- Niveli i rreshtit
- Niveli i deklaratës
P #39) Si do ta dalloni një variabël global nga një lokal variabël në PL/SQL?
Përgjigje: Variabli global është ai, i cili përcaktohet në fillim të programit dhe mbijeton deri në fund. Mund të arrihet me çdo metodë ose procedurë brenda programit, ndërsa qasja në variablin lokal është e kufizuar në procedurën ose metodën ku është deklaruar.
P #40) Cilat janë paketat në PL SQL?
Përgjigje: Një paketë është një grup objektesh të lidhura me bazën e të dhënave si proceset e ruajtura, funksionet, llojet, aktivizuesit, kursorët, etj. që ruhen në bazën e të dhënave Oracle . Është një lloj biblioteke e objekteve të lidhura që mund të aksesohen nga shumë aplikacione nëse lejohet.
Struktura e paketës PL/SQL përbëhet nga 2 pjesë: specifikimi i paketës & trupi i paketës.
Përfundim
Shpresoj se grupi i pyetjeve të mësipërme do t'ju ketë ndihmuar të merrni një pamje të qartë se për çfarë bëhet fjalë Oracle.
Edhe nëse keni një njohja e të gjitha koncepteve bazë, mënyra se si i prezanton ato në intervistë ka shumë rëndësi. Prandaj qëndroni të qetë dhe përballeni intervistën me siguri pa asnjë hezitim.
Lexo TJETËR Pjesën 2: Pyetjet e Oracle DBA, RAC dhe akordimi i performancës
Ju urojmë suksese!!
Lexim i rekomanduar
P #2) Si do ta identifikoni lëshimin e softuerit të bazës së të dhënave Oracle?
Përgjigja: Oracle ndjek një sërë formatesh për çdo version.
Për shembull ,
Lëshimi 10.1.0.1.1 mund t'i referohet si:
10: Numri kryesor i lëshimit të DB-së
1: Numri i lëshimit të mirëmbajtjes së DB
0: Numri i lëshimit të serverit të aplikacionit
1: Numri specifik i lëshimit të komponentit
1: Numri specifik i lëshimit të platformës
P #3) Si do të dalloni midis VARCHAR & VARCHAR2?
Përgjigje: Të dy VARCHAR & VARCHAR2 janë lloje të të dhënave Oracle që përdoren për të ruajtur vargjet e karaktereve me gjatësi të ndryshueshme. Dallimet e tyre janë:
- VARCHAR mund të ruajë karaktere deri në 2000 byte ndërsa VARCHAR2 mund të ruajë deri në 4000 byte.
- VARCHAR do të mbajë hapësirën për karakteret e përcaktuara gjatë deklarimit edhe nëse të gjitha ato nuk përdoren ndërsa VARCHAR2 do të lëshojë hapësirën e papërdorur.
P #4) Cili është ndryshimi midis TRUNCATE & FSHI komandat?
Përgjigje: Të dyja komandat përdoren për të hequr të dhënat nga baza e të dhënave.
Dallimi midis të dyjave përfshin:
- TRUNCATE është një operacion DDL ndërsa DELETE është një operacion DML.
- TRUNCATE heq të gjitha rreshtat, por e lë strukturën e tabelës të paprekur. Nuk mund të kthehet mbrapsht ashtu siç ështëlëshon COMMIT para dhe pas ekzekutimit të komandës ndërsa komanda DELETE mund të kthehet prapa.
- Komanda TRUNCATE do të lirojë hapësirën e ruajtjes së objektit ndërsa komanda DELETE jo.
- TRUNCATE është më e shpejtë në krahasim me FSHI.
P #5) Çfarë nënkuptohet me llojin e të dhënave RAW?
Përgjigje: Lloji i të dhënave RAW përdoret për të ruajtur variablin- gjatësia e të dhënave binare ose vargjet e bajtit.
Dallimi midis RAW & Lloji i të dhënave VARCHAR2 është se PL/SQL nuk e njeh këtë lloj të dhënash dhe për këtë arsye, nuk mund të bëjë asnjë konvertim kur të dhënat RAW transferohen në sisteme të ndryshme. Ky lloj i të dhënave mund të kërkohet ose të futet vetëm në një tabelë.
Sintaksa: RAW (precision)
Q #6) Çfarë nënkuptohet me Bashkimet? Listoni llojet e lidhjeve.
Përgjigje: Bashkimet përdoren për të nxjerrë të dhëna nga tabela të shumta duke përdorur disa kolona ose kushte të zakonshme.
Ka Llojet e ndryshme të lidhjeve siç janë renditur më poshtë:
- BASHKIMI I BRENDSHËM
- BASHKIMI I JASHTËM
- SHKYRJA KRYQE ose PRODUKTI DEKREZAN
- BAJTJA EQUI
- ANTI JOIN
- SEMI JOIN
P #7) Cili është ndryshimi midis SUBSTR & Funksionet INSTR?
Përgjigje:
- Funksioni SUBSTR kthen nënpjesën e identifikuar nga vlerat numerike nga vargu i dhënë.
- Për shembull , [SELECT SUBSTR ('India është vendi im, 1, 4) nga dual] do të kthejë "Indi".
- INSTR do të kthejë numrin e pozicionit të nën-varg brenda vargut.
- Për shembull , [SELECT INSTR ('India është vendi im, 'a') nga dual] do të kthehet 5.
P #8) Si mund t'i gjejmë vlerat e dyfishta në një tabelë Oracle?
Përgjigje: Ne mund të përdorim pyetjen e mëposhtme të shembullit për të marrë të dhënat e kopjuara.
SELECT EMP_NAME, COUNT (EMP_NAME) FROM EMP GROUP BY EMP_NAME HAVING COUNT (EMP_NAME) > 1;
P #9) Si funksionon deklarata ON-DELETE-CASCADE ?
Përgjigja: Përdorimi ON DELETE CASCADE do të fshijë automatikisht një rekord në tabelën e fëmijëve kur i njëjti fshihet nga tabela prind. Kjo deklaratë mund të përdoret me çelësat e huaj.
Mund të shtojmë opsionin ON DELETE CASCADE në një tabelë ekzistuese duke përdorur grupin e mëposhtëm të komandave.
Sintaksa:
ALTER TABLE CHILD_T1 ADD CONSTRAINT CHILD_PARENT_FK REFERENCES PARENT_T1 (COLUMN1) ON DELETE CASCADE;
P #10) Çfarë është një funksion NVL? Si mund të përdoret?
Përgjigje: NVL është një funksion që ndihmon përdoruesin të zëvendësojë vlerën nëse haset null për një shprehje.
Mund të përdoret si sintaksa më poshtë.
NVL (Value_In, Replace_With)
P #11) Cili është ndryshimi midis një çelësi primar & një çelës unik?
Përgjigje: Çelësi kryesor përdoret për të identifikuar çdo rresht të tabelës në mënyrë unike, ndërsa një çelës unik parandalon vlerat e dyfishta në një kolonë tabele.
Më poshtë janë dhënë disa ndryshime:
- Çelësi kryesor mund të jetë vetëm një në tabelë ndërsa çelësat unik mund të jenë të shumëfishtë.
- Çelësi kryesor nuk mund të mbajë një vlerë null fare ndërsa çelësi unik lejon vlera të shumta nule.
- Primarçelësi është një indeks i grupuar ndërsa një çelës unik është një indeks jo i grupuar.
P #12) Si ndryshon komanda TRANSLATE nga REPLACE?
Përgjigje: Komanda TRANSLATE përkthen karakteret një nga një në vargun e dhënë me karakterin zëvendësues. Komanda REPLACE do të zëvendësojë një karakter ose një grup karakteresh me një varg të plotë zëvendësimi.
Për shembull:
TRANSLATE (‘Missisippi’,’is’,’15) => M155151pp1 REPLACE (‘Missisippi’,’is’,’15) => M15s15ippi
Q #13) Si mund të gjejmë nga data dhe ora aktuale në Oracle?
Përgjigje: Mund ta gjejmë datën aktuale & koha duke përdorur komandën SYSDATE në Oracle.
Sintaksa:
SELECT SYSDATE into CURRENT_DATE from dual;
P #14) Pse e përdorim funksionin COALESCE në Oracle?
Përgjigje: Funksioni COALESCE përdoret për të kthyer shprehjen e parë jo-null nga lista e argumenteve të dhëna në shprehje. Duhet të ketë të paktën dy argumente në një shprehje.
Sintaksa:
COALESCE (expr 1, expr 2, expr 3…expr n)
P #15) Si do të shkruani një pyetje për të marrë RANKËN e 5-të studentë nga tabela RAPORT_STUDENT?
Përgjigje: Pyetja do të jetë si më poshtë:
SELECT TOP 1 RANK FROM (SELECT TOP 5 RANK FROM STUDENT_REPORT ORDER BY RANK DESC) AS STUDENT ORDER BY RANK ASC;
P #16) Kur e përdorim GRUPIN Klauzola BY në SQL Query?
Përgjigje: Klauzola GROUP BY përdoret për të identifikuar dhe grupuar të dhënat sipas një ose më shumë kolonave në rezultatet e pyetjes. Kjo klauzolë përdoret shpesh me funksione të përgjithshme si COUNT, MAX, MIN, SUM, AVG, etj.
Sintaksë:
SELECT COLUMN_1, COLUMN_2 FROM TABLENAME WHERE [condition] GROUP BY COLUMN_1, COLUMN_2
Q #17) Çfarë është mënyra më e shpejtë për të marrë të dhënat nga atabela?
Përgjigje: Mënyra më e shpejtë për të marrë të dhënat do të ishte përdorimi i ROWID në pyetjen SQL.
P #18) Ku a përdorim deklaratat DECODE dhe CASE?
Përgjigje: Të dyja DEKODE & Deklaratat CASE do të funksionojnë si deklaratat IF-THEN-ELSE dhe ato janë alternativat për njëri-tjetrin. Këto funksione përdoren në Oracle për të transformuar vlerat e të dhënave.
Për shembull:
Funksioni DEKODI
Select ORDERNUM, DECODE (STATUS,'O', ‘ORDERED’,'P', ‘PACKED,’S’,’SHIPPED’,’A’,’ARRIVED’) FROM ORDERS;
RASTE Funksioni
Select ORDERNUM , CASE (WHEN STATUS ='O' then ‘ORDERED’ WHEN STATUS ='P' then PACKED WHEN STATUS ='S' then ’SHIPPED’ ELSE ’ARRIVED’) END FROM ORDERS;
Të dy komandat do të shfaqin numrat e rendit me statusin e tyre përkatës si,
Nëse,
Statusi O= i porositur
Statusi P= i paketuar
Statusi S= i dërguar
Statusi A= mbërriti
P #19) Pse na duhen kufizimet e integritetit në një bazë të dhënash?
Përgjigje: Kufizimet e integritetit kërkohen për të zbatuar rregullat e biznesit në mënyrë që të ruhet integriteti i bazës së të dhënave dhe parandaloni futjen e të dhënave të pavlefshme në tabela. Me ndihmën e kufizimeve të përmendura më poshtë, marrëdhëniet mund të mbahen midis tabelave.
Kufizime të ndryshme të integritetit janë të disponueshme, të cilat përfshijnë çelësin kryesor, çelësin e huaj, çelësin UNIK, NOT NULL & KONTROLLO.
P #20) Çfarë kuptoni me MERGE në Oracle dhe si mund të bashkojmë dy tabela?
Përgjigje: MERGE deklarata përdoret për të bashkuar të dhënat nga dy tabela. Ai zgjedh të dhënat nga tabela burimore dhe i fut/përditëson në tabelën tjetër bazuar nëkushti i dhënë në pyetjen 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…) WHEREWHEN NOT MATCHED THEN UPDATE SET COL_1=VAL_1, COL_2=VAL_2… WHEN
P #21) Cili është përdorimi i funksioneve Agregate në Oracle?
Përgjigje: Funksionet e përmbledhura kryejnë operacione përmbledhëse në një grup vlerash për të siguruar një vlerë të vetme. Ka disa funksione agregate që ne përdorim në kodin tonë për të kryer llogaritjet. Këto janë:
- AVG
- MIN
- MAX
- COUNT
- SUM
- STDEV
P #22) Cilët janë operatorët e vendosur UNION, UNION ALL, MINUS & INTERSECT ka për qëllim të bëjë?
Përgjigje: Operatori i vendosur lehtëson përdoruesin të marrë të dhënat nga dy ose më shumë se dy tabela menjëherë nëse kolonat dhe llojet e të dhënave relative janë e njëjta gjë në tabelat burimore. Operatori
- UNION kthen të gjitha rreshtat nga të dyja tabelat, përveç rreshtave dublikatë.
- UNION ALL kthen të gjitha rreshtat nga të dyja tabelat së bashku me rreshtat dublikatë.
- MINUS kthen rreshtat nga tabela e parë, e cila nuk ekziston në tabelën e dytë.
- INTERSECT kthen vetëm rreshtat e përbashkët në të dyja tabelat.
P #23) A mund të konvertojmë një datë në char në Oracle dhe nëse po, cila do të ishte sintaksa?
Përgjigje: Mund të përdorim funksionin TO_CHAR për të bërë konvertimin e mësipërm.
Sintaksa:
SELECT to_char (to_date ('30-01-2018', 'DD-MM-YYYY'), 'YYYY-MM-DD') FROM dual;
P #24) Çfarë kuptoni me një transaksion të bazës së të dhënave & cilat janë të gjitha deklaratat TCL të disponueshme në Oracle?
Përgjigja: Transaksionindodh kur një grup deklaratash SQL ekzekutohen me një lëvizje. Për të kontrolluar ekzekutimin e këtyre deklaratave, Oracle ka prezantuar TCL, d.m.th. Deklaratat e Kontrollit të Transaksionit që përdorin një grup deklaratash.
Grupi i deklaratave përfshin:
- COMMIT: Përdoret për të bërë një transaksion të përhershëm.
- ROLLBACK: Përdoret për të rikthyer gjendjen e DB për të zgjatur pikën e kryerjes.
- POINT RUAJTJE: Ndihmon për të specifikuar një pikë transaksioni në të cilën mund të bëhet rikthimi më vonë.
P #25) Çfarë kuptoni me një objekt bazë të dhënash? A mund të listoni disa prej tyre?
Përgjigje: Objekti i përdorur për të ruajtur të dhënat ose referencat e të dhënave në një bazë të dhënash njihet si objekt i bazës së të dhënave. Baza e të dhënave përbëhet nga lloje të ndryshme të objekteve DB si tabela, pamje, indekse, kufizime, procedura të ruajtura, nxitës, etj.
P #26) Çfarë është një tabelë e mbivendosur dhe si ndryshon nga një tabelë normale?
Përgjigje: Një tabelë e mbivendosur është një objekt koleksioni i bazës së të dhënave, i cili mund të ruhet si një kolonë në një tabelë. Ndërsa krijoni një tabelë normale, një tabelë e tërë e mbivendosur mund të referohet në një kolonë të vetme. Tabelat e ndërlidhura kanë vetëm një kolonë pa kufizim rreshtash.
Për shembull:
CREATE TABLE EMP ( EMP_ID NUMBER, EMP_NAME TYPE_NAME)
Këtu, ne po krijojmë një tabelë normale si EMP dhe i referohemi një tabele të mbivendosur TYPE_NAME si kolonë.
P #27) A mund t'i ruajmë imazhet në një bazë të dhënash dhe nëse po, si?
Përgjigja: BLOB qëndron për Binary Large Object, i cili është një lloj i të dhënave që përdoret përgjithësisht për të mbajtur imazhe, audio dhe amp; skedarë video, ose disa ekzekutues binare. Ky lloj i të dhënave ka kapacitetin për të mbajtur të dhëna deri në 4 GB.
P #28) Çfarë kuptoni me skemën e bazës së të dhënave dhe çfarë përmban ajo?
Përgjigje: Skema është një koleksion i objekteve të bazës së të dhënave në pronësi të një përdoruesi të bazës së të dhënave, i cili mund të krijojë ose manipulojë objekte të reja brenda kësaj skeme. Skema mund të përmbajë çdo objekt DB si tabelë, pamje, indekse, grupime, procese të ruajtura, funksione, etj.
P #29) Çfarë është fjalori i të dhënave dhe si mund të krijohet?
Përgjigje: Sa herë që krijohet një bazë e re e të dhënave, sistemi krijohet një fjalor specifik i të dhënave për bazën e të dhënave. Ky fjalor është në pronësi të përdoruesit të SYS dhe ruan të gjitha meta të dhënat që lidhen me bazën e të dhënave. Ka një grup tabelash dhe pamjesh vetëm për lexim dhe ruhet fizikisht në hapësirën e tabelës SYSTEM.
P #30) Çfarë është një Pamje dhe si ndryshon nga një tabelë?
Përgjigja: View është një objekt bazë të dhënash i përcaktuar nga përdoruesi që përdoret për të ruajtur rezultatet e një pyetjeje SQL, e cila mund të referohet më vonë. Pamjet nuk i ruajnë këto të dhëna fizikisht, por si një tabelë virtuale, prandaj mund të referohen si një tabelë logjike.
Pamja është e ndryshme nga tabela:
- Një tabelë mund të mbajë të dhëna, por jo rezultatet e pyetjes SQL, ndërsa View mund të ruajë rezultatet e pyetjes,