top oracle interview questions
Najczęściej zadawane pytania i odpowiedzi podczas wywiadów Oracle:
40 najczęściej zadawanych pytań podczas wywiadu Oracle wraz z odpowiedziami obejmującymi prawie wszystkie podstawowe pojęcia Oracle.
To jest seria dogłębnych obejmująca prawie wszystkie pytania dotyczące wywiadów Oracle:
Część 1: Pytania dotyczące Oracle Basic, SQL, PL / SQL (Ten artykuł)
Część 2: Pytania dotyczące Oracle DBA, RAC i dostrajania wydajności
Część # 3: Pytania do wywiadów z Oracle Forms and Reports
Część # 4: Pytania dotyczące aplikacji Oracle i Oracle SOA podczas wywiadów technicznych
Zacznijmy od pierwszego artykułu z serii.
Rodzaje pytań omawianych w tym artykule:
- Podstawowe pytania do wywiadu Oracle
- Pytania do wywiadu Oracle SQL
- Pytania do wywiadu Oracle PL / SQL
Znajdziesz podstawy działania Oracle wyjaśnione prostymi przykładami do zrozumienia. Jeśli planujesz wystąpić na rozmowie kwalifikacyjnej z Oracle, te zestawy pytań omówione w tym artykule z pewnością będą bardzo pomocne.
Chodźmy naprzód!!
Lista najczęściej zadawanych pytań podczas wywiadów Oracle
Pytanie 1) Co to jest Oracle i jakie są jej różne wersje?
Odpowiedź: Oracle jest jedną z popularnych baz danych dostarczanych przez Oracle Corporation, która działa na koncepcjach zarządzania relacyjnego, dlatego jest również nazywana Oracle RDBMS. Jest szeroko stosowany do przetwarzania transakcji online, hurtowni danych i obliczeń sieciowych w przedsiębiorstwach.
Pytanie 2) Jak zidentyfikujesz wersję oprogramowania Oracle Database?
Odpowiedź: Oracle stosuje różne formaty w każdym wydaniu.
Na przykład ,
Wersję 10.1.0.1.1 można nazwać:
10: Główny numer wersji DB
1: Numer wersji DB Maintenance
0: Numer wersji serwera aplikacji
1: Numer wydania określonego składnika
1: Numer wersji dla określonej platformy
jak zrobić plan testów
P # 3) Jak rozróżnisz VARCHAR i VARCHAR2?
Odpowiedź: Zarówno VARCHAR, jak i VARCHAR2 są typami danych Oracle, które są używane do przechowywania ciągów znaków o zmiennej długości. Ich różnice to:
- VARCHAR może przechowywać znaki do 2000 bajtów, podczas gdy VARCHAR2 może przechowywać do 4000 bajtów.
- VARCHAR zachowa miejsce na znaki zdefiniowane podczas deklaracji, nawet jeśli nie wszystkie z nich zostaną użyte, podczas gdy VARCHAR2 zwolni niewykorzystane miejsce.
P # 4) Jaka jest różnica między poleceniem TRUNCATE & DELETE?
Odpowiedź: Oba polecenia służą do usuwania danych z bazy danych.
Różnica między nimi obejmuje:
- TRUNCATE to operacja DDL, a DELETE to operacja DML.
- TRUNCATE usuwa wszystkie wiersze, ale pozostawia nienaruszoną strukturę tabeli. Nie można go wycofać, ponieważ wydaje polecenie COMMIT przed i po wykonaniu polecenia, podczas gdy polecenie DELETE można wycofać.
- Polecenie TRUNCATE zwalnia przestrzeń pamięci obiektu, natomiast polecenie DELETE nie.
- TRUNCATE jest szybsze w porównaniu do DELETE.
P # 5) Co oznacza typ danych RAW?
Odpowiedź: Typ danych RAW służy do przechowywania danych binarnych o zmiennej długości lub ciągów bajtów.
Różnica między typami danych RAW i VARCHAR2 polega na tym, że PL / SQL nie rozpoznaje tego typu danych i dlatego nie może wykonywać żadnych konwersji, gdy dane RAW są przesyłane do różnych systemów. Ten typ danych można wyszukiwać lub wstawiać tylko do tabeli.
Składnia: RAW (precyzja)
P # 6) Co oznacza łączenie? Wymień typy połączeń.
Odpowiedź: Łączenia służą do wyodrębniania danych z wielu tabel przy użyciu niektórych typowych kolumn lub warunków.
Istnieją różne typy połączeń, które wymieniono poniżej:
- WEWNĘTRZNE DOŁĄCZENIE
- DOŁĄCZ ZEWNĘTRZNE
- CROSS JOINS lub CARTESIAN PRODUCT
- EQUI JOIN
- ANTI JOIN
- SEMI JOIN
P # 7) Jaka jest różnica między funkcjami SUBSTR i INSTR?
Odpowiedź:
- Funkcja SUBSTR zwraca część podrzędną identyfikowaną przez wartości liczbowe z podanego ciągu.
- Na przykład , (SELECT SUBSTR („India is my country”, 1, 4) from dual) zwróci „Indi”.
- INSTR zwróci numer pozycji podłańcucha w ciągu.
- Na przykład , (SELECT INSTR („India is my country”, „a”) from dual) zwróci wartość 5.
P # 8) Jak możemy znaleźć zduplikowane wartości w tabeli Oracle?
Odpowiedź: Możemy użyć poniższego przykładowego zapytania, aby pobrać zduplikowane rekordy.
SELECT EMP_NAME, COUNT (EMP_NAME) FROM EMP GROUP BY EMP_NAME HAVING COUNT (EMP_NAME) > 1;
Q # 9) Jak działa instrukcja ON-DELETE-CASCADE praca?
Odpowiedź: Użycie opcji ON DELETE CASCADE spowoduje automatyczne usunięcie rekordu w tabeli podrzędnej, gdy ten sam zostanie usunięty z tabeli nadrzędnej. Ta instrukcja może być używana z kluczami obcymi.
Możemy dodać opcję ON DELETE CASCADE na istniejącej tabeli za pomocą poniższego zestawu poleceń.
Składnia:
ALTER TABLE CHILD_T1 ADD CONSTRAINT CHILD_PARENT_FK REFERENCES PARENT_T1 (COLUMN1) ON DELETE CASCADE;
P # 10) Co to jest funkcja NVL? Jak można to wykorzystać?
Odpowiedź: NVL to funkcja, która pomaga użytkownikowi zastąpić wartość w przypadku napotkania wartości null dla wyrażenia.
Może być używany jako poniższa składnia.
NVL (Value_In, Replace_With)
P # 11) Jaka jest różnica między kluczem podstawowym a kluczem unikalnym?
Odpowiedź: Klucz podstawowy służy do unikatowego identyfikowania każdego wiersza tabeli, a klucz unikalny zapobiega zduplikowaniu wartości w kolumnie tabeli.
Poniżej podano kilka różnic:
- W tabeli może znajdować się tylko jeden klucz podstawowy, a kluczy unikalnych może być wiele.
- Klucz podstawowy nie może w ogóle przechowywać wartości null, podczas gdy klucz unikatowy zezwala na wiele wartości null.
- Klucz podstawowy to indeks klastrowy, a klucz unikatowy to indeks nieklastrowy.
P # 12) Czym różni się polecenie TRANSLATE od REPLACE?
Odpowiedź: Polecenie TRANSLATE tłumaczy po kolei znaki w podanym łańcuchu ze znakiem podstawienia. Polecenie REPLACE zamieni znak lub zestaw znaków na pełny ciąg podstawienia.
Na przykład:
TRANSLATE (‘Missisippi’,’is’,’15) => M155151pp1 REPLACE (‘Missisippi’,’is’,’15) => M15s15ippi
P # 13) Jak możemy sprawdzić aktualną datę i godzinę w Oracle?
Odpowiedź: Aktualną datę i godzinę możemy znaleźć za pomocą polecenia SYSDATE w Oracle.
Składnia:
SELECT SYSDATE into CURRENT_DATE from dual;
P # 14) Dlaczego używamy funkcji COALESCE w Oracle?
Odpowiedź: Funkcja COALESCE służy do zwracania pierwszego niezerowego wyrażenia z listy argumentów podanej w wyrażeniu. Wyrażenie musi zawierać co najmniej dwa argumenty.
Składnia:
COALESCE (expr 1, expr 2, expr 3…expr n)
P # 15) W jaki sposób napiszesz zapytanie, aby uzyskać uczniów 5. RANK z tabeli STUDENT_REPORT?
Odpowiedź: Zapytanie będzie wyglądać następująco:
SELECT TOP 1 RANK FROM (SELECT TOP 5 RANK FROM STUDENT_REPORT ORDER BY RANK DESC) AS STUDENT ORDER BY RANK ASC;
P # 16) Kiedy używamy klauzuli GROUP BY w zapytaniu SQL?
Odpowiedź: Klauzula GROUP BY służy do identyfikowania i grupowania danych według co najmniej jednej kolumny w wynikach zapytania. Ta klauzula jest często używana z funkcjami agregującymi, takimi jak COUNT, MAX, MIN, SUM, AVG itp.
Składnia:
SELECT COLUMN_1, COLUMN_2 FROM TABLENAME WHERE (condition) GROUP BY COLUMN_1, COLUMN_2
P # 17) Jaki jest najszybszy sposób na pobranie danych z tabeli?
Odpowiedź: Najszybszym sposobem pobrania danych byłoby użycie ROWID w zapytaniu SQL.
P # 18) Gdzie używamy instrukcji DECODE i CASE?
Odpowiedź: Obie instrukcje DECODE i CASE będą działać jak instrukcja IF-THEN-ELSE i są dla siebie alternatywami. Te funkcje są używane w Oracle do przekształcania wartości danych.
Na przykład:
Funkcja DECODE
Select ORDERNUM, DECODE (STATUS,'O', ‘ORDERED’,'P', ‘PACKED,’S’,’SHIPPED’,’A’,’ARRIVED’) FROM ORDERS;
WALIZKA Funkcjonować
Select ORDERNUM , CASE (WHEN STATUS ='O' then ‘ORDERED’ WHEN STATUS ='P' then PACKED WHEN STATUS ='S' then ’SHIPPED’ ELSE ’ARRIVED’) END FROM ORDERS;
Oba polecenia wyświetlą numery zamówień wraz ze stanem,
Gdyby,
Status O = zamówione
Status P = zapakowane
Status S = wysłane
Status A = przybył
P # 19) Dlaczego potrzebujemy ograniczeń integralności w bazie danych?
Odpowiedź: Ograniczenia integralności są wymagane do wymuszania reguł biznesowych, aby zachować integralność bazy danych i zapobiec wprowadzaniu nieprawidłowych danych do tabel. Za pomocą poniższych ograniczeń można zachować relacje między tabelami.
Dostępne są różne ograniczenia integralności, w tym klucz podstawowy, klucz obcy, klucz UNIQUE, NOT NULL & CHECK.
Q # 20) Co masz na myśli mówiąc o MERGE w Oracle i jak możemy połączyć dwie tabele?
Odpowiedź: Instrukcja MERGE służy do scalania danych z dwóch tabel. Wybiera dane z tabeli źródłowej i wstawia / aktualizuje je w drugiej tabeli na podstawie warunku podanego w zapytaniu MERGE.
Składnia:
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) Jakie jest zastosowanie funkcji Aggregate w Oracle?
Odpowiedź: Funkcje agregujące wykonują operacje podsumowujące na zbiorze wartości, aby zapewnić pojedynczą wartość. Istnieje kilka funkcji agregujących, których używamy w naszym kodzie do wykonywania obliczeń. To są:
- ŚR
- MIN
- MAX
- LICZYĆ
- SUMA
- STDEV
P # 22) Do czego służą operatory zbioru UNION, UNION ALL, MINUS i INTERSECT?
Odpowiedź: Operator zbioru ułatwia użytkownikowi pobieranie danych z dwóch lub więcej niż dwóch tabel jednocześnie, jeśli kolumny i względne typy danych są takie same w tabelach źródłowych.
- UNIA operator zwraca wszystkie wiersze z obu tabel oprócz zduplikowanych wierszy.
- UNIA WSZYSTKO zwraca wszystkie wiersze z obu tabel wraz ze zduplikowanymi wierszami.
- MINUS zwraca wiersze z pierwszej tabeli, która nie istnieje w drugiej tabeli.
- KRZYŻOWAĆ zwraca tylko wspólne wiersze w obu tabelach.
P # 23) Czy możemy przekonwertować datę na znak w Oracle, a jeśli tak, jaka byłaby składnia?
Odpowiedź: Możemy użyć funkcji TO_CHAR, aby wykonać powyższą konwersję.
Składnia:
SELECT to_char (to_date ('30-01-2018', 'DD-MM-YYYY'), 'YYYY-MM-DD') FROM dual;
P # 24) Co rozumiesz przez transakcję w bazie danych i jakie wszystkie instrukcje TCL są dostępne w Oracle?
Odpowiedź: Transakcja ma miejsce, gdy zestaw instrukcji SQL jest wykonywany za jednym razem. Aby kontrolować wykonywanie tych instrukcji, Oracle wprowadziło TCL, czyli Transaction Control Statements, które używają zestawu instrukcji.
Zestaw oświadczeń obejmuje:
- POPEŁNIĆ: Służy do trwałej transakcji.
- ROLLBACK: Służy do przywracania stanu bazy danych do ostatniego punktu zatwierdzenia.
- PUNKT ZAPISU: Pomaga określić punkt transakcji, do którego można później dokonać wycofania.
P # 25) Co rozumiesz przez obiekt bazy danych? Czy możesz wymienić kilka z nich?
Odpowiedź: Obiekt używany do przechowywania danych lub odniesień do danych w bazie danych jest nazywany obiektem bazy danych. Baza danych składa się z różnych typów obiektów bazy danych, takich jak tabele, widoki, indeksy, ograniczenia, procedury składowane, wyzwalacze itp.
jak różni się C od C ++
P # 26) Co to jest tabela zagnieżdżona i czym różni się od zwykłej tabeli?
Odpowiedź: Zagnieżdżona tabela to obiekt kolekcji bazy danych, który może być przechowywany jako kolumna w tabeli. Podczas tworzenia zwykłej tabeli w jednej kolumnie można odwoływać się do całej zagnieżdżonej tabeli. Tabele zagnieżdżone mają tylko jedną kolumnę bez ograniczenia wierszy.
Na przykład:
CREATE TABLE EMP ( EMP_ID NUMBER, EMP_NAME TYPE_NAME)
Tutaj tworzymy normalną tabelę jako EMP i odnosimy zagnieżdżoną tabelę TYPE_NAME jako kolumnę.
P # 27) Czy możemy zapisywać obrazy w bazie danych, a jeśli tak, to w jaki sposób?
Odpowiedź: BLOB to skrót od Binary Large Object, który jest typem danych, który jest zwykle używany do przechowywania obrazów, plików audio i wideo lub niektórych binarnych plików wykonywalnych. Ten typ danych ma pojemność do 4 GB.
P # 28) Co rozumiesz przez schemat bazy danych i co on zawiera?
Odpowiedź: Schemat to zbiór obiektów bazy danych, których właścicielem jest użytkownik bazy danych, który może tworzyć nowe obiekty lub manipulować nimi w ramach tego schematu. Schemat może zawierać dowolne obiekty bazy danych, takie jak tabela, widok, indeksy, klastry, przechowywane procesy, funkcje itp.
P # 29) Co to jest słownik danych i jak można go utworzyć?
Odpowiedź: Za każdym razem, gdy tworzona jest nowa baza danych, system tworzy słownik danych specyficzny dla bazy danych. Ten słownik jest własnością użytkownika SYS i przechowuje wszystkie metadane związane z bazą danych. Zawiera zestaw tabel i widoków tylko do odczytu i jest fizycznie przechowywany w obszarze tabel SYSTEM.
P # 30) Co to jest widok i czym różni się od tabeli?
Odpowiedź: Widok to obiekt bazy danych zdefiniowany przez użytkownika, który służy do przechowywania wyników zapytania SQL, do których można się później odwołać. Widoki nie przechowują tych danych fizycznie, ale jako tabela wirtualna, dlatego można ją nazwać tabelą logiczną.
Widok różni się od tabeli jako:
- Tabela może zawierać dane, ale nie wyniki zapytań SQL, podczas gdy View może zapisywać wyniki zapytania, które mogą być użyte w innym zapytaniu SQL jako całości.
- Tabelę można aktualizować lub usuwać, natomiast nie można tego zrobić w widokach.
P # 31) Co oznacza sytuacja zakleszczenia?
Odpowiedź: Zakleszczenie to sytuacja, w której dwóch lub więcej użytkowników jednocześnie oczekuje na dane, które są wzajemnie blokowane. Dlatego powoduje to wszystkie zablokowane sesje użytkowników.
Q # 32) Co to jest indeks?
Odpowiedź: Indeks to obiekt schematu, który jest tworzony w celu wydajnego wyszukiwania danych w tabeli. Indeksy są zwykle tworzone w określonych kolumnach tabeli, do których uzyskuje się największy dostęp. Indeksy mogą być klastrowe lub nieklastrowe.
P # 33) Jaka jest ROLA w bazie danych Oracle?
Odpowiedź: Przyznanie dostępu do poszczególnych obiektów poszczególnym użytkownikom jest trudnym zadaniem administracyjnym. Aby ułatwić to zadanie, w bazie danych tworzona jest grupa wspólnych uprawnień, zwana ROLĄ. Raz utworzoną ROLĘ można przypisać lub odebrać użytkownikom za pomocą polecenia GRANT & REVOKE.
Składnia:
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) Jakie atrybuty można znaleźć w CURSOR?
Odpowiedź: KURSOR ma różne atrybuty, jak wspomniano poniżej:
(znalazłem :
- Zwraca INVALID_CURSOR, jeśli kursor został zadeklarowany, ale zamknięty.
- Zwraca NULL, jeśli pobieranie nie nastąpiło, ale kursor jest otwarty.
- Zwraca TRUE, jeśli wiersze zostały pobrane pomyślnie i FALSE, jeśli żadne wiersze nie zostały zwrócone.
(ii) NIE ZNALEZIONO :
- Zwraca INVALID_CURSOR, jeśli kursor został zadeklarowany, ale zamknięty.
- Zwraca NULL, jeśli pobieranie nie nastąpiło, ale kursor jest otwarty.
- Zwraca FALSE, jeśli wiersze zostały pobrane pomyślnie i TRUE, jeśli żadne wiersze nie zostały zwrócone
(iii)% IZOPENU : Zwraca TRUE, jeśli kursor jest OPEN, w przeciwnym razie FALSE
(iv)% ROWCOUNT : Zwraca liczbę pobranych wierszy.
Q # 35) Dlaczego używamy% ROWTYPE i% TYPE w PLSQL?
Odpowiedź: % ROWTYPE i% TYPE to atrybuty w PL / SQL, które mogą dziedziczyć typy danych tabeli zdefiniowane w bazie danych. Celem korzystania z tych atrybutów jest zapewnienie niezależności i integralności danych.
Jeśli którykolwiek z typów danych lub precyzji zostanie zmieniony w bazie danych, kod PL / SQL zostanie automatycznie zaktualizowany o zmieniony typ danych.
% TYPE służy do deklarowania zmiennej, która musi mieć ten sam typ danych, co kolumna tabeli.
Natomiast% ROWTYPE zostanie użyty do zdefiniowania pełnego wiersza rekordów o strukturze podobnej do struktury tabeli.
P # 36) Dlaczego tworzymy procedury i funkcje składowane w PL / SQL i czym się one różnią?
Odpowiedź: Procedura składowana to zestaw instrukcji SQL napisanych w celu wykonania określonego zadania. Te instrukcje można zapisać jako grupę w bazie danych z przypisaną nazwą i można je udostępniać różnym programom, jeśli istnieją uprawnienia dostępu do tych samych.
Funkcje są ponownie podprogramami, które są napisane w celu wykonania określonych zadań, ale istnieją między nimi różnice.
Procedury składowane | Funkcje |
---|---|
Procedury składowane mogą zwracać wartość lub nie, a także mogą zwracać wiele wartości. | Funkcja zawsze zwraca tylko jedną wartość. |
Procedury składowane mogą obejmować instrukcje DML, takie jak wstawianie, aktualizowanie i usuwanie. | Nie możemy używać instrukcji DML w funkcji. |
Procedury składowane mogą wywoływać funkcje. | Funkcje nie mogą wywoływać procedur składowanych. |
Procedury składowane obsługują obsługę wyjątków przy użyciu bloku Try / Catch. | Funkcje nie obsługują bloku Try / Catch. |
P # 37) Jakie parametry możemy przekazać przez procedurę składowaną?
Odpowiedź: Parametry IN, OUT i INOUT możemy przekazywać za pośrednictwem procedury składowanej i należy je zdefiniować podczas deklarowania samej procedury.
P # 38) Co to jest wyzwalacz i jakie są jego typy?
Odpowiedź: Wyzwalacz to przechowywany program, który jest napisany w taki sposób, że jest wykonywany automatycznie, gdy wystąpi jakieś zdarzenie. To zdarzenie może być dowolną operacją DML lub DDL.
PL / SQL obsługuje dwa typy wyzwalaczy:
- Poziom wiersza
- Poziom instrukcji
Q # 39) Jak odróżnisz zmienną globalną od zmiennej lokalnej w PL / SQL?
Odpowiedź: Zmienna globalna to ta, która jest zdefiniowana na początku programu i przetrwa do końca. Dostęp do niej można uzyskać dowolnymi metodami lub procedurami w programie, podczas gdy dostęp do zmiennej lokalnej jest ograniczony do procedury lub metody, w której została zadeklarowana.
Q # 40) Jakie są pakiety w PL SQL?
Odpowiedź: Pakiet to grupa powiązanych obiektów bazy danych, takich jak przechowywane procesy, funkcje, typy, wyzwalacze, kursory itp., Które są przechowywane w bazie danych Oracle. Jest to rodzaj biblioteki powiązanych obiektów, do których dostęp może uzyskać wiele aplikacji, jeśli jest to dozwolone.
PL / SQL Struktura pakietu składa się z 2 części: specyfikacji pakietu i treści pakietu.
Wniosek
Mam nadzieję, że powyższy zestaw pytań pomógłby ci w zorientowaniu się, o co chodzi w Oracle.
Nawet jeśli masz dogłębną znajomość wszystkich podstawowych pojęć, sposób, w jaki je przedstawisz w rozmowie kwalifikacyjnej, ma duże znaczenie. Dlatego zachowaj spokój i bez wahania stawiaj czoło rozmowie.
Przeczytaj następną część 2: Pytania dotyczące Oracle DBA, RAC i dostrajania wydajności
Życzymy powodzenia !!
rekomendowane lektury
- Pytania i odpowiedzi do wywiadu
- Najczęstsze pytania do rozmów kwalifikacyjnych dotyczących aplikacji Oracle Apps i Oracle SOA
- Najczęstsze pytania do wywiadów z Oracle Forms and Reports
- Kilka interesujących pytań do rozmowy kwalifikacyjnej dotyczącej testowania oprogramowania
- 30 najważniejszych pytań i odpowiedzi do wywiadów PL / SQL w 2021 r
- Najczęstsze pytania do wywiadów z Oracle DBA, RAC i Performance Tuning
- 90 najpopularniejszych pytań i odpowiedzi do wywiadów SQL (NAJNOWSZE)
- 20 prostych pytań do sprawdzenia oprogramowania Testowanie podstawowej wiedzy (quiz online)