Oracleko elkarrizketa-galdera nagusiak: Oracle Basic, SQL, PL/SQL galderak

Oracle-ren elkarrizketa-galdera eta erantzun ohikoenak:

Oracle-ren 40 elkarrizketa-galdera nagusiak Oracle-ren oinarrizko kontzeptu guztiak biltzen dituzten erantzunekin batera.

Oracle Interview galdera ia guztiak biltzen dituen serie sakona da hau:

1. zatia: Oracle Basic, SQL, PL/SQL galderak (artikulu hau)

2. atala: Oracle DBA, RAC eta errendimenduaren doikuntzarako galderak

3. atala: Oracle inprimakiak eta txostenak elkarrizketa-galderak

4. zatia: Oracle aplikazioak eta Oracle SOA elkarrizketa teknikoko galderak

Has gaitezen Multzoko 1. artikulua.

Artikulu honetan lantzen diren galdera motak:

  • Oracleko elkarrizketa-galderak oinarrizkoak
  • Oracle SQL elkarrizketa-galderak
  • Oracle PL/SQL elkarrizketa-galderak

Oracle-ren oinarriak adibide errazekin azalduta aurkituko dituzu ulertzeko. Oracleko elkarrizketa batera agertzeko asmoa baduzu, artikulu honetan jasotako galdera-sorta hauek laguntza handia izango dute zalantzarik gabe.

Aurrera!!

Oracleko elkarrizketa-galdera nagusien zerrenda

G #1) Zer da Oracle eta zeintzuk dira bere edizio desberdinak?

