top oracle interview questions
Preguntes i respostes a les entrevistes Oracle més freqüents:
Top 40 de les preguntes de l'entrevista d'Oracle juntament amb respostes que cobreixen gairebé tots els conceptes bàsics d'Oracle.
Aquesta és una sèrie en profunditat que cobreix gairebé totes les preguntes d'Oracle Interview:
Part 1: Preguntes sobre Oracle Basic, SQL, PL / SQL (Aquest article)
Part 2: Preguntes sobre ajustament de rendiment, DBA, RAC i Oracle
Part 3: Preguntes d’entrevistes sobre formularis i informes d’Oracle
Part 4: Preguntes d’entrevistes tècniques d’Oracle Apps i Oracle SOA
Comencem pel primer article de la sèrie.
Tipus de preguntes tractades en aquest article:
- Preguntes bàsiques sobre l'entrevista d'Oracle
- Preguntes sobre l'entrevista d'Oracle SQL
- Preguntes sobre l'entrevista d'Oracle PL / SQL
Trobareu els conceptes bàsics d’Oracle explicats amb exemples senzills per a la vostra comprensió. Si teniu previst presentar-vos a una entrevista d’Oracle, aquests conjunts de preguntes tractades en aquest article us seran de gran ajuda.
Anem endavant !!
Llista de les principals preguntes d’entrevistes d’Oracle
P # 1) Què és Oracle i quines són les seves diferents edicions?
Resposta: Oracle és una de les bases de dades populars proporcionades per Oracle Corporation, que treballa en conceptes de gestió relacional i, per tant, també es coneix com Oracle RDBMS. S’utilitza àmpliament per al processament de transaccions en línia, l’emmagatzematge de dades i la computació en xarxa empresarial.
Q # 2) Com identificareu la versió del programari de la base de dades Oracle?
Resposta: Oracle segueix diversos formats per a cada versió.
Per exemple ,
La versió 10.1.0.1.1 es pot anomenar:
10: Número de llançament de la base de dades principal
1: Número de llançament de manteniment de la base de dades
0: Número de llançament del servidor d'aplicacions
1: Número de llançament específic del component
1: Número de llançament específic de la plataforma
en què es diferencia Java de C ++
P # 3) Com diferencieu VARCHAR i VARCHAR2?
Resposta: Tant VARCHAR com VARCHAR2 són tipus de dades Oracle que s’utilitzen per emmagatzemar cadenes de caràcters de longitud variable. Les seves diferències són:
- VARCHAR pot emmagatzemar caràcters de fins a 2.000 bytes, mentre que VARCHAR2 pot emmagatzemar fins a 4.000 bytes.
- VARCHAR mantindrà l'espai per als caràcters definits durant la declaració encara que no s'utilitzin tots, mentre que VARCHAR2 deixarà anar l'espai no utilitzat.
Q # 4) Quina diferència hi ha entre l'ordre TRUNCATE i DELETE?
Resposta: Ambdues ordres s’utilitzen per eliminar dades de la base de dades.
La diferència entre tots dos inclou:
- TRUNCATE és una operació DDL mentre que DELETE és una operació DML.
- TRUNCATE elimina totes les files, però deixa intacta l'estructura de la taula. No es pot desfer ja que emet COMMIT abans i després de l'execució de l'ordre, mentre que l'ordre DELETE es pot desfer.
- L'ordre TRUNCATE alliberarà l'espai d'emmagatzematge d'objectes mentre que l'ordre DELETE no.
- TRUNCATE és més ràpid en comparació amb DELETE.
P # 5) Què s'entén per tipus de dades RAW?
Resposta: El tipus de dades RAW s’utilitza per emmagatzemar dades binàries de longitud variable o cadenes de bytes.
La diferència entre el tipus de dades RAW i VARCHAR2 és que PL / SQL no reconeix aquest tipus de dades i, per tant, no pot fer cap conversió quan les dades RAW es transfereixen a sistemes diferents. Aquest tipus de dades només es pot consultar o inserir en una taula.
Sintaxi: RAW (precisió)
P # 6) Què s'entén per unions? Enumereu els tipus d'unions.
Resposta: Les combinacions s’utilitzen per extreure dades de diverses taules mitjançant algunes columnes o condicions habituals.
Hi ha diversos tipus d’adherències que s’enumeren a continuació:
- COMBINACIÓ INTERNA
- UNEIX-TE A L’EXTERIOR
- CROSS JOINS o PRODUCTE CARTESIÀ
- UNEIX-TE A EQUI
- ANTI UNEIX-TE
- SEMI UNEIX-TE
Q # 7) Quina diferència hi ha entre les funcions SUBSTR i INSTR?
Resposta:
- La funció SUBSTR retorna la sub-part identificada per valors numèrics de la cadena proporcionada.
- Per exemple , (SELECCIONA SUBSTR ('L'Índia és el meu país', 1, 4) de dual) retornarà 'Indi'.
- INSTR retornarà el número de posició de la sub-cadena dins de la cadena.
- Per exemple , (SELECCIONA INSTR ('L'Índia és el meu país', 'a') de dual) tornarà 5.
Q # 8) Com podem esbrinar els valors duplicats en una taula Oracle?
Resposta: Podem utilitzar l’exemple de consulta següent per obtenir els registres duplicats.
SELECT EMP_NAME, COUNT (EMP_NAME) FROM EMP GROUP BY EMP_NAME HAVING COUNT (EMP_NAME) > 1;
P # 9) Com funciona la declaració ON-DELETE-CASCADE treballar?
Resposta: Si utilitzeu ON DELETE CASCADE, se suprimirà automàticament un registre de la taula fill quan se suprimeixi el mateix de la taula principal. Aquesta afirmació es pot utilitzar amb les claus estrangeres.
Podem afegir l’opció ON DELETE CASCADE en una taula existent mitjançant el conjunt d’ordres següent.
Sintaxi:
ALTER TABLE CHILD_T1 ADD CONSTRAINT CHILD_PARENT_FK REFERENCES PARENT_T1 (COLUMN1) ON DELETE CASCADE;
Q # 10) Què és una funció NVL? Com es pot utilitzar?
Resposta: NVL és una funció que ajuda l'usuari a substituir el valor si es troba una expressió nul·la.
Es pot utilitzar com a sintaxi següent.
NVL (Value_In, Replace_With)
Q # 11) Quina diferència hi ha entre una clau primària i una clau única?
Resposta: La clau primària s'utilitza per identificar cada fila de taula de manera única, mentre que una clau única impedeix valors duplicats en una columna de taula.
A continuació es detallen algunes diferències:
- La clau principal només pot ser una de la taula, mentre que les claus úniques poden ser múltiples.
- La clau principal no pot contenir cap valor nul mentre que la clau única permet múltiples valors nuls.
- La clau principal és un índex agrupat mentre que una clau única és un índex no agrupat.
P # 12) En què es diferencia l'ordre TRANSLATE de REPLACE?
Resposta: L'ordre TRANSLATE tradueix els caràcters un a un a la cadena proporcionada amb el caràcter de substitució. L'ordre REPLACE substituirà un caràcter o un conjunt de caràcters per una cadena de substitució completa.
Per exemple:
TRANSLATE (‘Missisippi’,’is’,’15) => M155151pp1 REPLACE (‘Missisippi’,’is’,’15) => M15s15ippi
P # 13) Com podem esbrinar la data i hora actuals a Oracle?
Resposta: Podem trobar la data i hora actuals mitjançant l’ordre SYSDATE a Oracle.
Sintaxi:
SELECT SYSDATE into CURRENT_DATE from dual;
P # 14) Per què fem servir la funció COALESCE a Oracle?
Resposta: La funció COALESCE s'utilitza per retornar la primera expressió no nul·la de la llista d'arguments proporcionats a l'expressió. Hi ha d’haver un mínim de dos arguments en una expressió.
Sintaxi:
COALESCE (expr 1, expr 2, expr 3…expr n)
P # 15) Com escriuràs una consulta per obtenir estudiants de 5è RANK de la taula STUDENT_REPORT?
Resposta: la consulta serà la següent:
SELECT TOP 1 RANK FROM (SELECT TOP 5 RANK FROM STUDENT_REPORT ORDER BY RANK DESC) AS STUDENT ORDER BY RANK ASC;
P # 16) Quan fem servir la clàusula GROUP BY a la consulta SQL?
Resposta: La clàusula GROUP BY s’utilitza per identificar i agrupar les dades per una o més columnes dels resultats de la consulta. Aquesta clàusula s'utilitza sovint amb funcions agregades com COUNT, MAX, MIN, SUM, AVG, etc.
Sintaxi:
SELECT COLUMN_1, COLUMN_2 FROM TABLENAME WHERE (condition) GROUP BY COLUMN_1, COLUMN_2
P # 17) Quina és la manera més ràpida d’obtenir les dades d’una taula?
Resposta: La forma més ràpida d’obtenir les dades seria utilitzar ROWID a la consulta SQL.
P # 18) On fem servir les declaracions DECODE i CASE?
Resposta: Ambdues sentències DECODE i CASE funcionaran com la sentència IF-THEN-ELSE i són les alternatives entre si. Aquestes funcions s’utilitzen a Oracle per transformar els valors de les dades.
Per exemple:
Funció DECODE
Select ORDERNUM, DECODE (STATUS,'O', ‘ORDERED’,'P', ‘PACKED,’S’,’SHIPPED’,’A’,’ARRIVED’) FROM ORDERS;
CAIXA Funció
Select ORDERNUM , CASE (WHEN STATUS ='O' then ‘ORDERED’ WHEN STATUS ='P' then PACKED WHEN STATUS ='S' then ’SHIPPED’ ELSE ’ARRIVED’) END FROM ORDERS;
Ambdues ordres mostraran números de comanda amb el seu estat respectiu com,
Si,
Estat O = ordenat
Estat P = Embalat
Estat S = Enviat
Estat A = Arribat
P # 19) Per què necessitem restriccions d'integritat en una base de dades?
Resposta: Es requereixen restriccions d’integritat per fer complir les regles empresarials per mantenir la integritat de la base de dades i evitar l’entrada de dades no vàlides a les taules. Amb l'ajut de les restriccions esmentades a continuació, es poden mantenir relacions entre les taules.
Hi ha disponibles diverses restriccions d’integritat que inclouen clau primària, clau estrangera, clau única, NO NULA i COMPROVAR.
la millor eina de captura de pantalla per a Windows 10
P # 20) Què voleu dir amb FUSIÓ a Oracle i com podem combinar dues taules?
Resposta: La sentència MERGE s’utilitza per combinar les dades de dues taules. Selecciona les dades de la taula font i les insereix / actualitza a l’altra taula en funció de la condició proporcionada a la consulta MERGE.
Sintaxi:
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) Què utilitza les funcions agregades a Oracle?
Resposta: Les funcions agregades realitzen operacions de resum en un conjunt de valors per proporcionar un valor únic. Hi ha diverses funcions agregades que fem servir al nostre codi per realitzar càlculs. Aquests són:
- AVG
- MIN
- MÀX
- COMPTE
- SUMA
- STDEV
P # 22) Què han de fer els operadors fixats UNION, UNION ALL, MINUS i INTERSECT?
Resposta: L'operador del conjunt facilita a l'usuari obtenir les dades de dues o més de dues taules alhora si les columnes i els tipus de dades relatius són els mateixos a les taules d'origen.
- UNIÓ l'operador retorna totes les files de les dues taules, excepte les files duplicades.
- UNIÓ TOTS retorna totes les files de les dues taules junt amb les files duplicades.
- MENYS retorna les files de la primera taula, que no existeix a la segona taula.
- INTERSECTA només retorna les files comunes de les dues taules.
P # 23) Podem convertir una data en caràcters a Oracle i, en cas afirmatiu, quina seria la sintaxi?
Resposta: Podem utilitzar la funció TO_CHAR per fer la conversió anterior.
Sintaxi:
SELECT to_char (to_date ('30-01-2018', 'DD-MM-YYYY'), 'YYYY-MM-DD') FROM dual;
P # 24) Què voleu dir amb una transacció de base de dades i què són totes les declaracions TCL disponibles a Oracle?
Resposta: La transacció es produeix quan un conjunt d’instruccions SQL s’executen d’una sola vegada. Per controlar l’execució d’aquestes declaracions, Oracle ha introduït TCL, és a dir, declaracions de control de transaccions que utilitzen un conjunt d’instruccions.
El conjunt d’enunciats inclou:
- COMPROMETRE: S'utilitza per fer una transacció permanent.
- ROLLBACK: S'utilitza per recuperar l'estat de la base de dades fins a durar el punt de confirmació.
- SAVEPOINT: Ajuda a especificar un punt de transacció al qual es pot fer la recuperació posterior.
P # 25) Què enteneu per un objecte de base de dades? En podeu enumerar alguns?
Resposta: L'objecte utilitzat per emmagatzemar les dades o referències de les dades en una base de dades es coneix com a objecte de base de dades. La base de dades consta de diversos tipus d'objectes de base de dades, com ara taules, vistes, índexs, restriccions, procediments emmagatzemats, activadors, etc.
P # 26) Què és una taula imbricada i en què es diferencia d'una taula normal?
Resposta: Una taula imbricada és un objecte de col·lecció de bases de dades que es pot emmagatzemar com a columna en una taula. Mentre es crea una taula normal, es pot fer referència a tota una taula imbricada en una sola columna. Les taules imbricades només tenen una columna sense restriccions de files.
Per exemple:
CREATE TABLE EMP ( EMP_ID NUMBER, EMP_NAME TYPE_NAME)
Aquí, estem creant una taula normal com a EMP i referim una taula imbricada TYPE_NAME com a columna.
P # 27) Podem desar imatges en una base de dades i si és així, com?
Resposta: BLOB significa Binary Large Object, que és un tipus de dades que s'utilitza generalment per contenir imatges, fitxers d'àudio i vídeo o alguns executables binaris. Aquest tipus de dades té la capacitat de contenir dades de fins a 4 GB.
P # 28) Què enteneu per l'esquema de la base de dades i què conté?
Resposta: Esquema és una col·lecció d'objectes de base de dades propietat d'un usuari de base de dades que pot crear o manipular objectes nous dins d'aquest esquema. L'esquema pot contenir qualsevol objecte de base de dades com ara taules, visualitzacions, índexs, clústers, processos emmagatzemats, funcions, etc.
P # 29) Què és un diccionari de dades i com es pot crear?
Resposta: Sempre que es crea una nova base de dades, el sistema crea un diccionari de dades específic de la base de dades. Aquest diccionari és propietat de l’usuari SYS i manté totes les metadades relacionades amb la base de dades. Té un conjunt de taules i vistes de només lectura i s’emmagatzema físicament a l’espai de taules SYSTEM.
P # 30) Què és una vista i en què es diferencia d'una taula?
Resposta: La visualització és un objecte de base de dades definit per l'usuari que s'utilitza per emmagatzemar els resultats d'una consulta SQL, que es pot fer referència més endavant. Les vistes no emmagatzemen aquestes dades físicament sinó com una taula virtual, de manera que es pot anomenar taula lògica.
La visualització és diferent de la taula:
- Una taula pot contenir dades, però no els resultats de la consulta SQL, mentre que View pot desar els resultats de la consulta, que es poden utilitzar en una altra consulta SQL en conjunt.
- La taula es pot actualitzar o suprimir mentre que Views no es pot fer.
P # 31) Què s’entén per situació de bloqueig?
Resposta: El punt mort és una situació en què dos o més usuaris esperen simultàniament les dades, que estan bloquejades entre elles. Per tant, resulta en totes les sessions d'usuari bloquejades.
P # 32) Què s’entén per índex?
Resposta: Un índex és un objecte esquema, que es crea per cercar les dades de manera eficient a la taula. Els índexs generalment es creen en determinades columnes de la taula, a les quals s’accedeix més. Els índexs es poden agrupar o no.
P # 33) Què és un ROL a la base de dades Oracle?
Resposta: Donar accés a objectes individuals als usuaris individuals és una dura tasca administrativa. Per facilitar aquest treball, es crea un grup de privilegis comuns en una base de dades, que es coneix com a ROL. El rol, un cop creat, es pot assignar o revocar als usuaris mitjançant l'ordre GRANT & REVOKE.
Sintaxi:
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) Quins són els atributs que es troben en un CURSOR?
Resposta: Un CURSOR té diversos atributs, tal com s'esmenta a continuació:
(Trobo :
- Retorna INVALID_CURSOR si el cursor ha estat declarat però tancat.
- Retorna NULL si no s'ha produït la recuperació, però el cursor només està obert.
- Retorna TRUE, si les files es recuperen correctament i FALSE si no es retornen files.
(ii) NO TROBAT :
- Retorna INVALID_CURSOR si el cursor ha estat declarat però tancat.
- Retorna NULL si no s'ha produït la recuperació, però el cursor només està obert.
- Retorna FALS, si les files es recuperen correctament i TRUE si no es retornen files
(iii)% ISOPEN : Retorna CERT, si el cursor està OBERT, sinó FALS
(iv)% ROWCOUNT : Retorna el recompte de files obtingudes.
P # 35) Per què fem servir% ROWTYPE &% TYPE a PLSQL?
Resposta: % ROWTYPE i% TYPE són els atributs de PL / SQL que poden heretar els tipus de dades d'una taula definida en una base de dades. La finalitat d’utilitzar aquests atributs és proporcionar independència i integritat de les dades.
Si es canvia algun dels tipus de dades o precisió a la base de dades, el codi PL / SQL s'actualitza automàticament amb el tipus de dades canviat.
% TYPE s'utilitza per declarar una variable que ha de tenir el mateix tipus de dades que una columna de taula.
Mentre que% ROWTYPE s'utilitzarà per definir una fila completa de registres que tinguin una estructura similar a l'estructura d'una taula.
P # 36) Per què creem procediments i funcions emmagatzemats a PL / SQL i en què són diferents?
Resposta: Un procediment emmagatzemat és un conjunt d’instruccions SQL que s’escriuen per realitzar una tasca específica. Aquestes declaracions es poden desar com a grup a la base de dades amb un nom assignat i es poden compartir amb diferents programes si hi ha permisos per accedir-hi.
Les funcions són de nou subprogrames que s’escriuen per realitzar tasques específiques, però hi ha diferències entre tots dos.
Procediments emmagatzemats | Funcions |
---|---|
Els procediments emmagatzemats poden retornar o no un valor i també poden retornar diversos valors. | La funció sempre retornarà només un valor únic. |
Els procediments emmagatzemats poden incloure sentències DML com ara inserir, actualitzar i suprimir. | No podem utilitzar instruccions DML en una funció. |
Els procediments emmagatzemats poden trucar a funcions. | Les funcions no poden trucar als procediments emmagatzemats. |
Els procediments emmagatzemats admeten la manipulació d’excepcions mitjançant el bloc Try / Catch. | Les funcions no admeten el bloc Try / Catch. |
P # 37) Quins són els paràmetres que podem passar a través d'un procediment emmagatzemat?
Resposta: Podem passar paràmetres IN, OUT i INOUT mitjançant un procediment emmagatzemat i s’han de definir mentre es declara el mateix procediment.
P # 38) Què és un desencadenant i quins són els seus tipus?
Resposta: Un activador és un programa emmagatzemat que s’escriu de manera que s’executa automàticament quan es produeix algun esdeveniment. Aquest esdeveniment pot ser qualsevol operació DML o DDL.
PL / SQL admet dos tipus d'activadors:
- Nivell de fila
- Nivell de declaració
P # 39) Com distingireu una variable global amb una variable local a PL / SQL?
Resposta: La variable global és la que es defineix al principi del programa i es manté fins al final. Es pot accedir mitjançant qualsevol mètode o procediment del programa, mentre que l'accés a la variable local es limita al procediment o mètode on es declara.
P # 40) Quins són els paquets de PL SQL?
Resposta: Un paquet és un grup d'objectes de base de dades relacionats, com ara funcions, tipus, activadors, cursors, etc. emmagatzemats a la base de dades Oracle. És un tipus de biblioteca d'objectes relacionats a la qual poden accedir-hi múltiples aplicacions si es permet.
L’estructura del paquet PL / SQL consta de 2 parts: especificació del paquet i cos del paquet.
Conclusió
Espero que el conjunt de preguntes anteriors us hagués ajudat a fer una ullada a què es tracta Oracle.
Fins i tot si teniu un coneixement exhaustiu de tots els conceptes bàsics, importa molt la manera de presentar-lo a l’entrevista. Per tant, mantingueu la calma i afronteu l’entrevista amb seguretat sense cap mena de dubte.
Llegiu NEXT Part 2: Preguntes sobre ajustament de rendiment, DBA, RAC i Oracle
Us desitgem tot l’èxit !!
Lectura recomanada
- Preguntes i respostes de l’entrevista
- Principals preguntes tècniques d’entrevistes d’Oracle Apps i Oracle SOA
- Preguntes principals sobre les entrevistes sobre formularis i informes d'Oracle
- Algunes preguntes d’entrevistes de proves de programari interessants
- 30 preguntes i respostes d’entrevistes PL / SQL més importants el 2021
- Preguntes principals sobre les entrevistes sobre DBA, RAC i optimització del rendiment d'Oracle
- Top 90 de preguntes i respostes d'entrevistes SQL (DARRERES)
- 20 preguntes senzilles per comprovar el vostre programari Provant coneixements bàsics (Concurs en línia)