Manipulowanie pytaniami dotyczącymi danych
1.What does ACID mean with respect to relational database?
- Dokładność, spójność, izolacja, baza danych
- Dokładność, współbieżność, izolacja, trwałość
- Atomowość, spójność, izolacja, trwałość
- Atomowość, współbieżność, izolacja, trwałość
Answer: C. Wszystkie transakcje Oracle są zgodne z podstawowymi właściwościami transakcji bazy danych, znanymi jako właściwości ACID. Atomowość stwierdza, że wszystkie zadania transakcji są wykonywane lub żadne z nich nie jest. Nie ma transakcji częściowych. Spójność oznacza, że transakcja przenosi bazę danych z jednego spójnego stanu do innego spójnego stanu. Izolacja oznacza, że efekt transakcji nie jest widoczny dla innych transakcji, dopóki transakcja nie zostanie zatwierdzona. Trwałość oznacza, że zmiany dokonane w wyniku zatwierdzonych transakcji są trwałe. Po zakończeniu transakcji baza danych zapewnia poprzez swoje mechanizmy odtwarzania, że zmiany wynikające z transakcji nie zostaną utracone.
2. What does the word DML stands for in Oracle SQL?
- Język zarządzania trwałością
- Język zarządzania bazą danych
- Język manipulacji bazą danych
- Żadne z powyższych
Answer: C. DML oznacza język manipulacji danymi.
3. Which of the following are DML commands in Oracle Database?
- SELECT
- GRUPUJ WEDŁUG
- INTERSECT
- INSERT
Answer: A, D. Ściśle mówiąc, SELECT jest poleceniem DML, ponieważ jest jedną z obowiązkowych klauzul dotyczących manipulacji danymi zawartymi w tabelach.
4.Which of the following DML commands can be considered to be a hybrid of INSERT and UPDATE in a single statement?
- INTERSECT
- INSERT
- SELECT
- MERGE
Answer: D. MERGE może wykonywać akcje INSERT i UPDATE w jednej instrukcji w Oracle.
5. What all operations can MERGE statement perform in SQL?
- INSERT
- DELETE
- GRUPUJ WEDŁUG
- Żadne z powyższych
Answer: A, B. W pewnych warunkach MERGE może również wykonać operację DELETE, razem z INSERT i UPDATE.
6.Which of following commands is a DDL (Data Definition Language) command but is often considered along with DML commands?
- DELETE
- INSERT
- TRUNCATE
- Żadne z powyższych
Answer: C. TRUNCATE to polecenie DDL. Usuwa rekordy z tabeli bez żadnych warunków. Nie jest częścią żadnej trwającej transakcji, a niezatwierdzona transakcja w sesji jest zatwierdzana po wykonaniu TRUNCATE.
7.Which of the following commands manipulate data basically?
- MINUS
- UPDATE
- TRUNCATE
- Wszystkie powyższe
Answer: B, C. UPDATE to instrukcja DML służąca do modyfikowania wartości kolumny w tabeli. TRUNCATE manipuluje danymi, usuwając je bezwarunkowo z tabeli.
8. Which of the following commands is used to populate table rows with data?
- DELETE
- INSERT
- SELECT
- UPDATE
Answer: B. Polecenie INSERT służy do wstawiania wierszy w tabeli.
9. What is true about the INSERT statement? (Choose the most appropriate answer)
- Może wstawiać dane w jednym wierszu jednej tabeli na raz
- Może wstawiać dane w wielu wierszach jednej tabeli naraz
- Może wstawiać dane w wielu wierszach wielu tabel jednocześnie
- Wszystkie powyższe
Answer: C. Instrukcja INSERT umożliwia jednoczesne wstawienie wiersza lub zestawu wierszy w jednej tabeli.
10.What is true about the insertion of rows in tables?
- Wiersze można wstawiać losowo
- Do tabeli można wstawić dowolną liczbę wierszy bez żadnych ograniczeń
- Generalnie wiersze są wstawiane do tabeli na podstawie pewnych reguł zwanych ograniczeniami
- Wszystkie powyższe
Answer: C. Ograniczenia to reguły biznesowe nałożone na kolumny, aby zapewnić zachowanie danych przychodzących do kolumny. Te ograniczenia są sprawdzane pod kątem danych podczas procesu INSERT.
11. What is true about the INSERT statement in Oracle SQL? (Choose the most appropriate answer)
- Instrukcja INSERT może przesłonić każde ograniczenie nałożone na tabelę
- Instrukcja INSERT nie może być używana w tabeli, jeśli ograniczenie jest już umieszczone w tabeli
- Instrukcja INSERT może zostać użyta na tabeli tylko wtedy, gdy ograniczenie jest już umieszczone w tabeli
- Instrukcja INSERT nigdy nie może wstawić wiersza, który narusza ograniczenie.
Answer: D. Oracle zgłasza wyjątek, jeśli jakiekolwiek dane zawarte w instrukcji insert naruszają ograniczenie.
Consider the following data set from the EMPLOYEES table along with its structure and answer the questions 12, 13 and 14:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER (6)
FIRST_NAME VARCHAR2 (20)
LAST_NAME NOT NULL VARCHAR2 (25)
EMAIL NOT NULL VARCHAR2 (25)
PHONE_NUMBER VARCHAR2 (20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2 (10)
SALARY NUMBER (8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
EMPLOYEE_ID FIRST_NAME JOB_ID
------------------- ------------------ --------
5100 BRUCE CLERK
5101 JESSICA SALESMAN
5102 DEBBY SALESMAN
12. Examine the structure of the EMPLOYEES table. You issue the following command:
INSERT INTO EMPLOYEES (employee_id , first_name , job_id) VALUES (5100, 'BRUCE', 'CLERK');
Zakładając, że w kolumnie EMPLOYEE_ID występuje ograniczenie kontroli zduplikowanej wartości, jaki będzie wynik powyższej instrukcji?
- Wstawi kolejny wiersz z 5100 wartościami BRUCE CLERK
- Wstawi kolejny wiersz z 51002 wartościami BRUCE CLERK
- Spowoduje to wyświetlenie błędu ORA „Naruszono ograniczenia”
- Żadne z powyższych
Answer: C. Ponieważ wiersz z wartościami „5100, BRUCE, CLERK” już istnieje w tabeli, instrukcja wstawiania z tym samym zestawem danych nie jest możliwa.
13.You issue the following command to the data set shown above:
INSERT INTO EMPLOYEES (employee_id , first_name , job_id) VALUES (51003,'BRUCE','CLERK');
Jaki będzie wynik tego stwierdzenia?
- Wstawi nowy wiersz z 51003 wartościami BRUCE CLERK
- Wystąpi błąd ORA, ponieważ nie może być innego BRUCE, który byłby SPRZEDAWCĄ
- Spowoduje to wyświetlenie błędu ORA „Naruszono ograniczenia”
- Żadne z powyższych
Answer: A. Ponieważ nie ma ograniczeń w kolumnach FIRST_NAME i job_id, INSERT będzie działać bez żadnego błędu
14. You issue the following command to the data set shown above:
INSERT INTO EMPLOYEES (employee_id , first_name , job_id ) VALUES (51003,'BRUCE', NULL);
Jaki będzie wynik tego stwierdzenia?
- Wstawi nowy wiersz z 51003 wartościami BRUCE CLERK
- Wystąpi błąd ORA, ponieważ nie może być innego BRUCE, który byłby SPRZEDAWCĄ
- Spowoduje to wyświetlenie błędu ORA „Naruszono ograniczenia”
- Wstawi on nowy wiersz z 51003 wartościami BRUCE NULL
Answer: D. Ponieważ nie ma ograniczenia NOT NULL w kolumnach FIRST_NAME i JOB_ID, wartość NULL zostanie wstawiona.
15. What among the following can be said regarding inserting of rows in tables?
- Użytkownik nie może interaktywnie wstawiać wierszy
- Zapytanie można napisać ze zmiennymi zastępującymi w celu interaktywnego wstawiania wierszy przez użytkowników
- Gdy użytkownik jest monitowany o wstawienie wierszy, funkcja wstawiania nie działa i generuje błąd ORA
- Żadne z powyższych
Answer: B. Instrukcja INSERT może wykorzystywać zmienną podstawiania, aby zachęcić użytkownika do wprowadzenia wartości w czasie wykonywania. Zapewnia interaktywny sposób wstawiania danych do tabel
16.Which of the following can be used to insert rows in tables?
- SELECT
- INSERT
- Sub-queries
- Wszystkie powyższe
Answer: D. Instrukcja INSERT może wykorzystywać jawną metodę INSERT, INSERT-SELECT lub metodę zapytania podrzędnego w celu wstawienia danych do tabel.
17. Which among the following is a common technique for inserting rows into a table? (Choose the most sensible and appropriate answer)
- Korzystanie z klauzuli SELECT
- Ręczne wpisywanie każdej wartości w klauzuli INSERT
- Korzystanie z operatorów SET
- Żadne z powyższych
Answer: A. Użycie klauzuli SELECT jest najpowszechniejszą techniką wstawiania wierszy do tabel. Zmniejsza wysiłek ręcznego wpisywania wartości dla każdej kolumny.
18.Which of the following commands is used to change the rows that already exist in a table?
- INSERT
- UNION
- UPDATE
- SELECT
Answer: C. UPDATE to instrukcja DML, która służy do modyfikowania wartości kolumn w tabeli.
19.What is true about the UPDATE command?
- Jednocześnie może aktualizować tylko jeden wiersz
- Może aktualizować tylko 100 wierszy naraz
- Może zbiorczo aktualizować nieograniczoną liczbę wierszy
- Żadne z powyższych
Answer: C. UPDATE może aktualizować wiele wierszy w jednym lub wielu wierszach naraz na podstawie warunków klauzuli WHERE.
20.Which of the following clauses decides how many rows are to be updated?
- SELECT
- WHERE
- FROM
- Wszystkie powyższe
Answer: B. Instrukcja UPDATE wykorzystuje klauzulę WHERE do przechwytywania zestawu wierszy, które należy zaktualizować.
21.What among the following is true about the UPDATE statement? (Choose the most appropriate answer)
- UPDATE może aktualizować wiersze tylko z jednej tabeli
- UPDATE może aktualizować wiersze z wielu tabel
- Pojedyncze polecenie UPDATE nie może wpływać na wiersze w wielu tabelach
- Żadne z powyższych
Answer: A, C. Instrukcja UPDATE dotyczy wierszy tylko jednej tabeli, a nie wielu tabel.
Consider the following data set from the EMPLOYEES table and its structure. Answer questions 22 to 24 that follow.
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
EMPLOYEE_ID FIRST_NAME JOB_ID
------------------- ------------------ --------
5100 BRUCE CLERK
5101 JESSICA SALESMAN
5102 DEBBY SALESMAN
22. You need to change the JOB_ID for Bruce (Employee Id 7389) to 'ACCOUNTANT'. Which of the following statements will you fire?
UPDATE employees SET job_id = 'ACCOUNTANT' WHERE employee_id = 7389;
INSERT INTO EMPLOYEES (employee_id , first_name , job_id ) VALUES (5100,'BRUCE', 'ACCOUNTANT');
UPDATE employees SET job_id = 'ACCOUNTANT' WHERE job_id = 'CLERK';
UPDATE employees SET job_id = 'ACCOUNTANT';
Answer: A. Opcja B kończy się niepowodzeniem, ponieważ zmienia kod pracy wszystkich urzędników na KSIĘGOWĄ. Opcja C jest nieprawidłowa, ponieważ aktualizuje kod pracy do KSIĘGOWEGO dla wszystkich pracowników w tabeli.
Answer the following questions 23 and 24 based on the below actions -
Wysyłasz następujące zapytanie do tabeli EMPLOYEES z zestawem danych, jak pokazano powyżej.
UPDATE employees
Set job_id = NULL
Where employee_id = 51000;
Zestaw danych będzie wyglądał tak, jak pokazano poniżej: (Załóżmy, że w kolumnie EMPLOYEE_ID występuje ograniczenie zduplikowanej wartości)
EMPLOYEE_ID FIRST_NAME JOB_ID
------------------- ------------------ --------
5100 BRUCE
5101 JESSICA SALESMAN
5102 DEBBY SALESMAN
23. Suppose you fire an UPDATE statement to update Bruce's JOB_ID to 'SALESMAN' (with respect to the data set shown above). What will be the outcome of the query?
- Kod pracy Bruce'a nadal będzie NULL
- Kod pracy Bruce'a zostanie zmieniony na „SALESMAN”
- Błąd ORA
- Bez akcji
Answer: B. UPDATE doda nową wartość do wartości NULL, zmieniając NULL na nową wartość
24. You issue an UPDATE statement to update the employee id 7389 to 7900. You query the employee by its id '7389' before committing the transaction. What will be the outcome?
- Aktualizacja będzie działać pomyślnie, a select pokaże 7389.
- Aktualizacja będzie działać pomyślnie, podczas gdy opcja Select nie pokaże żadnych rekordów.
- Ograniczenie EMPLOYEE_ID nie pozwoli na jego aktualizację
- Zaktualizuje się pomyślnie, ale wszystkie wartości EMPLOYEE_ID 7389 staną się NULL.
Answer: B. Zapytanie w sesji jest zgodne z trwającymi transakcjami. Gdyby to samo zapytanie zostało wykonane w innej sesji, pokazałoby rekord pracownika o identyfikatorze 7389, ponieważ aktywna transakcja w pierwszej sesji nie została jeszcze zatwierdzona.
25. What among the following is a typical use of an UPDATE statement? (Select the most appropriate answer)
- Aby pobrać wiersz i zaktualizować jedną lub więcej kolumn tego wiersza
- Aby zmodyfikować wszystkie wiersze w niektórych kolumnach
- Aby zmodyfikować wszystkie wiersze we wszystkich kolumnach tabeli
- Żadne z powyższych
Answer: A. Chociaż instrukcja UPDATE może modyfikować wszystkie wartości kolumn we wszystkich wierszach, ale zwykle jest używana do wybierania wiersza i aktualizowania jednej lub większej liczby kolumn.
26. Which of the following practices appropriately describe for selecting which row set to update using the UPDATE statement?
- Jeśli niektóre wiersze mają zostać zaktualizowane, można użyć ograniczenia PRIMARY KEY
- Jeśli wszystkie wiersze mają zostać zaktualizowane, można rozważyć klauzulę WHERE
- Aby zaktualizować zestaw wierszy, użyj polecenia GDZIE, aby zaktualizować wszystkie wiersze tabeli, umieść ograniczenie PRIMARY KEY na tabeli
- Żadne z powyższych
Answer: C.
27. Which of the following columns in a table are not usually updated?
- Kolumny typu LONG w tabeli
- Kolumny LOB w tabeli
- Kolumna klucza podstawowego, która służy również jako odniesienie do klucza obcego w innej tabeli
- Wszystkie powyższe
Answer: C. Zgodnie z powszechną praktyką nie należy aktualizować kolumn klucza podstawowego, które służą jako odniesienie do klucza obcego w innych tabelach. Chociaż można je zaktualizować, odraczając ograniczenia, co zwykle nie jest zalecane.
Consider the following data set and structure of the EMPLOYEES table and answer the questions 28 and 29 that follow:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
EMPLOYEE_ID FIRST_NAME JOB_ID
------------------- ------------------ --------
5100 BRUCE NULL
5101 JESSICA SALESMAN
5102 DEBBY SALESMAN
28. You issue an UPDATE statement as follows:
UPDATE employees
SET job_id = NULL;
Jaki będzie skutek powyższej wypowiedzi?
- Pierwszy wiersz zestawu danych zostanie zaktualizowany do wartości NULL
- Trzecia kolumna pierwszego wiersza zostanie zaktualizowana do wartości NULL
- Trzecia kolumna wszystkich wierszy zostanie zaktualizowana do wartości NULL
- I zostanie wyrzucony błąd ORA
Answer: C. Instrukcja UPDATE bez klauzuli WHERE zaktualizuje wszystkie wiersze tabeli.
29. You issue an UPDATE statement as follows:
UPDATE employees
SET employee_id = NULL;
WHERE job_id = 'CLERK';
Jaki będzie skutek powyższej wypowiedzi? (W tym przypadku kolumna EMPLOYEE_ID jest oznaczona jako obowiązkowa przez wprowadzenie ograniczenia)
- Pierwsza kolumna zestawu danych zostanie zaktualizowana do wartości NULL
- Trzecia kolumna pierwszego wiersza zostanie zaktualizowana do wartości NULL
- Trzecia kolumna wszystkich wierszy zostanie zaktualizowana do wartości NULL
- I zostanie wyrzucony błąd ORA
Answer: D. Podczas aktualizowania jej wartości należy przestrzegać ograniczeń kolumny. W podanej instrukcji UPDATE zostanie zgłoszony błąd, ponieważ kolumna EMPLOYEE_ID jest kluczem podstawowym w tabeli EMPLOYEES, co oznacza, że nie może mieć wartości NULL.
30. Which of the following commands can be used to remove existing records from a table?
- UPDATE
- INSERT
- MINUS
- DELETE
Answer: D. DELETE służy do usuwania rekordów z tabeli, która może być opcjonalnie oparta na warunku. Będąc wyciągiem DML, stanowi część transakcji.
31. What among the following is true about the DELETE statement?
- Do instrukcji DELETE musi towarzyszyć klauzula WHERE
- Pisanie klauzuli WHERE z instrukcją DELETE nie jest obowiązkowe
- DELETE może jednocześnie usunąć dane z wielu tabel
- Żadne z powyższych
Answer: B. Predykat klauzuli WHERE jest opcjonalny w instrukcji DELETE. Jeśli klauzula WHERE zostanie pominięta, wszystkie wiersze tabeli zostaną usunięte.
32.What among the following happens when we issue a DELETE statement on a table? (Choose the most appropriate answer)
- Pojawi się monit z pytaniem użytkownika, czy jest pewien, że usunie żądane wiersze
- Wiersze spełniające warunek podany w instrukcji DELETE są natychmiast usuwane
- Żądane wiersze są natychmiast usuwane bez żadnego monitu.
- Żadne z powyższych
Answer: C. W ramach aktywnej lub nowej transakcji wiersze w tabeli zostaną usunięte.
33.Consider the following data set from the EMPLOYEES table and its structure:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
EMPLOYEE_ID FIRST_NAME JOB_ID
------------------- ------------------ --------
5100 BRUCE
5101 JESSICA SALESMAN
5102 DEBBY SALESMAN
Musisz usunąć dane z kolumny JOB_ID w wierszu z identyfikatorem pracownika 51001. Które z poniższych zapytań będzie poprawne?
UPDATE employees SET job_id = NULL WHERE employee_id = 51001;
DELETE job_id FROM employees WHERE employee_id = 51001;
DELETE FROM employees;
- Żadne z powyższych
Answer: D. Nie można usunąć określonej wartości kolumny dla określonego wiersza za pomocą instrukcji DELETE. Cały wiersz zostanie usunięty na podstawie podanych warunków. Niepożądane wartości w kolumnie można zaktualizować do wartości NULL. Opcja „A” jest bliska, ale nieprawidłowa w kontekście pytania.
34. What is the difference between the UPSERT and MERGE statements?
- Nie ma różnicy
- UPSERT to najnowszy termin przyjęty w oświadczeniu MERGE, który stał się przestarzały
- UPSERT może wykonać operację usuwania, której nie można połączyć
- MERGE wykonuje WSTAWIANIE, AKTUALIZACJĘ i USUWANIE, UPSERT wykonuje tylko AKTUALIZACJĘ i WSTAWIANIE
Answer: D. UPSERT to przestarzałe stwierdzenie, a MERGE przejął nowe możliwości.
35. What is the difference between the MERGE command and the commands INSERT, UPDATE and DELETE?
- Instrukcja MERGE zajmuje więcej czasu niż każda operacja (INSERT, UPDATE, DELETE) wykonywana oddzielnie
- MERGE jest przestarzały po Oracle 10g
- MERGE może wykonać wszystkie trzy operacje na tabeli, podczas gdy INSERT, UPDATE i DELETE wykonują jedną operację na raz.
- Żadne z powyższych.
Answer: C. Instrukcja MERGE może osadzić wszystkie trzy operacje na tabeli w jednej instrukcji, podczas gdy INSERT, UPDATE i DELETE wykonują jedną operację naraz.
36. Which of the following objects can be the data source in a MERGE statement?
- Tylko stół
- Tylko zapytanie podrzędne
- Tabela lub zapytanie podrzędne
- Zarówno A, jak i B.
Answer: C. MERGE działa dobrze z tabelą lub podzapytaniem.
37. What among the following is a TRUNCATE statement equivalent to? (Choose the most suitable answer)
- Do instrukcji DELETE
- Do instrukcji UPDATE
- Instrukcja DELETE bez klauzuli WHERE
- Żadne z powyższych
Answer: C. TRUNCATE usuwa wszystkie wiersze w jednym poleceniu.
38.Which of the following situations indicate that a DML operation has taken place?
- Kiedy nowe wiersze są dodawane do tabeli
- Połączenie dwóch zapytań
- Gdy tabela jest obcięta
- Żadne z powyższych
Answer: A. Kiedy istniejące wiersze w tabeli są wstawiane, modyfikowane lub usuwane z tabeli, odbywa się to za pomocą instrukcji DML.
39.Which of the following best defines a transaction?
- Transakcja składa się z instrukcji DDL w schemacie bazy danych
- Transakcja składa się z COMMIT lub ROLLBACK w sesji bazy danych
- Transakcja składa się ze zbioru instrukcji DML lub instrukcji DDL, DCL lub TCL, tworzących logiczną jednostkę pracy w sesji bazy danych
- Transakcja składa się ze zbioru instrukcji DML i DDL w różnych sesjach bazy danych
Answer: C. Transakcja bazy danych składa się z co najmniej jednej instrukcji DML stanowiącej jedną spójną zmianę danych lub z instrukcji DDL lub polecenia DCL (GRANT lub REVOKE). Rozpoczyna się od pierwszej instrukcji DML, a kończy poleceniem DCL, DDL lub TCL (COMMIT lub ROLLBACK). Należy zauważyć, że polecenia DDL i DCL posiadają funkcję automatycznego zatwierdzania.
40. What does a collection of DML statements that form a logical unit work known as?
- Właściwość ACID
- UNION
- UNIA WSZYSTKO
- Transaction
Answer: D.
41.What happens when a DML statement in an active transaction encounters an error on execution?
- Całe transakcje są wycofywane
- DML w transakcji wykluczają się wzajemnie i dlatego mogą kontynuować ich wykonywanie
- Inne DML w transakcjach są przerywane i czekają, aż błąd zostanie rozwiązany
- Żadne z powyższych
Answer: A. Jeśli którakolwiek z instrukcji DML w aktywnej transakcji napotka błąd, cała transakcja kończy się wycofaniem.
42.What is true about the keyword VALUES in INSERT statements?
- VALUES może dodawać wiele wierszy jednocześnie podczas INSERT
- VALUES może dodać tylko 100 wierszy naraz podczas INSERT
- VALUES jest obowiązkowe, jeśli używamy słowa kluczowego INSERT
- VALUES dodaje tylko jeden wiersz naraz
Answer: D. Słowo kluczowe VALUES jest używane tylko wtedy, gdy wartości kolumn są jawnie określone w instrukcji INSERT.
Consider the following statement and the table structure. Answer the questions 43 to 45 that follow:
SQL> DESC departments
Name Null? Type
----------------------- -------- ----------------
DEPARTMENT_ID NOT NULL NUMBER(4)
DEPARTMENT_NAME NOT NULL VARCHAR2(30)
MANAGER_ID NUMBER(6)
LOCATION_ID NUMBER(4)
INSERT INTO departments (department_id , department_name , manager_id, location_id )
VALUES (100, 'Human Resources', 121, 1000);
43. How many rows will be inserted by the above statement?
- 0
- 2
- 3
- 1
Answer: D. Kiedy używane jest słowo kluczowe VALUES, wstawia ono tylko jeden wiersz naraz.
44. In which order the values will get inserted with respect to the above INSERT statement?
- Identyfikator_lokalizacji, identyfikator_ menedżera, nazwa_ działu, identyfikator_ działu
- identyfikator_ działu, nazwa_ działu, identyfikator_ menedżera, identyfikator_lokalizacji
- identyfikator_ działu, identyfikator_ menedżera, nazwa_ działu, identyfikator_lokalizacji
- identyfikator_ działu, nazwa_ działu, identyfikator_lokalizacji, identyfikator_ menedżera
Answer: B. Jeśli kolumny są wymienione w klauzuli INSERT, słowo kluczowe VALUES powinno zawierać wartości w tej samej kolejności
45. Suppose the above given statement is modified as below:
INSERT INTO departments VALUES (100, 'Human Resources', 121, 1000);
Jaki będzie wynik tej modyfikacji? Załóżmy, że tabela DEPARTMENTS ma cztery kolumny, a mianowicie: identyfikator_ działu, NAZWA_DZIAŁU, ID_ADZIAŁU i ID_LOCOWANIA.
- Wstawi wartości do wszystkich kolumn tabeli działów przy założeniu, że wartości kolumn są podane w tej samej kolejności, co kolumny w tabeli
- Spowoduje to wyświetlenie błędu ORA, ponieważ nazwy kolumn nie są wyraźnie wymienione
- Wystąpi błąd ORA, ponieważ klauzula VALUES jest nieprawidłowo używana w INSERT
- Żadne z powyższych
Answer: A. Uwzględnienie nazw kolumn w instrukcji INSERT jest opcjonalne, pod warunkiem że wartości muszą być zgodne z liczbą i sekwencją kolumn w tabeli.
46. What will be the outcome of the below INSERT statement? (Consider the table structure)
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
INSERT INTO EMPLOYEES (employee_id , hire_date) VALUES (210,"21-JUN-2013");
- Wstawi tylko identyfikator worker_id i datę zatrudnienia pracownika, pozostawiając wszystkie pozostałe kolumny jako puste
- Wstawi tylko identyfikator worker_id
- Wystąpi błąd ORA
- Żadne z powyższych
Answer: C. Formatowanie literału daty zawiera błąd. Powinien być ujęty w pojedyncze cudzysłowy, a nie podwójne cudzysłowy.
47.What will be the outcome of the below INSERT statement? (Consider the given table structure)
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
INSERT INTO EMPLOYEES (employee_id , first_name) VALUES (210,"Bryan");
- Wstawi tylko identyfikator pracownika i imię Bryana, pozostawiając wszystkie pozostałe kolumny jako puste
- Wstawi tylko imię
- Wystąpi błąd ORA
- Żadne z powyższych
Answer: C. Formatowanie literału ciągu zawiera błąd. Powinien być ujęty w pojedyncze cudzysłowy, a nie podwójne cudzysłowy.
48. Suppose you need to insert the name O'Callaghan as the last name of the employees table. Which of the following queries will give you the required results? (Consider the given table structure)
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
INSERT INTO EMPLOYEES (employee_id , last_name) VALUES (210,'O'callahan');
INSERT INTO EMPLOYEES (employee_id , last_name) VALUES (210,'O"callahan');
INSERT INTO EMPLOYEES (employee_id , last_name) VALUES (210,'O' 'Callahan');
INSERT INTO EMPLOYEES (employee_id , last_name) VALUES (210,"O'callahan");
Answer: C.
49. What will be the outcome of the below INSERT statement? (Consider the given table structure)
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
INSERT INTO EMPLOYEES (employee_id , first_name) VALUES ("210",'Bryan');
- Spowoduje to zgłoszenie błędu wartości liczbowej
- Wstawi tylko identyfikator pracownika i imię Bryana, pozostawiając wszystkie inne kolumny jako NULL
- Wstawi tylko identyfikator worker_id
- Żadne z powyższych
Answer: A. Wartości liczbowe nie powinny być umieszczane w cudzysłowach.
50. What will be the outcome of the below INSERT statement? (Consider the given table structure)
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
INSERT INTO departments VALUES (200,'Accounts', NULL, NULL);
- Wystąpi błąd ORA
- Wykona się pomyślnie, ale z niewłaściwymi wartościami mogą zostać wstawione do kolumn
- To się powiedzie
- Żadne z powyższych
Answer: C. W klauzuli VALUES można użyć wartości NULL, aby alternatywnie wypełnić wartości kolumn.
51. What will be the outcome of the below INSERT statement? (Assume there is a NOT NULL constraint on the department_id column and consider the table structure given)
SQL> DESC departments
Name Null? Type
----------------------- -------- ----------------
DEPARTMENT_ID NOT NULL NUMBER(4)
DEPARTMENT_NAME NOT NULL VARCHAR2(30)
MANAGER_ID NUMBER(6)
LOCATION_ID NUMBER(4)
INSERT INTO departments VALUES (NULL, 'Accounts', NULL);
- Wystąpi błąd ORA
- Wykona się pomyślnie, ale z błędnymi wynikami
- Wykona się pomyślnie, ale z poprawnymi wynikami
- Żadne z powyższych
Answer: A. Wartości NULL nie można wstawiać do kolumn innych niż null.
52. What will be the outcome of the below INSERT statement? (Assume there is a NOT NULL constraint on the department_id column and consider the given table structure)
SQL> DESC departments
Name Null? Type
----------------------- -------- ----------------
DEPARTMENT_ID NOT NULL NUMBER(4)
DEPARTMENT_NAME NOT NULL VARCHAR2(30)
MANAGER_ID NUMBER(6)
LOCATION_ID NUMBER(4)
INSERT INTO departments VALUES (200, 34, NULL);
- Wykona się pomyślnie, ale z błędnymi wynikami
- Wystąpi błąd ORA
- Wykona się pomyślnie, ale z poprawnymi wynikami
- Żadne z powyższych
Answer: B. Typ danych wartości jest niezgodny z typem danych kolumny w tabeli.
53. Which of the following commands is used to save the changed data in a table permanently?
- ROLLBACK
- COMMIT
- INSERT
- UPDATE
Answer: B. Polecenie TCL COMMIT służy do zakończenia bieżącej aktywnej transakcji w sesji poprzez utrwalenie wszystkich oczekujących zmian danych w tabelach.
54. Which of the following commands allows undoing the changed data?
- ROLLBACK
- COMMIT
- INSERT
- UPDATE
Answer: A. Polecenie TCL ROLLBACK służy do zakończenia bieżącej aktywnej transakcji w sesji poprzez odrzucenie wszystkich oczekujących zmian danych.
55. Which of the following commands allows enabling markers in an active transaction?
- ROLLBACK
- COMMIT
- SAVEPOINT
- Żadne z powyższych
Answer: C. SAVEPOINT oznacza punkt w transakcji, który dzieli transakcję na mniejsze sekcje.
56. Which of the following commands prevents other users from making changes to a table?
- ROLLBACK
- COMMIT
- TABELA BLOKAD
- SAVEPOINT
Answer: C.
57. What is true about an INSERT statement which tries to insert values into a virtual column? (Choose the most appropriate answer)
- Nie może wstawiać wartości w kolumnie wirtualnej
- Może wstawiać wartości
- Zgłasza błąd ORA
- Wszystkie powyższe
Answer: A. Kolumna wirtualna to kolumna, która jest zawsze generowana automatycznie na podstawie wyrażenia wyprowadzenia zdefiniowanego w specyfikacji kolumny. Jego wartość nie może być jawnie wstawiona przez użytkownika.
58.Which of the following commands allows the user to insert multiple rows with a single statement?
- INSERT
- WSTAW WSZYSTKIE
- UNIA WSZYSTKO
- Żadne z powyższych
Answer: B. Operacje wstawiania zbiorczego można przeprowadzić za pomocą polecenia INSERT ALL.
59. Which of the following is the syntax for inserting rows through a sub-query?
INSERT INTO tablename [{column_name,..}] subquery;
INSERT INTO tablename VALUES [{column_name,..}] subquery;
- Zarówno a jak i B
- Żadne z powyższych
Answer: A.
Consider the following exhibit of the EMPLOYEES table and answer the questions 60 to 63 that follow:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
60. Which of the following queries will execute successfully?
UPDATE employees SET salary = salary + 1000 WHERE to_char (hire_date, 'YYYY') > '2006';
UPDATE employees SET salary = salary + 1000 WHERE to_date (hire_date, 'YYYY') > '2006';
UPDATE employees SET salary = salary + 1000 WHERE hire_date > to_date (substr ('01-jan-200',8));
UPDATE employees SET salary = salary + 1000 WHERE hire_date in (to_date ('JUN 01 11', to_date ('JUL 01 11'));
Answer: A.
61.Due to structural reorganization in the organization, you are asked to update department IDs for all the employees to NULL before the final decision is made public. Only those records should be updated which have the JOB_ID as NULL. Which of the following queries will work?
UPDATE employees SET department_id = NULL Where job_id = NULL;
UPDATE employees SET department_id = NULL Where job_id = TO_NUMBER(NULL);
UPDATE employees SET department_id = NULL Where job_id IS NULL;
UPDATE employees SET department_id = TO_NUMBER (' ', 9999) Where job_id = TO_NUMBER(NULL);
Answer: C. Użyj operatora IS NULL, aby sprawdzić, czy wartość kolumny jest pusta.
62.You need to add a basic employee data into EMPLOYEES table. The basic data contains the last name as 'Bond' and department ID as 300. Which of the following statements will give the correct results?
INSERT INTO employees (employee_id , last_name, department_id ) (100,'Bond', (select department_id from departments where department_id = 300));
INSERT INTO employees (employee_id , last_name, department_id ) VALUES (100,'Bond', (select department_id from departments where department_id = 300));
INSERT INTO employees (employee_id , last_name, department_id ) VALUES ('100','Bond',300);
- Żadne z powyższych
Answer: B, C. Zapytania podrzędne działają w instrukcjach INSERT, pod warunkiem że zwracają wartość skalarną typu danych zgodnego lub zgodnego z kolumną, dla której są używane.
63. You fire the following query:
DELETE FROM EMPLOYEES;
Zakładając, że w tabeli EMPLOYEES nie ma aktywnych transakcji w żadnej sesji, które z poniższych stwierdzeń jest prawdziwe?
- Usuwa wszystkie wiersze i strukturę tabeli
- Usuwa wszystkie rzędy, które można cofnąć
- Trwale usuwa wszystkie wiersze
- Żadne z powyższych
Answer: B. Będąc instrukcją DML, zmiany danych spowodowane operacją DELETE są trwałe dopiero po wydaniu polecenia COMMIT w sesji.
64.Consider the structure of the COUNTRY table as shown:
SQL> desc countries
Name Null? Type
----------------------- -------- ----------------
COUNTRY_ID NOT NULL CHAR(2)
COUNTRY_NAME VARCHAR2(40)
REGION_ID NUMBER
Podczas sesji wydajesz następujące oświadczenia.
INSERT INTO COUNTRIES (1, 'Whales')
/
INSERT INTO COUNTRIES (2, 'England')
/
SAVEPOINT A;
UPDATE COUNTRIES
SET country_id= 100 where country_id= 1
/
SAVEPOINT B;
DELETE FROM COUNTRIES where country_id= 2
/
COMMIT
/
DELETE FROM COUNTRIES where country_id= 100
/
Co się stanie, gdy dla sesji użytkownika zostanie wydana komenda ROLLBACK TO SAVEPOINT?
- Wycofywanie generuje błąd
- Tylko instrukcje DELETE są wycofywane
- Żadna instrukcja SQL nie jest wycofywana
- Żadne z powyższych
Answer: A, C. Ponieważ istnieją dwa punkty zapisu - A i B, a polecenie ROLLBACK nie określa rzeczywistego znacznika punktu zapisu, Oracle zgłasza błąd.
65.If a user issues a DML command and exits the SQL Developer abruptly without a COMMIT or ROLLBACK, what will be the outcome? (Assume the session is not auto commit)
- Automatyczne COMMIT
- Automatyczne ROLLBACK
- Może to być COMMIT lub ROLLBACK, aby zakończyć transakcję
- Żadne z powyższych
Answer: B. Gdy transakcja zostanie przerwana przez awarię systemu, cała transakcja jest automatycznie wycofywana.
66. Which of the following commands / statements would end a transaction?
- COMMIT
- SELECT
- SAVEPOINT
- CREATE
Answer: A, D. Oprócz poleceń TCL, tj. COMMIT lub ROLLBACK, polecenia DDL i polecenia DCL posiadają funkcję automatycznego zatwierdzania. Aktywna transakcja zostanie zatwierdzona, jeśli instrukcja DDL zostanie wykonana w tej samej sesji.
67.When does a transaction complete?
- Kiedy wykonywany jest ROLLBACK
- Kiedy wykonywana jest komenda COMMIT
- Po wykonaniu TRUNCATE
- Wszystkie powyższe
Answer: D. Transakcja zostaje zakończona, jeśli w sesji zostanie wykonane polecenie TCL, DCL lub DDL.
68. Examine the given table structures and consider the following query:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SQL> DESC departments
Name Null? Type
----------------------- -------- ----------------
DEPARTMENT_ID NOT NULL NUMBER(4)
DEPARTMENT_NAME NOT NULL VARCHAR2(30)
MANAGER_ID NUMBER(6)
LOCATION_ID NUMBER(4)
INSERT INTO EMPLOYEES (department_id ) VALUES
(select department_id FROM departments);
Jaki będzie wynik powyższego zapytania?
- Kolumny w tabeli EMPLOYEES i tabeli departamentów nie są zgodne
- Klauzula WHERE jest obowiązkowa do użycia w zapytaniu podrzędnym
- Słowa kluczowego VALUES nie można używać z klauzulą INSERT, gdy używane są zapytania podrzędne
- Żadne z powyższych
Answer: C. Niewłaściwe użycie słowa kluczowego VALUES. Należy go używać tylko wtedy, gdy masz w ręku dane kolumny, które należy wstawić do tabeli.
69.Examine the given table structure and consider the following query:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
UPDATE (select employee_id , job_id from employees)
SET hire_date = '01-JAN-13'
WHERE employee_id = (select employee_id FROM job_history);
Które z poniższych stwierdzeń dotyczących danego zapytania jest prawdziwe?
- Nie zostałby wykonany, ponieważ nie możemy użyć dwóch tabel w jednej instrukcji aktualizacji
- Nie zostanie wykonane, ponieważ UPDATE nie może użyć zapytania podrzędnego
- Byłoby wykonywane z ograniczeniami w określonej kolumnie
- Nie zostanie wykonane, ponieważ w klauzuli WHERE użyto zapytania podrzędnego
Answer: C.
70.What happens when a transaction is committed?
- Zmiany dokonane w trakcie transakcji zapisywane są na czas konkretnej sesji użytkownika
- Zmiany wprowadzone podczas transakcji są odrzucane
- Jeśli transakcja jest DDL, zatwierdzenie nie działa
- Żadne z powyższych
Answer: D. Zatwierdzenie transakcji powoduje trwałe zapisanie oczekujących zmian danych w bazie danych.
71. Which of the following reasons will the best one on the usage of string?
- Korzystanie z zapytań podrzędnych
- Błędy składniowe
- Uprawnienia dostępu
- Naruszenia ograniczeń
Answer: C, B, D. Odniesienia do nieistniejących obiektów / kolumn, problemy z przestrzenią mogą być innymi przyczynami.
72. What happens when an INSERT statement tries to insert records in an old table?
- Wszystkie kolumny otrzymają wartości NULL
- Nowa tabela o tej samej nazwie zostanie utworzona automatycznie, a wartości zostaną wstawione
- INSERT nie może działać i zgłasza błąd ORA
- Żadne z powyższych
Answer: C.
73. A user named 'Jonathan Adams' is able to SELECT columns from the EMPLOYEES table but he is unable to insert records into EMPLOYEES. What can be the reason?
- Jonathan jest połączony z bazą danych, która nie obsługuje instrukcji INSERT
- Instrukcja INSERT nie może być zastosowana do tabeli EMPLOYEES
- Jonathan ma dostęp do SELECT, ale nie ma dostępu do INSERT INTO the table EMPLOYEES
- Żadne z powyższych
Answer: C. Użytkownicy mogą korzystać z dostępu do stołu w zależności od swoich obowiązków. Jeden może mieć tylko dostęp do odczytu na stole, podczas gdy inny może mieć dostęp do odczytu i zapisu.
74. Suppose 1 million rows are to be inserted into the AUDIT table. An INSERT transaction runs successfully for the first 1000 rows and an ORA error is thrown 'Constraint violated'. What will happen to the values inserted in the first 1000 rows?
- Pozostaną takie, jakie są
- Wszystkie zostaną usunięte
- Wszystkie zostaną wycofane
- Żadne z powyższych
Answer: C. Jeśli którakolwiek z instrukcji DML podczas transakcji napotka błąd (błędy), cała transakcja zostanie wycofana.
Examine the table structure and consider the following query and answer the questions 75, 76 and 77 that follow:
SQL> DESC departments
Name Null? Type
----------------------- -------- ----------------
DEPARTMENT_ID NOT NULL NUMBER(4)
DEPARTMENT_NAME NOT NULL VARCHAR2(30)
MANAGER_ID NUMBER(6)
LOCATION_ID NUMBER(4)
INSERT INTO departments values (15, NULL);
75. What will be the outcome of this statement?
- Wstawi wiersz z id_działu = 15, a wszystkie inne wartości jako NULL
- Wykona się pomyślnie, ale wstawi 0 wierszy do tabeli
- Spowoduje to wyświetlenie błędu ORA jako nie. kolumn i wartości nie są zgodne
- Żadne z powyższych
Answer: C. Tabela DEPARTMENTS zawiera cztery kolumny, ale instrukcja INSERT podaje wartość tylko dla dwóch kolumn, nie wspominając również o kolumnach. Stąd wyrzucany jest błąd ORA.
76. What is true about the above INSERT statement?
- Jeśli kolumny nie są wymienione w instrukcji INSERT, wartości są wstawiane do kolumn w pozycji pozycjonującej
- Obowiązkowe jest podanie kolumn po poleceniu INSERT
- Zarówno a jak i B
- Żadne z powyższych
Answer: A. Jeśli kolumny nie są określone w instrukcji INSERT, Oracle sekwencyjnie i pozycyjnie odwzorowuje każdą wartość na kolumnę w tabeli.
77. With respect to the statement given above, what will happen if the table is altered to add a new column?
- Oświadczenie będzie nadal działać
- Wykonanie instrukcji zwróci błąd, ponieważ wystąpi niezgodność w nie. kolumn i wartości
- Nie będzie żadnej zmiany, a instrukcja zostanie wykonana jak poprzednio
- Żadne z powyższych
Answer: B. Ponieważ kolumny nie zostały określone wcześniej, problem nadal będzie istniał. Niezgodność w mapowaniu wartości kolumny spowodowałaby błąd ORA.
Examine the table structure given below and consider the following queries and answer the questions 78 and 79 that follow:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
Query 1:
INSERT INTO employees (employee_id , last_name, hire_date)
VALUES (100, 'ADAMS','21-DEC-12');
Query 2:
INSERT INTO employees (employee_id , last_name, hire_date)
VALUES (100, upper('ADAMS'),to_date('21-DEC-12','DD-MON-YY'));
78. Which of the above two queries is better?
- Obie są lepsze
- Tylko zapytanie 1 jest lepsze
- Tylko zapytanie 2 jest lepsze
- Żadne z pytań nie jest poprawne
Answer: C. Zapytanie-2 jest lepsze, ponieważ wstawia wartość daty jako datę, a nie jako ciąg. Chociaż Oracle wykona niejawną konwersję literału ciągu określonego jako data, ale nie jest to zalecane.
79. Which of the following queries is equivalent of the query 2 given above?
INSERT INTO employees (employee_id , last_name, hire_date) VALUES (101-1, upper('ADAMS'),to_date('21-DEC-12','DD-MON-YY'));
INSERT INTO employees (employee_id , last_name, hire_date) VALUES (99+1, upper('ADAMS'),to_date('22-DEC-12','DD-MON-YY') +1 );
INSERT INTO employees (employee_id , last_name, hire_date) VALUES (100, upper('ADAMS'),to_date('21-DEC-12','DD-MON-YY') - 1);
INSERT INTO employees (employee_id , last_name, hire_date) VALUES (100, upper('ADAMS'),to_date('28-DEC-12','DD-MON-YY')-7 );
Answer: A, C, D. Operacje / funkcje arytmetyczne mogą służyć do wstawiania wartości, jak pokazano powyżej.
80. You need to copy the data from one table to another table. Which of the following methods can be used?
- Możesz użyć polecenia KOPIUJ
- Możesz użyć polecenia WSTAW
- Możesz użyć polecenia UPDATE
- Żadne z powyższych
Answer: B. Bezpośrednie operacje na ścieżce INSERT-AS-SELECT (IAS) to najczęściej używana metoda kopiowania danych z jednej tabeli do drugiej.
81.Which of the following statements will copy data from the JOB_HISTORY table to the JOB_HISTORY_ARCHIVE table? (Consider the table structure as given)
SQL> desc job_history
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
START_DATE NOT NULL DATE
END_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
DEPARTMENT_ID NUMBER(4)
INSERT INTO job_history values (select * from job_history);
INSERT INTO JOB_HISTORY_ARCHIVE values (select * from job_history_archive);
INSERT INTO JOB_HISTORY_ARCHIVE select * from job_history;
- Żadne z powyższych
Answer: C. Opcja „C” poprawnie pokazuje użycie metody IAS (INSERT-AS-SELECT).
Examine the given table structure. Consider the following query and answer the questions 82 and 83 that follow:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
INSERT ALL
WHEN job_id = 'SA_REP' then
INTO employees (employee_id , department_id , salary, hire_date)
VALUES (employee_id , 10, salary, hire_date)
WHEN job_id <> 'SA_REP' then
INTO employees (employee_id , department_id , salary, hire_date)
VALUES (employee_id , 20, salary, hire_date)
SELECT employee_id , department_id , job_id, salary, commission_pct , hire_date
FROM employees
WHERE hire_date > sysdate - 30;
82. Interpret the output of the above INSERT statement.
- Wystąpił błąd
- Wstawi rekordy dla wszystkich pracowników zatrudnionych na miesiąc przed datą sysdate.
- Wstawi rekordy dla wszystkich pracowników, którzy są przedstawicielami handlowymi w dziale 10
- Żadne z powyższych
Answer: B, C. INSERT ALL umożliwia warunkowe wstawianie do tabel docelowych.
83. Which employees' data will be inserted in the department 20?
- Przedstawiciele handlowi
- Accountants
- Zarówno A, jak i B.
- Żadne z powyższych
Answer: B. Zgodnie z instrukcją INSERT ALL, dane pracowników, których job_id nie ma wartości „Przedstawiciel handlowy”.
84. What will be the outcome of the below query? (Consider the table structure as given)
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
INSERT INTO employees (employee_id , salary) VALUES (&employee_id , &salary);
COMMIT;
- Błąd składniowy, ponieważ zmienne podstawienia nie mogą być używane w instrukcjach DML
- Użytkownik zostanie poproszony o wprowadzenie identyfikatora pracownika i wynagrodzenia, ale zmienne zastępcze nie mogą wstawiać danych do tabeli
- Użytkownik zostanie poproszony o wpisanie identyfikatora pracownika, a wynagrodzenie i rekord zostaną pomyślnie utworzone w tabeli PRACOWNICY
- Żadne z powyższych
Answer: C. Zmienne zastępcze dobrze współpracują z instrukcjami DML.
85. Evaluate the following SQL statements that are executed in a user session in the specified order:
CREATE SEQUENCE id_seq;
SELECT id_seq.nextval
FROM dual;
INSERT INTO employees (employee_id ,first_name,job_id )
VALUES (ord_seq.CURRVAL, 'Steyn','Trainee');
UPDATE employees
SET employee_id = id_seq.NEXTVAL
WHERE first_name = 'Steyn'
AND job_id ='Trainee';
Jaki byłby skutek powyższych stwierdzeń?
- Polecenie CREATE SEQUENCE spowodowałoby błąd, ponieważ nie określono minimalnej i maksymalnej wartości sekwencji
- Wszystkie instrukcje zostałyby wykonane pomyślnie, a kolumna Employer_id zawierałaby wartość 2 dla STEYN pracownika.
- Komenda CREATE SEQUENCE nie została wykonana, ponieważ nie określono wartości początkowej sekwencji i wartości przyrostu.
- Wszystkie instrukcje zostałyby wykonane pomyślnie, a kolumna Employer_id miałaby wartość 20 dla STEYN pracownika, ponieważ domyślna wartość CACHE to 20.
Answer: B.
86. What is the restriction on the sub-query used in the UPDATE statement?
- Zapytanie podrzędne powinno być zapytaniem podrzędnym złożonym z wielu wierszy
- Zapytanie podrzędne powinno być zapytaniem podrzędnym w jednym wierszu
- Nie ma żadnych ograniczeń
- Zapytanie podrzędne może być zapytaniem jednorzędowym lub wielowierszowym
Answer: B. Zapytanie podrzędne nie powinno zwracać wielu wierszy, gdy jest używane w instrukcji UPDATE
Examine the given table structure and consider the query given below and answer the questions 87 and 88 that follow:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
UPDATE employees
SET salary = (SELECT salary FROM employees WHERE employee_id =7382);
87. What will be the outcome of the above query?
- Podczas wykonywania generuje błąd ORA
- Wynagrodzenie wszystkich pracowników zostanie zaktualizowane o to samo wynagrodzenie, co pracownik 7382
- Wynagrodzenie wszystkich pracowników zostanie zaktualizowane do NULL
- Żadne z powyższych
Answer: B. Wyniki zapytania mogą służyć do aktualizowania wartości kolumn w tabeli.
88. Suppose if the employee 7382 doesn't exist in the EMPLOYEES table. What will be the outcome of the query?
- Przy wykonywaniu generuje błąd ORA, ponieważ wyników zapytania nie można zaktualizować do kolumn
- Wynagrodzenie wszystkich pracowników zostanie zaktualizowane do NULL
- Wyjątek ORA „NO_DATA_FOUND” zostanie zgłoszony, ponieważ pracownik 7382 nie istnieje
- Żadne z powyższych
Answer: B. Instrukcje UPDATE nie zgłaszają żadnych wyjątków poza błędami składniowymi.
Examine the given table structure and consider the query given below and answer the questions 89 and 90 that follow:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
UPDATE employees
set salary = (select salary from employees where last_name = 'Adams');
89. What will be the outcome of the query?
- Wykonuje się pomyślnie
- Wszystkie wiersze tabeli mają taką samą pensję
- Po wykonaniu może wyświetlić błąd ORA „TOO_MANY_ROWS”
- Żadne z powyższych
Answer: C. Zapytanie podrzędne może zwrócić więcej niż jeden wiersz powodując błąd.
90. What changes in the above query will make sure there are no errors caused?
- Użyj funkcji pojedynczego wiersza, takiej jak MAX, MIN lub AVG, aby zredukować wyniki z wielu wierszy do wyniku skalarnego
- Dodanie ograniczenia klucza podstawowego w kolumnie SALARY
- Żadna zmiana nie jest wymagana
- Żadne z powyższych
Answer: A.
Examine the given table structure and consider the following query and answer the questions 91 and 92 that follow:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
UPDATE employees
SET salary = (select max (salary) from employees where last_name = 'Adams');
91. What will be the outcome of the query given above?
- Aktualizacja wynagrodzeń wszystkich pracowników będzie równa pensji pracownika imieniem Adam
- Zaktualizuje pensje wszystkich pracowników równe średniej pensji wszystkich o nazwisku „Adam”
- Zaktualizuje 0 wierszy
- Zaktualizuje tylko jeden wiersz
Answer: B. Funkcje arytmetyczne MAX lub MIN mogą być używane z podzapytaniami w celu uzyskania wartości skalarnych i uniknięcia błędów.
92. Assume that the sub-query above is replaced with the following:
SELECT distinct salary from employees where last_name = 'Adam';
Jaki będzie wynik głównego zapytania podanego powyżej?
- Wykona się pomyślnie, dając nieprawidłowe wyniki
- Wykona się pomyślnie, dając prawidłowe wyniki
- Wystąpi błąd ORA
- Żadne z powyższych
Answer: C. daje to błąd, ponieważ ponieważ jest wielu o nazwisku „Adam”, będzie wiele różnych pensji.
Examine the given table structure and consider the following query and answer the questions 93 and 94 that follow:
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
UPDATE employees
SET salary = 50000;
WHERE job_id in (select job_id from job_history where department_id = 10);
93. What will the above statement do? (Choose the most appropriate answer)
- Zaktualizuje wszystkie pensje dla wszystkich pracowników jako 50000
- Zaktualizuje wszystkie wynagrodzenia wszystkich pracowników, którzy są w dziale 10
- Zaktualizuje wynagrodzenia dla wszystkich pracowników, którzy mają jeden z identyfikatorów stanowisk podobny do tych w dziale 10
- Żadne z powyższych
Answer: C.
94. What will happen if the WHERE clause given above is replaced with the following?
WHERE job_id = (select job_id from job_history where department_id = 10);
- Wykona się pomyślnie z niepoprawnymi wynikami
- Wykona pomyślnie z poprawnymi wynikami
- Wystąpi błąd ORA
- Żadne z powyższych
Answer: C. Znak równości podniesie błąd.
Examine the given table structure and consider the following statement. Answer the questions 95 to 97 that follow.
SQL> DESC employees
Name Null? Type
----------------------- -------- ----------------
EMPLOYEE_ID NOT NULL NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)
DELETE FROM employees where last_name = 'A%';
COMMIT;
95. What will be the outcome of the query given above?
- Wykonuje się pomyślnie, ale żadne wiersze nie są usuwane
- Wszyscy pracownicy, których last_name zaczyna się na „A”, zostaną usunięci
- Błąd ORA, ponieważ instrukcja DELETE nie może mieć predykatu WHERE
- Wszystkie wiersze z tabeli pracowników zostaną usunięte
Answer: A. Instrukcja DELETE może mieć predykat klauzuli WHERE. W zależności od warunków rekordy zostaną usunięte z tabeli.
96. Consider the following statement:
DELETE FROM employees where employee_id IS NULL and job_id = NULL;
COMMIT;
Zakładając, że w kolumnie Employer_id występuje ograniczenie NOT NULL, jaki będzie wynik powyższego zapytania?
- Spowoduje to zgłoszenie błędu ORA z powodu nieprawidłowych predykatów WHERE
- Wykona się pomyślnie i żadne wiersze nie zostaną usunięte
- Spowoduje to błąd ORA, ponieważ wiele predykatów nie może działać w instrukcjach DELETE
- Żadne z powyższych
Answer: B. Do instrukcji DML UPDATE i DELETE można zastosować wiele predykatów.
97. Consider the following query:
DELETE FROM employees where department_id = &deptID;
COMMIT;
Co się stanie, gdy powyższa instrukcja zostanie wykonana?
- Spowoduje to błąd, ponieważ instrukcje DML nie mogą używać zmiennych zastępczych
- Wyświetli monit o usunięcie ID wydziału z użytkownika i usunięcie rekordu z podanym ID wydziału
- Zostanie wyświetlony monit o identyfikator działu, ale nie można zatwierdzić transakcji
- Żadne z powyższych
Answer: B. Zmienne zastępcze mogą być używane z instrukcjami DML.
98. All parts of a transaction should complete or none of them. Which property of ACID rule complies with the given statement?
- Atomicity
- Consistency
- Isolation
- Durability
Answer: A. ACID odnosi się do podstawowych właściwości transakcji bazy danych: atomowości, spójności, izolacji i trwałości. Atomowość oznacza, że cała sekwencja działań musi zostać zakończona lub przerwana. Spójność oznacza, że transakcja przenosi zasoby z jednego spójnego stanu do drugiego. Izolacja oznacza, że efekt transakcji nie jest widoczny dla innych transakcji, dopóki transakcja nie zostanie zatwierdzona. Trwałość oznacza, że zmiany dokonane przez zatwierdzoną transakcję są trwałe i muszą przetrwać awarię systemu.
99. What does the principle of Durability in the ACID property state?
- Stwierdza, że baza danych może utracić zakończone transakcje
- Stwierdza, że transakcja nie może zostać zakończona
- Stwierdza, że po zakończeniu transakcji DB musi mieć możliwość jej utraty.
- Żadne z powyższych
Answer: C.
100. An incomplete transaction should be invisible to all the other users. Which of the properties of the ACID state this?
- Isolation
- Consistency
- Atomicity
- Durability
Answer: A. „I” oznacza izolację.
101. What does the principle of consistency states?
- Stwierdza, że wyniki zapytania muszą być zgodne ze stanem bazy danych w momencie rozpoczęcia zapytania
- Stwierdza, że niekompletna transakcja powinna być niewidoczna dla wszystkich innych użytkowników
- Stwierdza, że po zakończeniu transakcji DB musi mieć możliwość jej utraty
- Żadne z powyższych
Answer: A. „C” we właściwości ACID oznacza spójność
102. What among the following best describes a Transaction?
- INSERT do COMMIT / ROLLBACK
- UPDATE to COMMIT / ROLLBACK
- DELETE, aby COMMIT / ROLLBACK
- INSERT / UPDATE / DELETE to COMMIT / ROLLBACK
Answer: D.
103. A user named "Jonathan" inserts data in the table EMPLOYEES. When will the other users be able to see the new data?
- Kiedy Jonathan nadaje uprawnienia dostępu użytkownikom
- Kiedy Jonathan wykonuje instrukcję ROLLBACK w sesji
- Kiedy Jonathan wykonuje instrukcję COMMIT w tej samej sesji
- Kiedy Jonathan otwiera nową sesję i wydaje COMMIT
Answer: C. Aktywna transakcja musi zostać zatwierdzona w tej samej sesji.
104. What can be said about the nesting of transactions?
- Możliwe są maksymalnie 2 poziomy zagnieżdżenia
- Możliwe jest maksymalnie 255 poziomów zagnieżdżenia
- Zagnieżdżenie transakcji jest niemożliwe
- Możliwy jest tylko 1 poziom zagnieżdżenia
Answer: C.
105. Which of the following reasons will terminate a transaction?
- Instrukcja DDL
- Wychodzenie z klienta
- Awaria systemu
- Wszystkie powyższe
Answer: D. DDL to automatyczne zatwierdzanie i zakończy trwającą aktywną transakcję.