top oracle interview questions
Най-често задавани въпроси и отговори за интервю за Oracle:
Топ 40 въпроса за интервю за Oracle заедно с отговори, покриващи почти всички основни понятия на Oracle.
Това е задълбочена поредица, обхващаща почти всички въпроси за интервюто за Oracle:
Част 1: Въпроси за Oracle Basic, SQL, PL / SQL (тази статия)
Част 2: Въпроси за настройка на Oracle DBA, RAC и производителност
Част # 3: Въпроси за интервю за Oracle Forms and Reports
Част # 4: Oracle Apps и Oracle SOA Technical Interview Въпроси
Нека започнем с 1-ва статия от поредицата.
Видове въпроси, обхванати в тази статия:
- Основни въпроси за интервю за Oracle
- Въпроси за интервю за Oracle SQL
- Въпроси за интервю за Oracle PL / SQL
Ще намерите основите на Oracle, обяснени с прости примери за вашето разбиране. Ако планирате да се явите на интервю за Oracle, тези групи въпроси, обхванати в тази статия, определено ще ви бъдат от голяма помощ.
Давай напред !!
Списък с най-добрите въпроси за интервю за Oracle
В # 1) Какво представлява Oracle и кои са различните му издания?
Отговор: Oracle е една от популярните бази данни, предоставени от Oracle Corporation, която работи върху концепции за релационно управление и следователно се нарича и Oracle RDBMS. Той се използва широко за онлайн обработка на транзакции, съхранение на данни и изчислителни мрежи в предприятието.
В # 2) Как ще идентифицирате изданието на Oracle Database Software?
Отговор: Oracle следва редица формати за всяко издание.
Например ,
Версия 10.1.0.1.1 може да бъде посочена като:
10: Номер на основната версия на DB
едно: Номер на изданието за поддръжка на DB
0: Номер на издание на сървъра на приложения
едно: Номер на изданието, специфично за компонента
едно: Номер на изданието, специфичен за платформата
кое от изброените не е приемлив начин за тестване на реагиращ дизайн?
В # 3) Как ще правите разлика между VARCHAR и VARCHAR2?
Отговор: И VARCHAR, и VARCHAR2 са типове данни на Oracle, които се използват за съхраняване на символни низове с променлива дължина. Техните разлики са:
- VARCHAR може да съхранява символи до 2000 байта, докато VARCHAR2 може да съхранява до 4000 байта.
- VARCHAR ще задържа пространството за символи, дефинирани по време на декларацията, дори ако всички те не се използват, докато VARCHAR2 ще освободи неизползваното пространство.
В # 4) Каква е разликата между командата TRUNCATE & DELETE?
Отговор: И двете команди се използват за премахване на данни от базата данни.
Разликата между двете включва:
- TRUNCATE е DDL операция, докато DELETE е DML операция.
- TRUNCATE премахва всички редове, но оставя структурата на таблицата непокътната. Той не може да бъде върнат, тъй като издава COMMIT преди и след изпълнението на командата, докато командата DELETE може да бъде върната обратно.
- Командата TRUNCATE ще освободи мястото за съхранение на обекта, докато командата DELETE не.
- TRUNCATE е по-бърз в сравнение с DELETE.
В # 5) Какво се разбира под RAW тип данни?
Отговор: RAW типът данни се използва за съхраняване на двоични данни с променлива дължина или байтови низове.
Разликата между RAW и VARCHAR2 тип данни е, че PL / SQL не разпознава този тип данни и следователно не може да извършва никакви преобразувания, когато RAW данните се прехвърлят в различни системи. Този тип данни може да бъде заявен или вмъкнат в таблица.
Синтаксис: RAW (прецизност)
В # 6) Какво се разбира под Joins? Избройте видовете присъединявания.
Отговор: Обединенията се използват за извличане на данни от множество таблици, като се използват някои общи колони или условия.
Има различни видове присъединявания, изброени по-долу:
- ВЪТРЕШНО ПРИСЪЕДИНЯВАНЕ
- ВЪНШНО ПРИСЪЕДИНЯВАНЕ
- КРЪСТНИ ПРИСЪЕДИНЕНИЯ или КАРТЕЗОВ ПРОДУКТ
- EQUI ПРИСЪЕДИНЕТЕ
- АНТИ ПРИСЪЕДИНЯВАНЕ
- ПОЛУ СЕ ПРИСЪЕДИНЕТЕ
В # 7) Каква е разликата между функциите SUBSTR & INSTR?
Отговор:
- Функцията SUBSTR връща подчастът, идентифициран с числови стойности от предоставения низ.
- Например , (SELECT SUBSTR (‘Индия е моята страна’, 1, 4) от dual) ще върне „Indi“.
- INSTR ще върне номера на позицията на подниза в низа.
- Например , (SELECT INSTR (‘Индия е моята страна’, ‘a’) от dual) ще върне 5.
В # 8) Как можем да открием дублиращите се стойности в таблица на Oracle?
Отговор: Можем да използваме примерната заявка по-долу, за да извлечем дублиращите се записи.
SELECT EMP_NAME, COUNT (EMP_NAME) FROM EMP GROUP BY EMP_NAME HAVING COUNT (EMP_NAME) > 1;
В # 9) Как се изразява ON-DELETE-CASCADE работа?
Отговор: Използването на ON DELETE CASCADE автоматично ще изтрие запис в дъщерната таблица, когато същият бъде изтрит от родителската таблица. Това изявление може да се използва с чужди ключове.
Можем да добавим опцията ON DELETE CASCADE към съществуваща таблица, като използваме по-долу набор от команди.
Синтаксис:
ALTER TABLE CHILD_T1 ADD CONSTRAINT CHILD_PARENT_FK REFERENCES PARENT_T1 (COLUMN1) ON DELETE CASCADE;
В # 10) Какво е NVL функция? Как може да се използва?
Отговор: NVL е функция, която помага на потребителя да замести стойност, ако е намерена null за израз.
Може да се използва като синтаксис по-долу.
NVL (Value_In, Replace_With)
В # 11) Каква е разликата между първичен ключ и уникален ключ?
Отговор: Първичният ключ се използва за идентифициране на всеки ред в таблицата по уникален начин, докато уникален ключ предотвратява дублиране на стойности в колона на таблица.
Дадени по-долу са няколко разлики:
- Първичният ключ може да бъде само един на масата, докато уникалните ключове могат да бъдат множество.
- Първичният ключ изобщо не може да съдържа нулева стойност, докато уникалният ключ позволява множество нулеви стойности.
- Първичният ключ е клъстериран индекс, докато уникалният ключ е неклъстериран индекс.
В # 12) Как командата TRANSLATE се различава от REPLACE?
Отговор: Командата TRANSLATE превежда символи един по един в предоставения низ със заместващия знак. Командата REPLACE ще замени символ или набор от символи с пълен низ за заместване.
Например:
TRANSLATE (‘Missisippi’,’is’,’15) => M155151pp1 REPLACE (‘Missisippi’,’is’,’15) => M15s15ippi
В # 13) Как можем да разберем текущата дата и час в Oracle?
Отговор: Можем да намерим текущата дата и час, като използваме командата SYSDATE в Oracle.
Синтаксис:
SELECT SYSDATE into CURRENT_DATE from dual;
В # 14) Защо използваме функцията COALESCE в Oracle?
Отговор: Функцията COALESCE се използва за връщане на първия ненулеви израз от списъка с аргументи, предоставени в израза. Трябва да има минимум два аргумента в израз.
Синтаксис:
COALESCE (expr 1, expr 2, expr 3…expr n)
Въпрос # 15) Как ще напишете заявка, за да получите ученици от 5-ти РАНГ от таблицата STUDENT_REPORT?
Отговор: Запитването ще бъде както следва:
SELECT TOP 1 RANK FROM (SELECT TOP 5 RANK FROM STUDENT_REPORT ORDER BY RANK DESC) AS STUDENT ORDER BY RANK ASC;
В # 16) Кога използваме клаузата GROUP BY в SQL Query?
Отговор: Клаузата GROUP BY се използва за идентифициране и групиране на данните по една или повече колони в резултатите от заявката. Тази клауза често се използва с обобщени функции като COUNT, MAX, MIN, SUM, AVG и др.
Синтаксис:
SELECT COLUMN_1, COLUMN_2 FROM TABLENAME WHERE (condition) GROUP BY COLUMN_1, COLUMN_2
В # 17) Кой е най-бързият начин за извличане на данните от таблица?
Отговор: Най-бързият начин за извличане на данните би бил използването на ROWID в SQL заявката.
Въпрос # 18) Къде използваме DECODE и CASE Statements?
Отговор: И двете изрази DECODE & CASE ще функционират като израза IF-THEN-ELSE и те са алтернативите един за друг. Тези функции се използват в Oracle за трансформиране на стойностите на данните.
Например:
ДЕКОДИРАНЕ Функция
Select ORDERNUM, DECODE (STATUS,'O', ‘ORDERED’,'P', ‘PACKED,’S’,’SHIPPED’,’A’,’ARRIVED’) FROM ORDERS;
СЛУЧАЙ Функция
Select ORDERNUM , CASE (WHEN STATUS ='O' then ‘ORDERED’ WHEN STATUS ='P' then PACKED WHEN STATUS ='S' then ’SHIPPED’ ELSE ’ARRIVED’) END FROM ORDERS;
И двете команди ще показват номера на поръчките със съответния им статус като,
Ако
Състояние O = Подредено
Състояние P = Опакован
Състояние S = Изпратено
Състояние A = Пристигнали
В # 19) Защо се нуждаем от ограничения на целостта в база данни?
разлика между тестване на sit и uat
Отговор: Необходими са ограничения за целостта, за да се наложат бизнес правила, така че да се запази целостта на базата данни и да се предотврати въвеждането на невалидни данни в таблиците. С помощта на посочените по-долу ограничения могат да се поддържат връзки между таблиците.
Предлагат се различни ограничения на целостта, които включват първичен ключ, външен ключ, УНИКАЛЕН КЛЮЧ, НЕ НУЛЕН И ПРОВЕРКА.
В # 20) Какво имате предвид под MERGE в Oracle и как можем да обединим две таблици?
Отговор: Операторът MERGE се използва за обединяване на данните от две таблици. Той избира данните от изходната таблица и ги вмъква / актуализира в другата таблица въз основа на условието, предоставено в заявката MERGE.
Синтаксис:
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
В # 21) Каква е ползата от агрегираните функции в Oracle?
Отговор: Обобщените функции изпълняват обобщени операции върху набор от стойности, за да предоставят единична стойност. Има няколко обобщени функции, които използваме в нашия код за извършване на изчисления. Това са:
- AVG
- МИН
- МАКС
- БРОЯ
- СУММА
- STDEV
В # 22) Какво трябва да правят операторите UNION, UNION ALL, MINUS & INTERSECT?
Отговор: Операторът set улеснява потребителя да извлича данните от две или повече от две таблици наведнъж, ако колоните и относителните типове данни са еднакви в таблиците източник.
- СЪЮЗ операторът връща всички редове от двете таблици с изключение на дублиращите се редове.
- СЪЮЗ ВСИЧКИ връща всички редове от двете таблици заедно с дублиращите се редове.
- МИНУС връща редове от първата таблица, която не съществува във втората таблица.
- ПРЕКРЕСТИ връща само общите редове в двете таблици.
В # 23) Можем ли да конвертираме дата в char в Oracle и ако да, какъв би бил синтаксисът?
Отговор: Можем да използваме функцията TO_CHAR, за да извършим горепосоченото преобразуване.
Синтаксис:
SELECT to_char (to_date ('30-01-2018', 'DD-MM-YYYY'), 'YYYY-MM-DD') FROM dual;
Въпрос # 24) Какво имате предвид под транзакция с база данни и какви всички изявления на TCL са налични в Oracle?
Отговор: Транзакцията възниква, когато набор от SQL изрази се изпълняват едновременно. За да контролира изпълнението на тези изрази, Oracle въведе TCL, т. Е. Изявления за контрол на транзакции, които използват набор от изрази.
Наборът от изявления включва:
- АНГАЖИРАНЕ: Използва се, за да направи транзакцията постоянна.
- ВРЪЩАНЕ: Използва се за връщане на състоянието на DB до последната точка на фиксиране.
- SAVEPOINT: Помага за определяне на точка на транзакция, до която може да се извърши връщане по-късно.
В # 25) Какво разбирате от обект на база данни? Можете ли да изброите няколко от тях?
Отговор: Обектът, използван за съхраняване на данните или препратките към данните в база данни, е известен като обект на база данни. Базата данни се състои от различни видове DB обекти като таблици, изгледи, индекси, ограничения, съхранени процедури, тригери и т.н.
В # 26) Какво е вложена таблица и по какво се различава от нормалната таблица?
Отговор: Вложената таблица е обект за събиране на база данни, който може да се съхранява като колона в таблица. Докато създавате нормална таблица, може да се направи препратка към цяла вложена таблица в една колона. Вложените таблици имат само една колона без ограничение на редовете.
Например:
CREATE TABLE EMP ( EMP_ID NUMBER, EMP_NAME TYPE_NAME)
Тук създаваме нормална таблица като EMP и препращаме вложена таблица TYPE_NAME като колона.
В # 27) Можем ли да запазваме изображения в база данни и ако да, как?
Отговор: BLOB означава Binary Large Object, което е тип данни, който обикновено се използва за съхранение на изображения, аудио и видео файлове или някои двоични изпълними файлове. Този тип данни има капацитета да съхранява данни до 4 GB.
В # 28) Какво разбирате от схемата на базата данни и какво съдържа тя?
Отговор: Схемата е колекция от обекти на база данни, притежавани от потребител на база данни, който може да създава или манипулира нови обекти в тази схема. Схемата може да съдържа всякакви DB обекти като таблица, изглед, индекси, клъстери, съхранени procs, функции и т.н.
В # 29) Какво представлява речникът за данни и как може да бъде създаден?
Отговор: Когато се създава нова база данни, системата създава речник на данни, специфичен за база данни. Този речник е собственост на потребителя на SYS и поддържа всички метаданни, свързани с базата данни. Той има набор само за четене таблици и изгледи и се съхранява физически в табличното пространство на СИСТЕМА.
В # 30) Какво е изглед и по какво се различава от таблица?
Отговор: Изгледът е дефиниран от потребителя обект на база данни, който се използва за съхраняване на резултатите от SQL заявка, към която може да се направи по-късно препратка. Изгледите не съхраняват тези данни физически, а като виртуална таблица, поради което те могат да бъдат посочени като логическа таблица.
Изгледът се различава от таблицата като:
- Таблица може да съдържа данни, но не и резултати от SQL заявка, докато View може да запише резултатите от заявката, които могат да се използват в друга SQL заявка като цяло.
- Таблицата може да се актуализира или изтрие, докато изгледите не могат да го направят.
В # 31) Какво се разбира под ситуация на задънена улица?
Отговор: Deadlock е ситуация, когато двама или повече потребители едновременно очакват данните, които се заключват един от друг. Следователно това води до всички блокирани потребителски сесии.
В # 32) Какво се разбира под индекс?
Отговор: Индексът е обект на схема, който се създава за ефективно търсене на данните в таблицата. Индексите обикновено се създават в определени колони на таблицата, които са достъпни най-много. Индексите могат да бъдат клъстерирани или неклъстерирани.
Въпрос # 33) Какво представлява РОЛЯТА в базата данни на Oracle?
Отговор: Предоставянето на достъп до отделни обекти на отделните потребители е трудна административна задача. За да се улесни тази работа, се създава група от общи привилегии в база данни, която е известна като ROLE. РОЛЯТА, веднъж създадена, може да бъде присвоена или оттеглена от потребителите с помощта на командата GRANT & REVOKE.
Синтаксис:
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;
В # 34) Какви са атрибутите, които се намират в КУРСОРА?
Отговор: КУРСОРЪТ има различни атрибути, както е посочено по-долу:
(намерих :
- Връща INVALID_CURSOR, ако курсорът е деклариран, но затворен.
- Връща NULL, ако извличането не се е случило, но курсорът е само отворен.
- Връща TRUE, ако редовете са извлечени успешно и FALSE, ако не са върнати редове.
(ii) НЕ СЕ НАМЕРИ :
- Връща INVALID_CURSOR, ако курсорът е деклариран, но затворен.
- Връща NULL, ако извличането не се е случило, но курсорът е само отворен.
- Връща FALSE, ако редовете са извлечени успешно и TRUE, ако не са върнати редове
(iii)% ISOPEN : Връща TRUE, ако курсорът е OPEN else FALSE
(iv)% ROWCOUNT : Връща броя на извлечените редове.
В # 35) Защо използваме% ROWTYPE &% TYPE в PLSQL?
Отговор: % ROWTYPE &% TYPE са атрибутите в PL / SQL, които могат да наследят типовете данни на таблица, дефинирана в база данни. Целта на използването на тези атрибути е да се осигури независимост и цялост на данните.
Ако някой от типовете данни или точността се промени в базата данни, PL / SQL кодът се актуализира автоматично със променения тип данни.
% TYPE се използва за деклариране на променлива, която трябва да има същия тип данни като на колона на таблица.
Докато% ROWTYPE ще се използва за дефиниране на пълен ред от записи, имащи структура, подобна на структурата на таблица.
В # 36) Защо създаваме съхранени процедури и функции в PL / SQL и по какво се различават?
Отговор: Съхранената процедура е набор от SQL изрази, които са написани за изпълнение на определена задача. Тези изявления могат да бъдат записани като група в базата данни с присвоено име и могат да бъдат споделяни с различни програми, ако има разрешения за достъп до същото.
Функциите отново са подпрограми, които са написани за изпълнение на конкретни задачи, но има разлики между двете.
Съхранени процедури | Функции |
---|---|
Съхранените процедури могат или не могат да върнат стойност и могат да върнат множество стойности. | Функцията винаги ще връща само единична стойност. |
Съхранените процедури могат да включват DML изрази като вмъкване, актуализиране и изтриване. | Не можем да използваме DML изрази във функция. |
Съхранените процедури могат да извикват функции. | Функциите не могат да извикват съхранени процедури. |
Съхранените процедури поддържат обработка на изключения, като се използва блок Try / Catch. | Функциите не поддържат блока Try / Catch. |
В # 37) Какви са параметрите, които можем да преминем през съхранена процедура?
Отговор: Можем да предадем параметри IN, OUT & INOUT през съхранена процедура и те трябва да бъдат дефинирани при деклариране на самата процедура.
В # 38) Какво представлява спусъкът и какви са неговите видове?
Отговор: Задействането е съхранена програма, която е написана по такъв начин, че да се изпълнява автоматично, когато настъпи някакво събитие. Това събитие може да бъде всеки DML или DDL операция.
PL / SQL поддържа два вида задействания:
- Ниво на реда
- Ниво на изявление
В # 39) Как ще различите глобална променлива с локална променлива в PL / SQL?
Отговор: Глобалната променлива е тази, която се дефинира в началото на програмата и оцелява до края. Той може да бъде достъпен чрез всякакви методи или процедури в рамките на програмата, докато достъпът до локалната променлива е ограничен до процедурата или метода, където тя е декларирана.
В # 40) Какви са пакетите в PL SQL?
Отговор: Пакетът е група от свързани обекти на база данни, като съхранени procs, функции, типове, тригери, курсори и др., Които се съхраняват в базата данни на Oracle. Това е вид библиотека от свързани обекти, които могат да бъдат достъпни от множество приложения, ако е разрешено.
PL / SQL структурата на пакета се състои от 2 части: спецификация на пакета и тяло на пакета.
Заключение
Надявам се горният набор от въпроси да ви е помогнал да разберете какво представлява Oracle.
Дори ако имате задълбочени познания за всички основни понятия, начинът, по който го представяте в интервюто, има голямо значение. Затова останете спокойни и се изправете уверено пред интервюто, без да се колебаете.
Прочетете СЛЕДВАЩА част 2: Въпроси за настройка на Oracle DBA, RAC и производителност
Пожелаваме ви успех !!
Препоръчително четене
- Интервюирайте въпроси и отговори
- Най-добрите технически въпроси за Oracle Apps и интервюта за Oracle SOA
- Водещи въпроси за интервюта за формуляри и доклади на Oracle
- Някои интересни въпроси за интервю за тестване на софтуер
- 30 най-важни PL / SQL интервюта Въпроси и отговори през 2021 г.
- Водещи въпроси за интервюта за Oracle DBA, RAC и настройка на ефективността
- Топ 90 въпроси и отговори за интервю за SQL (ПОСЛЕДНИ)
- 20 прости въпроса за проверка на вашия софтуер Тестване на основни знания (Онлайн тест)