Erantzuna: Oracle Oracle Corporation-ek eskaintzen duen datu-base ezagunetako bat da, kudeaketa erlazionalaren kontzeptuak lantzen dituena, eta, horregatik, Oracle RDBMS ere deitzen zaio. Sarean asko erabiltzen dabere osotasunean beste SQL kontsulta batean erabil daitekeena.

  • Taula eguneratu edo ezabatu daiteke Ikuspegiak ezin diren bitartean.
  • Q #31) Zer da. blokeo-egoera batek esan nahi du?

    Erantzuna: Blokeoa bi erabiltzaile edo gehiago aldi berean datuen zain dauden egoera da, elkarren artean blokeatuta dagoena. Beraz, blokeatutako erabiltzaileen saio guztiak sortzen ditu.

    G #32) Zer esan nahi du indize batekin?

    Erantzuna: Indize bat da. eskema objektua, taula barruan datuak eraginkortasunez bilatzeko sortu dena. Indizeak taulako zenbait zutabetan sortzen dira, gehien sartzen direnak. Indizeak multzokatuta edo multzokatu gabe egon daitezke.

    G#33) Zer da ROLE bat Oracle datu-basean?

    Erantzuna: Sarbidea ematea banakako objektuei erabiltzaile indibidualei administrazio-lan gogorra da. Lan hori erraztu ahal izateko, datu-base batean pribilegio komunen multzo bat sortzen da, ROLE izenez ezagutzen dena. ROLE, behin sortuta, erabiltzaileei esleitu edo kendu diezaieke GRANT & ERREBOKE komandoa.

    Sintaxia:

     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) Zeintzuk dira KURSORE batean aurkitzen diren atributuak?

    Erantzuna: KURSOR batek hainbat atributu ditu behean aipatzen den bezala:

    (i) %FOUND :

    • INVALID_CURSOR itzultzen du kurtsorea bada deklaratu da baina itxi egin da.
    • NULL itzultzen du eskuratzea gertatu ez bada baina kurtsorea soilik irekita badago.
    • TRUE itzultzen du, baldinerrenkadak behar bezala lortzen dira eta FALSE errenkadarik ez bada itzultzen.

    (ii) NOT FOUND :

    • INVALID_CURSOR itzultzen du kurtsorea egon bada. deklaratu baina itxita.
    • NULL itzultzen du eskuraketa gertatu ez bada baina kurtsorea irekita badago soilik.
    • FALSE itzultzen du, errenkadak behar bezala lortzen badira eta TRUE errenkadarik itzultzen ez bada

    (iii) %ISOPEN : EGIA ematen du, kurtsorea IREKI badago bestela GEZURRA

    (iv) %ROWCOUNT : lortutako errenkaden kopurua itzultzen du .

    G #35) Zergatik erabiltzen dugu %ROWTYPE & %TYPE PLSQL-n?

    Erantzuna: %ROWTYPE & %TYPE datu-base batean definitutako taula baten datu-motak hereda ditzaketen PL/SQL-ko atributuak dira. Atributu hauek erabiltzearen helburua datuen independentzia eta osotasuna eskaintzea da.

    Datu-basean datu-mota edo zehaztasunen bat aldatzen bada, PL/SQL kodea automatikoki eguneratuko da aldatutako datu-motarekin.

    %TYPE taula-zutabe baten datu-mota bera izan behar duen aldagai bat deklaratzeko erabiltzen da.

    %ROWTYPE egituraren antzeko egitura duten erregistroen errenkada osoa definitzeko erabiliko den bitartean. taula baten.

    G #36) Zergatik sortzen ditugu Stored Procedures & PL/SQL-n funtzioak eta nola desberdinak dira?

    Erantzuna: Gordetutako prozedura bat zeregin zehatz bat egiteko idazten diren SQL instrukzioen multzoa da. Adierazpen hauek talde batean gorde daitezke datu-baseanesleitutako izen batekin eta programa ezberdinekin parteka daiteke bera atzitzeko baimenak badaude.

    Funtzioak berriro zeregin zehatzak egiteko idatzitako azpiprogramak dira baina bien artean desberdintasunak daude.

    Gordetako prozedurak Funtzioak

    Biltegiratutako prozedurek balio bat itzul dezakete edo ez, eta balio anitz ere itzul ditzakete. Funtzioak beti balio bakarra itzuliko du.
    Bordetako prozedurek DML adierazpenak izan ditzakete, esaterako. txertatu, eguneratu & ezabatu. Ezin ditugu funtzio batean DML instrukzioak erabili.
    Stored Procedures funtzioei dei diezaieke. Funtzioek ezin dituzte gordetako prozedurak deitu.
    Gordetako prozedurek salbuespenen kudeaketa onartzen dute Try/Catch blokea erabiliz. Funtzioek ez dute Try/Catch blokea onartzen.

    G #37) Zeintzuk dira gordetako prozedura batetik pasa ditzakegun parametroak?

    Erantzuna: IN, OUT & INOUT parametroak gordetako prozedura baten bidez eta prozedura bera deklaratzean definitu behar dira.

    G #38) Zer da trigger bat eta zeintzuk dira bere motak?

    Erantzuna: trigger bat gertaeraren bat gertatzen denean automatikoki exekutatzen den moduan idatzita dagoen gordetako programa da. Gertaera hau edozein DML edo DDL eragiketa izan daiteke.

    PL/SQL-k bi motatakoak onartzen ditu.abiarazleak:

    • Errenkada-maila
    • Adierazpen-maila

    G #39) Nola bereiziko duzu aldagai global bat tokiko batetik aldagaia PL/SQL-n?

    Erantzuna: Aldagai globala programaren hasieran definitzen dena eta amaierara arte bizirik irauten duena da. Programaren edozein metodo edo prozeduren bidez sar daiteke, aldagai lokalerako sarbidea, berriz, deklaratzen den prozedura edo metodora mugatzen da.

    Q #40) Zeintzuk dira paketeak. PL SQL?

    Erantzuna: Pakete bat Oracle datu-basean gordetako proc, funtzioak, motak, abiarazleak, kurtsoreak eta abar gordetako proc, funtzioak, motak, abiarazleak, kurtsoreak eta abar erlazionatutako datu-baseko objektuen multzoa da. . Erlazionatutako objektuen liburutegi moduko bat da, eta aplikazio anitzek atzi dezakete baimenduta.

    PL/SQL Paketearen egitura 2 zatiz osatuta dago: paketearen zehaztapena & paketearen gorputza.

    Ondorioa

    Goiko galdera sortak Oracle zer den ikusteko balio izana espero dut.

    Nahiz eta zehatza izan. oinarrizko kontzeptu guztien ezagutzak, elkarrizketan aurkezteko moduak garrantzi handia du. Beraz, egon lasai eta aurre egin elkarrizketari konfiantzaz zalantzarik gabe.

    Irakurri HURRENGOA 2. zatia: Oracle DBA, RAC eta Performance Tuning galderak

    Arrakasta opa dizuegu!!

    Gomendatutako irakurketa

    transakzioen prozesatzea, datuen biltegiratzea eta enpresa-sareko konputazioa.

    G #2) Nola identifikatuko duzu Oracle Database Software Release?

    Erantzuna: Oracle-k hainbat formatu jarraitzen ditu bertsio bakoitzeko.

    Adibidez ,

    10.1.0.1.1 bertsioa jo daiteke. honela:

    10: DB-ren bertsio nagusia

    1: DB-ren mantentze-oharra

    0: Aplikazio-zerbitzariaren bertsio-zenbakia

    1: Osagai espezifikoko bertsio-zenbakia

    1: Plataforma-zerbitzariaren bertsio-zenbakia

    Q #3) Nola bereiziko dituzu VARCHAR & VARCHAR2?

    Erantzuna: Biak VARCHAR eta amp; VARCHAR2 luzera aldakorreko karaktere-kateak gordetzeko erabiltzen diren Oracle datu-motak dira. Hauek dira haien desberdintasunak:

    • VARCHAR-ek 2000 byte arteko karaktereak gorde ditzake eta VARCHAR2-k 4000 byte arte gorde ditzake.
    • VARCHAR-ek deklarazioan definitutako karaktereen espazioa gordeko du, nahiz eta guztiak ez dira erabiltzen, berriz, VARCHAR2-k erabili gabeko espazioa askatuko du.

    Q #4) Zein da TRUNCATE & DELETE komandoak?

    Erantzuna: Bi komandoak datu-basetik datuak kentzeko erabiltzen dira.

    Bien arteko desberdintasunak honako hauek dira:

    • TRUNCATE DDL eragiketa bat da eta DELETE DML eragiketa bat da.
    • TRUNCATE k errenkada guztiak kentzen ditu, baina taularen egitura oso-osorik uzten du. Ezin da atzera egin bezalaCOMMIT agintzen du komandoa exekutatu aurretik eta ondoren, DELETE komandoa atzera egin daitekeen bitartean.
    • TRUNCATE komandoak objektuen biltegiratze espazioa askatuko du DELETE komandoak ez duen bitartean.
    • TRUNCATE azkarragoa da. DELETE.

    G #5) Zer esan nahi du RAW datu-mota?

    Erantzuna: RAW datu-mota aldagaiak gordetzeko erabiltzen da. luzera datu bitarrak edo byte-kateak.

    RAW eta amp; VARCHAR2 datu-mota da PL/SQL-k ez duela datu mota hau ezagutzen eta, beraz, ezin du inolako bihurketarik egin RAW datuak sistema desberdinetara transferitzen direnean. Datu-mota hau taula batean soilik kontsultatu edo txertatu daiteke.

    Sintaxia: RAW (zehaztasuna)

    G #6) Zer esan nahi du Elkartzeak? Zerrendatu batuketa motak.

    Erantzuna: Elkarketak taula anitzetatik datuak ateratzeko erabiltzen dira, zutabe edo baldintza arrunt batzuk erabiliz.

    Badaude. Behean zerrendatzen diren hainbat elkarketa mota:

    • BARNEKO LOTURA
    • KANPOKO LOTURA
    • CROSS JUNTAS edo PRODUKTU KARTESIARRA
    • EQUI JOIN
    • AURKAKO JOIN
    • SEMI JOIN

    Q #7) Zein da SUBSTR & INSTR funtzioak?

    Erantzuna:

    • SUBSTR funtzioak emandako katearen zenbakizko balioekin identifikatutako azpi-zatia itzultzen du.
      • Adibidez , [SELECT SUBSTR ('India da nire herrialdea, 1, 4) dualetik] "Indi" emango du.
    • INSTR-ek azpiko posizio-zenbakia itzuliko du.katea katearen barruan.
      • Adibidez , [SELECT INSTR ('India da nire herrialdea, 'a') dualetik] 5 itzuliko da.

    G #8) Nola aurki ditzakegu Oracle taula bateko balio bikoiztuak?

    Erantzuna: Erabili dezakegu beheko adibideko kontsulta erregistro bikoiztuak lortzeko.

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

    G #9) Nola funtzionatzen du ON-DELETE-CASCADE adierazpenak ?

    Erantzuna: ON DELETE CASCADE erabiltzeak automatikoki ezabatuko du erregistro bat haurraren taulan bera mahai nagusitik ezabatzen denean. Adierazpen hau kanpoko gakoekin erabil daiteke.

    ON DELETE CASCADE aukera gehi diezaiokegu lehendik dagoen taula bati beheko komando multzoa erabiliz.

    Sintaxia:

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

    Q #10) Zer da NVL funtzio bat? Nola erabil daiteke?

    Erantzuna: NVL erabiltzaileari balioa ordezkatzen laguntzen dion funtzioa da, adierazpen batean nulua aurkitzen bada.

    Beheko sintaxi gisa erabil daiteke.

    NVL (Value_In, Replace_With)

    Q #11) Zein da gako nagusiaren eta amp; Gako esklusibo bat?

    Erantzuna: Lehen mailako gakoa taulako errenkada bakoitza modu esklusiboan identifikatzeko erabiltzen da, eta gako bakarrak taulako zutabe batean balio bikoiztuak saihesten ditu.

    Behean azaltzen dira desberdintasun batzuk:

    • Gako nagusia mahaian bakarra izan daiteke, eta gako bakarrak hainbat izan daitezke.
    • Gako nagusia ezin da eutsi. balio nulua, gako bakarrak balio nulu anitz onartzen dituen bitartean.
    • Lehen mailakoagakoa indize multzokatua da, eta gako esklusibo bat multzokatu gabeko indizea da.

    G #12) Zertan desberdintzen da TRANSLATE komandoa ORDEZTU eta ORDEZTU?

    Erantzuna: TRANSLATE komandoak karaktereak banan-banan itzultzen ditu emandako katearen ordezko karakterearekin. ORDEZTU komandoak karaktere bat edo karaktere multzo bat ordezkapen-kate oso batekin ordezkatuko du.

    Adibidez:

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

    Q #13) Nola aurki dezakegu. Oracle-n uneko data eta ordua?

    Erantzuna: Uneko data aurki dezakegu & denbora Oracle-n SYSDATE komandoa erabiliz.

    Sintaxia:

    SELECT SYSDATE into CURRENT_DATE from dual;

    G #14) Zergatik erabiltzen dugu COALESCE funtzioa Oracle-n?

    Erantzuna: COALESCE funtzioa adierazpenean emandako argumentuen zerrendatik nulua ez den lehen adierazpena itzultzeko erabiltzen da. Adierazpen batean gutxienez bi argumentu egon behar dira.

    Sintaxia:

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

    Q #15) Nola idatziko duzu kontsulta bat 5. RANK lortzeko taulako ikasleak IKASLE_ERREPORTA?

    Erantzuna: Kontsulta hau izango da:

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

    G #16) Noiz erabiltzen dugu TALDEA BY klausula SQL Query-n?

    Erantzuna: GROUP BY klausula datuak kontsultaren emaitzetan zutabe baten edo gehiagoren arabera identifikatzeko eta taldekatzeko erabiltzen da. Klausula hau COUNT, MAX, MIN, SUM, AVG eta abar bezalako funtzio agregatuekin erabiltzen da.

    Sintaxia:

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

    Q #17) Zer atik datuak lortzeko modurik azkarrena dataula?

    Erantzuna: Datuak eskuratzeko modurik azkarrena SQL kontsultan ROWID erabiltzea izango litzateke.

    G #18) Non DECODE eta CASE adierazpenak erabiltzen al ditugu?

    Erantzuna: Biak DECODE & CASE instrukzioak IF-THEN-ELSE instrukzioen antzera funtzionatuko dute eta elkarren alternatibak dira. Funtzio hauek Oracle-n erabiltzen dira datuen balioak eraldatzeko.

    Adibidez:

    DESKODETZEKO Funtzioa

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

    CASE Funtzioa

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

    Bi komandoek ordena-zenbakiak bistaratuko dituzte, dagozkien egoerarekin:

    Bada,

    Egoera O= Agindua

    Egoera P= Paketatuta

    Egoera S= Bidalketa

    Egoera A= Heldua

    G #19) Zergatik behar ditugu osotasun-murrizketak datu-base batean?

    Erantzuna: Osotasun-murrizketak beharrezkoak dira negozio-arauak betearazteko, datu-basearen osotasuna mantentzeko eta saihestu tauletan datu baliogabeak sartzea. Jarraian aipatutako murriztapenen laguntzaz, taulen arteko erlazioak mantendu daitezke.

    Ostetasun-murriztapen desberdinak eskuragarri daude, besteak beste, lehen mailako gakoa, kanpoko gakoa, UNIQUE KEY, NOT NULL & EGIAZTATU.

    G #20) Zer esan nahi duzu MERGE hitzarekin Oracle-n eta nola batu ditzakegu bi taula?

    Erantzuna: MERGE adierazpena bi tauletako datuak batzeko erabiltzen da. Sorburuko taulako datuak hautatzen ditu eta beste taulan txertatzen/eguneratzen ditu oinarritutaMERGE kontsultan emandako baldintza.

    Sintaxia:

     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  

    Q #21) Zertarako balio dute agregazio-funtzioek Oracle-n?

    Erantzuna: Funtzio agregatuek laburpen-eragiketak egiten dituzte balio multzo batean balio bakarra emateko. Hainbat funtzio agregatu daude gure kodean kalkuluak egiteko erabiltzen ditugunak. Hauek dira:

    • BATERAZ.
    • MIN
    • MAX
    • ZENBAKETA
    • BURTURA
    • STDEV

    Q #22) Zeintzuk dira UNION, UNION ALL, MINUS & INTERSECT egin nahi al da?

    Erantzuna: Ezarri-operadoreak erabiltzaileari errazten dio datuak bi tauletatik edo bi baino gehiagotik aldi berean eskuratzea, zutabeak eta datu-motak erlatiboak badira. berdin iturburu-tauletan.

    • UNION operadoreak bi tauletako errenkada guztiak itzultzen ditu errenkada bikoiztuak izan ezik.
    • UNION ALL itzultzen ditu. bi tauletako errenkada guztiak errenkada bikoiztuekin batera.
    • MINUS lehen taulako errenkadak itzultzen ditu, bigarren taulan ez dagoena.
    • INTERSECT k bi tauletako errenkada komunak soilik itzultzen ditu.

    G #23) Data bat karakter bihur al dezakegu Oracle-n eta hala bada, zein izango litzateke sintaxia?

    Erantzuna: TO_CHAR funtzioa erabil dezakegu goiko bihurketa egiteko.

    Sintaxia:

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

    Q #24) Zer esan nahi duzu datu-basearen transakzio & zer TCL adierazpen guztiak daude eskuragarri Oracle-n?

    Erantzuna: TransakzioaSQL instrukzio multzo bat exekutatzen denean gertatzen da. Adierazpen hauen exekuzioa kontrolatzeko, Oracle-k TCL sartu du, hau da, adierazpen multzo bat erabiltzen duten Transaction Control Statements.

    Adierazpen multzoak honako hauek ditu:

    • COMMIT: Transakzio bat iraunkor bihurtzeko erabiltzen da.
    • ROLLBACK: DB-ren egoera atzera botatzeko erabiltzen da, konpromiso-puntua irauteko.
    • SAVEPOINT: Transakzio-puntu bat zehazten laguntzen du, zeina geroago atzera egin daitekeen.

    G #25) Zer ulertzen duzu datu-baseko objektu batekin? Zerrenda ditzakezu horietako batzuk?

    Erantzuna: Datu-base batean datuen datuak edo erreferentziak gordetzeko erabiltzen den objektuari datu-baseko objektu gisa ezagutzen da. Datu-baseak hainbat motatako DB objektuz osatuta dago, hala nola, taulak, ikuspegiak, indizeak, murrizketak, gordetako prozedurak, abiarazleak, etab. taula normal bat?

    Erantzuna: Habiaratuta dagoen taula bat datu-baseen bildumako objektu bat da, eta zutabe gisa gorde daiteke taula batean. Taula normal bat sortzen duzun bitartean, habiaratutako taula oso bati erreferentzia egin daiteke zutabe bakarrean. Habiaratutako taulek zutabe bakarra dute errenkada mugarik gabe.

    Adibidez:

     CREATE TABLE EMP ( EMP_ID NUMBER, EMP_NAME  TYPE_NAME) 

    Hemen, taula normal bat EMP gisa sortzen ari gara eta habiaratuta dagoen taula bati erreferentzia egiten ari gara. TYPE_NAME zutabe gisa.

    G #27) Gorde al ditzakegu irudiak datu-base batean eta baietz, nola?

    Erantzuna: BLOB Binary Large Object da, hau da, irudiak, audioak eta amp; bideo fitxategiak edo exekutagarri bitar batzuk. Datu-mota honek 4 GB arteko datuak edukitzeko gaitasuna du.

    G #28) Zer ulertzen duzu datu-basearen eskemaz eta zer gordetzen du?

    Erantzuna: Eskema eskema honen barruan objektu berriak sortu edo manipula ditzaketen datu-basearen erabiltzaile baten jabe den datu-baseko objektuen bilduma da. Eskemak edozein DB objektu izan ditzake, hala nola, taula, ikuspegia, indizeak, klusterrak, gordetako prozesuak, funtzioak, etab.

    G #29) Zer da datu hiztegi bat eta nola sortu daiteke?

    Erantzuna: Datu-base berri bat sortzen den bakoitzean, datu-base espezifikoko datu-hiztegi bat sortzen du sistemak. Hiztegi hau SYS erabiltzailearena da eta datu-baseari lotutako metadatu guztiak mantentzen ditu. Irakurtzeko soilik diren taula eta ikuspegi multzo bat du eta fisikoki SYSTEM tablespacen gordetzen da.

    G #30) Zer da Ikuspegia eta zertan bereizten da taula batetik?

    Erantzuna: View erabiltzaileak definitutako datu-base-objektua da, SQL kontsulta baten emaitzak gordetzeko erabiltzen dena, geroago erreferentzia egin ahal izateko. Ikuspegiek ez dituzte datu hauek fisikoki gordetzen, baizik eta taula birtual gisa; horregatik, taula logiko gisa dei daiteke.

    Ikuspena taulatik ezberdina da:

    • Taula batek datuak eduki ditzake, baina ez SQL-ko kontsulta-emaitzak, berriz, View-ek kontsulta-emaitzak gorde ditzake.
    Gora joan