top oracle interview questions
Nejčastěji kladené dotazy a odpovědi na pohovory Oracle:
Top 40 dotazů na pohovory Oracle spolu s odpověďmi pokrývajícími téměř všechny základní koncepty Oracle.
Toto je hloubková řada pokrývající téměř všechny otázky týkající se Oracle Interview:
Část 1: Otázky Oracle Basic, SQL, PL / SQL (tento článek)
Část 2: Dotazy na ladění Oracle DBA, RAC a výkonu
Část # 3: Dotazy na rozhovory s formuláři a zprávami Oracle
Část # 4: Dotazy na technické aplikace Oracle Apps a Oracle SOA
Začněme 1. článkem v sérii.
Typy otázek popsaných v tomto článku:
- Základní otázky z pohovoru Oracle
- Dotazy na rozhovor s Oracle SQL
- Dotazy na rozhovor s Oracle PL / SQL
Základy Oracle jsou vysvětleny na jednoduchých příkladech pro vaše porozumění. Pokud se plánujete dostavit na pohovor společnosti Oracle, tyto sady otázek pojednávaných v tomto článku budou určitě velmi užitečné.
Pojďme do toho !!
Seznam nejdůležitějších dotazů na rozhovor Oracle
Otázka č. 1) Co je Oracle a jaká jsou jeho různá vydání?
Odpovědět: Oracle je jednou z populárních databází poskytovaných společností Oracle Corporation, která pracuje na koncepcích relační správy, a proto se také označuje jako Oracle RDBMS. Je široce používán pro online zpracování transakcí, skladování dat a výpočet podnikové sítě.
Otázka 2) Jak zjistíte vydání Oracle Database Software Release?
Odpovědět: Oracle se při každém vydání řídí řadou formátů.
Například ,
Vydání 10.1.0.1.1 lze označit jako:
10: Hlavní číslo vydání DB
jeden: Číslo vydání údržby DB
0: Číslo vydání aplikačního serveru
jeden: Specifické číslo vydání komponenty
jeden: Číslo vydání specifické pro platformu
co je stringstream v c ++
Otázka č. 3) Jak budete rozlišovat mezi VARCHAR a VARCHAR2?
Odpovědět: VARCHAR i VARCHAR2 jsou datové typy Oracle, které se používají k ukládání řetězců znaků proměnné délky. Jejich rozdíly jsou:
- VARCHAR může ukládat znaky až do 2 000 bytů, zatímco VARCHAR2 může ukládat až 4 000 bytů.
- VARCHAR bude obsahovat mezeru pro znaky definované během deklarace, i když nejsou všechny použity, zatímco VARCHAR2 uvolní nevyužité místo.
Otázka č. 4) Jaký je rozdíl mezi příkazem TRUNCATE & DELETE?
Odpovědět: Oba příkazy se používají k odebrání dat z databáze.
Rozdíl mezi těmito dvěma zahrnuje:
- TRUNCATE je operace DDL, zatímco DELETE je operace DML.
- TRUNCATE odstraní všechny řádky, ale ponechá strukturu tabulky beze změny. Nelze jej vrátit zpět, protože vydává POVINNOST před a po provedení příkazu, zatímco příkaz DELETE lze vrátit zpět.
- Příkaz TRUNCATE uvolní úložný prostor objektu, zatímco příkaz DELETE nikoli.
- TRUNCATE je ve srovnání s DELETE rychlejší.
Otázka č. 5) Co se rozumí datovým typem RAW?
Odpovědět: Datový typ RAW se používá k ukládání binárních dat proměnné délky nebo bajtových řetězců.
Rozdíl mezi datovým typem RAW a VARCHAR2 spočívá v tom, že PL / SQL tento datový typ nerozpozná, a proto při přenosu dat RAW do různých systémů nemůže provádět žádné převody. Tento datový typ lze dotazovat nebo vložit pouze do tabulky.
Syntax: RAW (přesnost)
Otázka č. 6) Co se rozumí spojením? Seznam typů připojení.
Odpovědět: Spojení se používají k extrakci dat z více tabulek pomocí některých společných sloupců nebo podmínek.
Níže jsou uvedeny různé typy připojení:
- VNITŘNÍ SPOJENÍ
- VNĚJŠÍ PŘIPOJENÍ
- CROSS JOINS nebo CARTESIAN PRODUCT
- PŘIPOJTE SE K EQUI
- ANTI JOIN
- SEMI JOIN
Otázka č. 7) Jaký je rozdíl mezi funkcemi SUBSTR a INSTR?
Odpovědět:
- Funkce SUBSTR vrací dílčí část identifikovanou číselnými hodnotami z poskytnutého řetězce.
- Například , (SELECT SUBSTR (‘India is my country’, 1, 4) from dual) will return „Indi“.
- INSTR vrátí číslo pozice podřetězce v rámci řetězce.
- Například , (SELECT INSTR (‘India is my country’, ‘a’) from dual) will return 5.
Otázka č. 8) Jak můžeme zjistit duplicitní hodnoty v tabulce Oracle?
Odpovědět: Níže uvedený příklad dotazu můžeme použít k načtení duplicitních záznamů.
SELECT EMP_NAME, COUNT (EMP_NAME) FROM EMP GROUP BY EMP_NAME HAVING COUNT (EMP_NAME) > 1;
Otázka č. 9) Jak funguje příkaz ON-DELETE-CASCADE práce?
Odpovědět: Použitím ON DELETE CASCADE automaticky odstraníte záznam v podřízené tabulce, když je stejný odstraněn z nadřazené tabulky. Tento příkaz lze použít s cizími klávesami.
Můžeme přidat možnost ON DELETE CASCADE na existující tabulku pomocí níže uvedené sady příkazů.
Syntax:
ALTER TABLE CHILD_T1 ADD CONSTRAINT CHILD_PARENT_FK REFERENCES PARENT_T1 (COLUMN1) ON DELETE CASCADE;
Otázka č. 10) Co je funkce NVL? Jak to lze použít?
Odpovědět: NVL je funkce, která pomáhá uživateli nahradit hodnotu, pokud je pro výraz nalezena null.
Může být použit jako níže uvedená syntaxe.
NVL (Value_In, Replace_With)
Otázka č. 11) Jaký je rozdíl mezi primárním klíčem a jedinečným klíčem?
Odpovědět: Primární klíč se používá k jedinečné identifikaci každého řádku tabulky, zatímco jedinečný klíč zabraňuje duplicitním hodnotám ve sloupci tabulky.
Níže uvádíme několik rozdílů:
- Primární klíč může být na stole pouze jeden, zatímco jedinečné klíče mohou být více.
- Primární klíč nemůže vůbec obsahovat hodnotu null, zatímco jedinečný klíč umožňuje více hodnot null.
- Primární klíč je klastrovaný index, zatímco jedinečný klíč je klastrovaný index.
Otázka č. 12) Jak se příkaz PŘEKLAD liší od REPLACE?
Odpovědět: Příkaz TRANSLATE překládá znaky jeden po druhém v zadaném řetězci se substitučním znakem. Příkaz REPLACE nahradí znak nebo sadu znaků úplným substitučním řetězcem.
Například:
TRANSLATE (‘Missisippi’,’is’,’15) => M155151pp1 REPLACE (‘Missisippi’,’is’,’15) => M15s15ippi
Otázka č. 13) Jak můžeme zjistit aktuální datum a čas v Oracle?
Odpovědět: Aktuální datum a čas můžeme najít pomocí příkazu SYSDATE v Oracle.
Syntax:
SELECT SYSDATE into CURRENT_DATE from dual;
Otázka č. 14) Proč používáme v systému Oracle funkci COALESCE?
Odpovědět: Funkce COALESCE se používá k vrácení prvního nenulového výrazu ze seznamu argumentů uvedených ve výrazu. Ve výrazu musí být minimálně dva argumenty.
Syntax:
COALESCE (expr 1, expr 2, expr 3…expr n)
Otázka č. 15) Jak napíšete dotaz, abyste získali studenty 5. RANK z tabulky STUDENT_REPORT?
Odpověď: Dotaz bude vypadat následovně:
SELECT TOP 1 RANK FROM (SELECT TOP 5 RANK FROM STUDENT_REPORT ORDER BY RANK DESC) AS STUDENT ORDER BY RANK ASC;
Otázka č. 16) Kdy použijeme klauzuli GROUP BY v SQL Query?
Odpovědět: Klauzule GROUP BY se používá k identifikaci a seskupení dat podle jednoho nebo více sloupců ve výsledcích dotazu. Tato klauzule se často používá s agregačními funkcemi, jako je COUNT, MAX, MIN, SUM, AVG atd.
Syntax:
SELECT COLUMN_1, COLUMN_2 FROM TABLENAME WHERE (condition) GROUP BY COLUMN_1, COLUMN_2
Otázka č. 17) Jaký je nejrychlejší způsob načtení dat z tabulky?
Odpovědět: Nejrychlejším způsobem, jak načíst data, by bylo použít ROWID v dotazu SQL.
Otázka č. 18) Kde používáme příkazy DECODE a CASE?
Odpovědět: Oba příkazy DECODE & CASE budou fungovat jako příkaz IF-THEN-ELSE a jsou navzájem alternativami. Tyto funkce se používají v Oracle k transformaci datových hodnot.
Například:
Funkce DECODE
Select ORDERNUM, DECODE (STATUS,'O', ‘ORDERED’,'P', ‘PACKED,’S’,’SHIPPED’,’A’,’ARRIVED’) FROM ORDERS;
PŘÍPAD Funkce
Select ORDERNUM , CASE (WHEN STATUS ='O' then ‘ORDERED’ WHEN STATUS ='P' then PACKED WHEN STATUS ='S' then ’SHIPPED’ ELSE ’ARRIVED’) END FROM ORDERS;
Oba příkazy zobrazí pořadová čísla s příslušným stavem jako,
Li,
Stav O = objednáno
Stav P = zabaleno
Stav S = Odesláno
Stav A = dorazil
Otázka č. 19) Proč potřebujeme omezení integrity v databázi?
Odpovědět: Omezení integrity jsou nutná k vynucení obchodních pravidel tak, aby byla zachována integrita databáze a bylo zabráněno vstupu neplatných dat do tabulek. Pomocí níže uvedených omezení lze udržovat vztahy mezi tabulkami.
K dispozici jsou různá omezení integrity, která zahrnují primární klíč, cizí klíč, UNIQUE KEY, NOT NULL & CHECK.
Otázka č. 20) Co myslíte slovem Sloučit v Oracle a jak můžeme sloučit dvě tabulky?
Odpovědět: Příkaz SLOUČENÍ se používá ke sloučení dat ze dvou tabulek. Vybírá data ze zdrojové tabulky a vloží / aktualizuje je do druhé tabulky na základě podmínky uvedené v dotazu SLOUČENÍ.
Syntax:
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
Otázka č. 21) Jaké je použití agregačních funkcí v Oracle?
Odpovědět: Agregační funkce provádějí souhrnné operace se sadou hodnot, aby poskytly jednu hodnotu. Existuje několik agregačních funkcí, které v našem kódu používáme k provádění výpočtů. Tyto jsou:
- AVG
- MIN
- MAX
- POČET
- SOUČET
- STDEV
Otázka č. 22) K čemu mají operátoři sady UNION, UNION ALL, MINUS & INTERSECT dělat?
Odpovědět: Operátor sady usnadňuje uživateli načíst data ze dvou nebo více než dvou tabulek najednou, pokud jsou sloupce a relativní datové typy ve zdrojových tabulkách stejné.
- UNIE operátor vrátí všechny řádky z obou tabulek kromě duplicitních řádků.
- UNION ALL vrátí všechny řádky z obou tabulek spolu s duplicitními řádky.
- MÍNUS vrací řádky z první tabulky, která ve druhé tabulce neexistuje.
- PROSÍT vrátí pouze společné řádky v obou tabulkách.
Otázka č. 23) Můžeme převést datum na char v Oracle a pokud ano, jaká by byla syntaxe?
Odpovědět: Můžeme použít funkci TO_CHAR k provedení výše uvedeného převodu.
Syntax:
SELECT to_char (to_date ('30-01-2018', 'DD-MM-YYYY'), 'YYYY-MM-DD') FROM dual;
Otázka č. 24) Co máte na mysli pod databázovou transakcí a jaké všechny příkazy TCL jsou k dispozici v Oracle?
Odpovědět: Transakce nastane, když je sada příkazů SQL provedena najednou. Pro řízení provádění těchto příkazů zavedla společnost Oracle TCL, tj. Transaction Control Statements, které používají sadu příkazů.
Sada příkazů zahrnuje:
- SPÁCHAT: Slouží k provedení trvalé transakce.
- ROLLBACK: Slouží k vrácení stavu DB na poslední bod potvrzení.
- SAVEPOINT: Pomáhá určit bod transakce, ke kterému lze později provést vrácení zpět.
Otázka č. 25) Co rozumíte pod databázovým objektem? Můžete uvést několik z nich?
Odpovědět: Objekt používaný k ukládání dat nebo odkazů na data v databázi je znám jako databázový objekt. Databáze se skládá z různých typů objektů DB, jako jsou tabulky, pohledy, indexy, omezení, uložené procedury, spouštěče atd.
Otázka č. 26) Co je vnořená tabulka a jak se liší od normální tabulky?
Odpovědět: Vnořená tabulka je objekt kolekce databáze, který lze uložit jako sloupec v tabulce. Při vytváření normální tabulky lze na celou vnořenou tabulku odkazovat v jednom sloupci. Vnořené tabulky mají pouze jeden sloupec bez omezení řádků.
Například:
CREATE TABLE EMP ( EMP_ID NUMBER, EMP_NAME TYPE_NAME)
Zde vytváříme normální tabulku jako EMP a odkazujeme na vnořenou tabulku TYPE_NAME jako sloupec.
Otázka č. 27) Můžeme ukládat obrázky do databáze a pokud ano, jak?
Odpovědět: BLOB znamená Binary Large Object, což je datový typ, který se obvykle používá k uložení obrázků, zvukových a video souborů nebo některých binárních spustitelných souborů. Tento datový typ má kapacitu uchovávat data až 4 GB.
Otázka č. 28) Co rozumíte schématu databáze a co obsahuje?
Odpovědět: Schéma je kolekce databázových objektů vlastněných uživatelem databáze, který může v rámci tohoto schématu vytvářet nebo manipulovat s novými objekty. Schéma může obsahovat jakékoli objekty DB, jako je tabulka, zobrazení, indexy, klastry, uložené procs, funkce atd.
Otázka č. 29) Co je datový slovník a jak jej lze vytvořit?
Odpovědět: Kdykoli je vytvořena nová databáze, systém vytvoří datový slovník specifický pro databázi. Tento slovník je vlastněn uživatelem SYS a udržuje všechna metadata související s databází. Má sadu tabulek a pohledů jen pro čtení a je fyzicky uložena v tabulkovém prostoru SYSTEM.
Otázka 30) Co je to Pohled a jak se liší od stolu?
Odpovědět: Pohled je uživatelem definovaný databázový objekt, který se používá k ukládání výsledků dotazu SQL, na který lze později odkazovat. Pohledy neukládají tato data fyzicky, ale jako virtuální tabulku, a proto je lze označovat jako logickou tabulku.
Pohled se liší od tabulky jako:
- Tabulka může obsahovat data, ale ne výsledky dotazu SQL, zatímco View může uložit výsledky dotazu, které lze použít v jiném dotazu SQL jako celku.
- Tabulka může být aktualizována nebo odstraněna, zatímco zobrazení nelze provést.
Otázka č. 31) Co se rozumí situací zablokování?
Odpovědět: Zablokování je situace, kdy dva nebo více uživatelů současně čeká na data, která jsou navzájem uzamčena. Výsledkem jsou tedy všechny blokované relace uživatelů.
Otázka č. 32) Co se rozumí indexem?
Odpovědět: Index je objekt schématu, který je vytvořen pro efektivní prohledávání dat v tabulce. Rejstříky se obvykle vytvářejí na určitých sloupcích tabulky, ke kterým se přistupuje nejvíce. Rejstříky mohou být seskupeny nebo neseskupeny.
Otázka č. 33) Co je to ROLE v databázi Oracle?
Odpovědět: Poskytnutí přístupu k jednotlivým objektům jednotlivým uživatelům je obtížný administrativní úkol. Aby byla tato práce snadná, vytvoří se v databázi skupina běžných oprávnění, která se označuje jako ROLE. Jakmile je ROLE vytvořena, lze ji přiřadit nebo odvolat pomocí příkazu GRANT & REVOKE.
Syntax:
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;
Otázka č. 34) Jaké jsou atributy, které se nacházejí v KURZORU?
Odpověď: KURZOR má různé atributy, jak je uvedeno níže:
(našel jsem :
- Vrátí INVALID_CURSOR, pokud byl kurzor deklarován, ale zavřen.
- Vrátí hodnotu NULL, pokud k načtení nedošlo, ale kurzor je otevřený pouze.
- Vrátí TRUE, pokud jsou řádky načteny úspěšně, a FALSE, pokud nejsou vráceny žádné řádky.
(ii) NENALEZNUTO :
- Vrátí INVALID_CURSOR, pokud byl kurzor deklarován, ale zavřen.
- Vrátí hodnotu NULL, pokud k načtení nedošlo, ale kurzor je otevřený pouze.
- Vrátí FALSE, pokud jsou řádky načteny úspěšně, a TRUE, pokud nejsou vráceny žádné řádky
(iii)% ISOPENU : Vrací TRUE, pokud je kurzor OPEN else FALSE
(iv)% ROWCOUNT : Vrátí počet načtených řádků.
Otázka č. 35) Proč v PLSQL používáme% ROWTYPE &% TYPE?
Odpovědět: % ROWTYPE &% TYPE jsou atributy v PL / SQL, které mohou zdědit datové typy tabulky definované v databázi. Účelem použití těchto atributů je poskytnout nezávislost a integritu dat.
Pokud se v databázi změní jakýkoli z datových typů nebo přesnosti, kód PL / SQL se automaticky aktualizuje o změněný datový typ.
% TYPE se používá pro deklaraci proměnné, která musí mít stejný datový typ jako sloupec tabulky.
Zatímco% ROWTYPE bude použit k definování úplné řady záznamů, které mají strukturu podobnou struktuře tabulky.
Otázka č. 36) Proč vytváříme uložené procedury a funkce v PL / SQL a v čem se liší?
Odpovědět: Uložená procedura je sada příkazů SQL, které jsou zapsány k provedení konkrétního úkolu. Tyto příkazy lze uložit jako skupinu do databáze s přiřazeným názvem a lze je sdílet s různými programy, pokud existují oprávnění pro přístup k nim.
Funkce jsou opět podprogramy, které jsou zapsány k provádění konkrétních úkolů, ale mezi oběma existují rozdíly.
Uložené procedury | Funkce |
---|---|
Uložené procedury mohou nebo nemusí vrátit hodnotu a mohou také vrátit více hodnot. | Funkce vždy vrátí pouze jednu hodnotu. |
Uložené procedury mohou zahrnovat příkazy DML, jako je vkládání, aktualizace a mazání. | Ve funkci nemůžeme použít příkazy DML. |
Uložené procedury mohou volat funkce. | Funkce nemohou volat uložené procedury. |
Uložené procedury podporují zpracování výjimek pomocí bloku Try / Catch. | Funkce nepodporuje blok Try / Catch. |
Otázka č. 37) Jaké jsou parametry, které můžeme projít uloženou procedurou?
Odpovědět: Můžeme předat parametry IN, OUT & INOUT prostřednictvím uložené procedury a měly by být definovány při deklaraci samotné procedury.
Otázka č. 38) Co je spouštěč a jaké jsou jeho typy?
Odpovědět: Spouštěč je uložený program, který je napsán takovým způsobem, že se provede automaticky, když dojde k nějaké události. Touto událostí může být jakákoli operace DML nebo DDL.
PL / SQL podporuje dva typy spouštěčů:
- Úroveň řádku
- Úroveň výpisu
Otázka č. 39) Jak budete rozlišovat globální proměnnou od lokální proměnné v PL / SQL?
datová struktura fronty c ++
Odpovědět: Globální proměnná je proměnná, která je definována na začátku programu a přežívá až do konce. Lze k němu přistupovat jakoukoli metodou nebo procedurou v rámci programu, zatímco přístup k místní proměnné je omezen na proceduru nebo metodu, kde je deklarována.
Otázka č. 40) Jaké jsou balíčky v PL SQL?
Odpovědět: Balíček je skupina souvisejících databázových objektů, jako jsou uložené procs, funkce, typy, spouštěče, kurzory atd., Které jsou uloženy v databázi Oracle. Je to druh knihovny souvisejících objektů, ke kterým lze přistupovat z více aplikací, pokud je to povoleno.
Struktura balíčku PL / SQL se skládá ze 2 částí: specifikace balíčku a tělo balíčku.
Závěr
Doufám, že vám výše uvedená sada otázek pomohla nahlédnout do toho, o čem Oracle je.
I když důkladně ovládáte všechny základní pojmy, záleží na způsobu, jakým je v rozhovoru prezentujete. Proto zůstaňte klidní a bez váhání čelte rozhovoru sebevědomě.
Přečtěte si DALŠÍ část 2: Dotazy na ladění Oracle DBA, RAC a výkonu
Přejeme vám hodně úspěchů !!
Doporučené čtení
- Dotazy a odpovědi na pohovor
- Nejlepší technické dotazy k aplikacím Oracle a dotazům Oracle SOA Interview
- Nejlepší dotazy a odpovědi na dotazníky společnosti Oracle Forms and Reports
- Některé zajímavé otázky týkající se testování softwaru
- 30 nejdůležitějších otázek a odpovědí na rozhovor s PL / SQL v roce 2021
- Nejčastější dotazy k rozhovorům s Oracle DBA, RAC a laděním výkonu
- Top 90 SQL Interview Questions and Answer Answer (LATEST)
- 20 jednoduchých otázek ke kontrole softwaru Testování základních znalostí (online kvíz)