Tworzenie innych pytań dotyczących obiektów schematu

1. Which database object among the following provides a layer of abstraction between the users and the data?

  1. Table
  2. Rows
  3. Views
  4. Synonyms

Answer: C, D. Widoki i synonimy same nie przechowują danych. Widok to tymczasowa lub wirtualna tabela używana do pobierania danych przechowywanych w bazowych tabelach bazy danych.

2. Which of the following data base objects can generate serial numbers?

  1. Synonyms
  2. Views
  3. Tables
  4. Sequences

Answer: D. Można utworzyć sekwencję, aby wygenerować serię liczb całkowitych. Wartości generowane przez sekwencję mogą być przechowywane w dowolnej tabeli. Sekwencja jest tworzona za pomocą polecenia CREATE SEQUENCE.

3. What is true about views?

  1. Są równe tabelom
  2. Przechowują dane z jednej lub wielu tabel
  3. Możemy wykonać SELECT i inne DML w prostych widokach
  4. Widoki mają tę samą przestrzeń nazw, co tabele, a zatem tabela i widok nie mogą mieć tej samej nazwy

Answer: C, D. Operacje DML są niedozwolone w widokach zawierających funkcje grupowe, klauzulę GROUP BY, pseudokolumnę ROWNUM lub słowo kluczowe DISTINCT.

4. Why are views useful? (Choose the most appropriate answer)

  1. Ponieważ mają krótsze nazwy niż tabele
  2. Aby uniemożliwić użytkownikom dostęp do kolumn tabel
  3. Aby uprościć SQL użytkownika
  4. Wszystkie powyższe

Answer: B, C. Widok to tymczasowa lub wirtualna tabela używana do pobierania danych przechowywanych w bazowych tabelach bazy danych. Zapytanie widoku musi być wykonywane za każdym razem, gdy widok jest używany. Widok może służyć do uproszczenia zapytań lub ograniczenia dostępu do poufnych danych.

5. In which of the below scenarios, DML operations on a view are not possible?

  1. Widok zawiera klauzulę GROUP BY
  2. Tabele podstawowe zawierają kolumny NOT NULL, ale nie zostały wybrane w zapytaniu widoku
  3. Zapytanie View używa pseudokolumny ROWNUM
  4. Wszystkie powyższe

Answer: D. Operacje DML są niedozwolone w widokach zawierających funkcje grupowe, klauzulę GROUP BY, pseudokolumnę ROWNUM lub słowo kluczowe DISTINCT.

6. Where can views get their data from?

  1. Tabele z tego samego schematu
  2. Tabele z różnych schematów
  3. Zarówno a jak i B
  4. Żadne z powyższych

Answer: C.

Consider the given table structure and the following statement and answer the questions 7 to 9 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)
CREATE VIEW emp_details AS
SELECT hire_date, job, salary, department_id FROM employees;

7. You issue the below query. How many columns will the user see as a result of the below query?

SELECT * FROM emp_details WHERE department_id= 100;
  1. 0
  2. 1
  3. 2
  4. 4

Answer: D. Ponieważ definicja widoku jest oparta na czterech kolumnach z tabeli EMPLOYEES, zapytanie dotyczące widoku zawierającego wszystkie kolumny pokaże tylko te cztery kolumny.

8. You need to get the department name in addition to the above 4 columns. Which of the following query will give you the required results?

  1. SELECT E.*, dept_name
    FROM departments D join emp_details E
    ON (E.department_id= D.dept_id);
  2. SELECT hire_date, job, salary, dept_name FROM emp_details
  3. Nie jest to możliwe, aby widok nie mógł zostać połączony z innymi tabelami
  4. Żadne z powyższych

Answer: A. Widok można łączyć z innymi tabelami lub widokami w zapytaniu SELECT.

9. You need to find the maximum salary along with the department name in addition to the 4 columns selected in the view. Which of the following query will give you the required results?

  1. Select dept_name, e.salary
    FROM departments D join emp_details E
    On (E.department_id= D.dept_id);
  2. Select dept_name, max(salary)
    FROM departments D join emp_details E
    On (E.department_id= D.dept_id)
    Group by dept_name;
  3. Widok nie może pojawić się w zapytaniach korzystających z funkcji grupowych
  4. Select dept_name, max(salary)
    FROM departments D join emp_details E
    On (E.department_id= D.dept_id);

Answer: B.

10. What among the following is true about synonyms?

  1. Synonimy PUBLICZNE i PRYWATNE mogą mieć tę samą nazwę dla tej samej tabeli
  2. DROP SYNONYM usunie synonim
  3. DROP PUBLIC SYNONYM może być wykonany tylko przez SYSDBA
  4. Żadne z powyższych

Answer: A, C. Synonimem może być synonim prywatny, którego użytkownicy używają do odwoływania się do obiektów, których są właścicielami, lub synonim publiczny, którego użytkownicy używają, aby uzyskać dostęp do obiektów bazy danych innego użytkownika. Tylko SYSDBA lub użytkownik z uprawnieniami DBA może utworzyć publiczny synonim.

11. What is true about creating a view? (Choose the most appropriate answer)

  1. Widok można utworzyć tylko z tabeli
  2. Widok można utworzyć tylko z jednej tabeli
  3. Widok można utworzyć z jednej lub wielu tabel lub widoków
  4. Żadne z powyższych

Answer: C. Widok zawierający wyrażenia lub funkcje albo łączący wiele tabel jest uważany za widok złożony. Złożony widok może służyć do aktualizacji tylko jednej tabeli.

12. Which of the following privileges are required to create views in one's own schema?

  1. Uprawnienie systemowe TWORZENIE TABELI
  2. UTWÓRZ uprawnienie systemowe VIEW
  3. ALTER VIEW uprawnienia systemowe
  4. UTWÓRZ DOWOLNE uprawnienia systemowe VIEW

Answer: B. Aby utworzyć widok we własnym schemacie, użytkownik musi mieć uprawnienie CREATE VIEW.

13. Which of the following privileges are required to create views in someone else's schema?

  1. UTWÓRZ DOWOLNY WIDOK
  2. UTWÓRZ WIDOK
  3. Zarówno a jak i B
  4. Żadne z powyższych

Answer: A. Uprawnienie CREATE ANY VIEW jest wymagane przez użytkownika do tworzenia widoku w schemacie innego użytkownika.

14.Which of the following are supported for an object view or relational view?

  1. LOBs
  2. Typy obiektów
  3. Typy danych REF
  4. Wszystkie powyższe

Answer: D.

15. What among the following are different types of Views?

  1. Proste widoki
  2. Złożone widoki
  3. Zarówno a jak i B
  4. Żadne z powyższych

Answer: C. Widoki proste i złożone to dwa typy widoków. Proste widoki są oparte na podzapytaniu, które odwołuje się tylko do jednej tabeli i nie zawiera funkcji grupowych, wyrażeń ani klauzul GROUP BY. Złożone widoki są oparte na podzapytaniu, które pobiera lub wyprowadza dane z co najmniej jednej tabeli i może zawierać funkcje lub zgrupowane dane.

16. What is true about a simple view?

  1. W większości przypadków instrukcje DML można wystawiać dla prostych widoków
  2. Istnieje tylko jedna źródłowa tabela bazowa
  3. Nie są używane żadne funkcje grupowe
  4. Wszystkie powyższe

Answer: D. Proste widoki są oparte na podzapytaniu, które odwołuje się tylko do jednej tabeli i nie zawiera funkcji grupowych, wyrażeń ani klauzul GROUP BY.

17.What is true about a complex view?

  1. Instrukcje DML nie mogą być wydawane w przypadku złożonych widoków
  2. Zawiera wiele tabel podstawowych
  3. Nie można przeprowadzić agregacji
  4. Wszystkie powyższe

Answer: D. Złożone widoki są oparte na podzapytaniu, które pobiera lub wyprowadza dane z co najmniej jednej tabeli i może zawierać funkcje lub zgrupowane dane.

18.Which keyword combination should be used to implicitly drop a view (if it exists) and create a new view with the same name?

  1. UTWÓRZ WIDOK
  2. ZAMIEŃ WIDOK
  3. UTWÓRZ LUB ZAMIEŃ WIDOK
  4. Żadne z powyższych

Answer: C. Opcja OR REPLACE powiadamia Oracle 11g, że widok o tej samej nazwie może już istnieć; jeśli tak, poprzednia wersja widoku powinna zostać zastąpiona wersją zdefiniowaną w nowym poleceniu.

19.How is a view stored in the data dictionary?

  1. Jako klauzula WHERE
  2. Jako instrukcja CREATE
  3. Jako instrukcja UPDATE
  4. Jako instrukcja SELECT

Answer: D.

20.Which of the following can contain single-row functions?

  1. Widoki wbudowane
  2. Proste widoki
  3. Złożone widoki
  4. Widoki złożone

Answer: A, B. Funkcje jednorzędowe mogą być używane zarówno w widokach Inline, jak i Simple.

21.Which of the following can contain a group of data?

  1. Widok złożony
  2. Prosty widok
  3. Złożony widok
  4. Żadne z powyższych

Answer: C. Złożony widok może używać funkcji grupy w zapytaniu.

22.What among the following is true about a View?

  1. Zapytania podrzędne można osadzać w instrukcji CREATE VIEW
  2. Zapytanie podrzędne używane w instrukcji CREATE VIEW musi mieć prostą składnię SELECT
  3. Nie można użyć klauzuli WHERE w zapytaniu podrzędnym, gdy jest ona używana w instrukcji CREATE VIEW
  4. Żadne z powyższych

Answer: A. Definicja widoku może korzystać z zapytań podrzędnych.

23.Which of the following can create a view even if the base table(s) does not exist?

  1. NOFORCE
  2. FORCE
  3. LUB WYMIENIĆ
  4. UTWÓRZ WIDOK

Answer: B. Jeśli umieścisz słowo kluczowe FORCE w klauzuli CREATE, Oracle 11g utworzy widok pomimo braku jakichkolwiek tabel, do których istnieją odniesienia. NOFORCE jest domyślnym trybem polecenia CREATE VIEW, co oznacza, że ​​wszystkie tabele i kolumny muszą być prawidłowe, w przeciwnym razie widok nie zostanie utworzony.

24.Which of the following commands ensures that no DML operations can be performed on a view?

  1. NOFORCE
  2. FORCE
  3. TYLKO DO CZYTANIA
  4. LUB WYMIENIĆ

Answer: C. Opcja TYLKO DO ODCZYTU zapobiega wykonywaniu jakichkolwiek operacji DML na widoku. Ta opcja jest często używana, gdy ważne jest, aby użytkownicy mogli wyszukiwać tylko dane, a nie wprowadzać w nich żadnych zmian.

25.What is true about the NOFORCE option in CREATE VIEW statement?

  1. Tworzy widok, nawet jeśli tabele podstawowe nie istnieją.
  2. Tworzy widok tylko wtedy, gdy istnieją tabele podstawowe.
  3. Jest to ustawienie domyślne podczas tworzenia widoku.
  4. Żadne z powyższych

Answer: B, C. NOFORCE jest domyślnym trybem polecenia CREATE VIEW, co oznacza, że ​​wszystkie tabele i kolumny muszą być prawidłowe, w przeciwnym razie widok nie zostanie utworzony.

26.What is true about the OR REPLACE keyword?

  1. Uprawnienia do obiektów są tracone, gdy widok jest tworzony za pomocą tego słowa kluczowego
  2. Nie ma potrzeby ponownego nadawania obiektowi uprawnień nadanych mu wcześniej
  3. Ani A, ani B.
  4. Żadne z powyższych

Answer: B. Opcja OR REPLACE powiadamia Oracle 11g, że widok o tej samej nazwie może już istnieć; jeśli tak, poprzednia wersja widoku powinna zostać zastąpiona wersją zdefiniowaną w nowym poleceniu.

27.What is true with respect to accessing the below view? (Assume the table structure 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)
CREATE VIEW salVU100
AS SELECT employee_id  ID_NUMBER, last_name NAME, salary*12 ANNUAL_SAL
FROM employees E 
WHERE department_id= 100;
  1. Dostęp do widoku należy uzyskać, używając oryginalnych nazw kolumn zdefiniowanych w tabeli podstawowej
  2. Dostęp do widoku należy uzyskać za pomocą aliasów podanych w zapytaniu dotyczącym widoku
  3. Widok to prosty widok
  4. Żadne z powyższych

Answer: B, C. Widok musi odnosić się do aliasu kolumny, jeśli definicja widoku zawiera alias dla kolumn.

28.What is true with respect to accessing the below view? (Assume the table structure 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)
CREATE VIEW salVU100 (ID_NUMBER, NAME, ANNUAL_SAL)
AS SELECT employee_id , last_name, salary*12 
FROM employees E 
WHERE department_id= 100;
  1. Nie jest obowiązkowe, aby liczba aliasów była zgodna z numerem. wyrażeń w zapytaniu podrzędnym
  2. Obowiązkowe jest, aby nie. wymienionych aliasów musi pasować do nr. wyrażeń wybranych w zapytaniu podrzędnym
  3. Podczas tworzenia widoku konieczne jest podanie aliasów
  4. Żadne z powyższych

Answer: B. Jeśli alias jest określony w nagłówku widoku, w zapytaniu SELECT należy wybrać taką samą liczbę kolumn.

29. Consider the following statement and 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)
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)
CREATE OR REPLACE VIEW empVU100
(ID_NUMBER, NAME, ANNUAL_SAL, DEPT_ID)
AS 
SELECT employee_id , first_name ||' '|| last_name, salary, department_id
FROM employees
WHERE department_id= 100;

Co jest prawdą w przypadku aliasów kolumn, jak w powyższym zapytaniu?

  1. Aliasy kolumn są wymienione w kolejności losowej jako kolumny w zapytaniu podrzędnym
  2. Aliasy kolumn są wymienione w tej samej kolejności, co kolumny w zapytaniu podrzędnym
  3. Aliasy kolumn są obowiązkowe podczas używania słowa kluczowego CREATE OR REPLACE
  4. Nie możemy używać konkatenacji, gdy używamy CREATE OR REPLACE

Answer: B.

Consider the following statement and answer the questions 30 to 34 that follow:

CREATE OR REPLACE VIEW dept_sum_vu (name, minsal, maxsal, avgsal) 
AS 
SELECT d.dept_name, MIN(e.salary), MAX(e.salary), AVG (e.salary)
FROM employees e JOIN departments d 
ON (e.department_id= d.dept_id)
GROUP BY d.dept_name;

30.What can be said about the statement given above?

  1. Dla widoku podano alternatywne nazwy
  2. Podawanie alternatywnych nazw jest obowiązkowe, jeśli jakakolwiek kolumna pochodzi z funkcji lub wyrażenia
  3. Zarówno a jak i B
  4. Żadne z powyższych

Answer: C. Określenie nazwy aliasu jest dobrą praktyką w celu poprawy czytelności kodu i zapytań widoku.

31.What will happen if the above statement is modified as below?

CREATE OR REPLACE VIEW dept_sum_vu(name, maxsal, minsal, avgsal)
AS 
SELECT d.dept_name, MIN(e.salary), MAX(e.salary), AVG (e.salary)
FROM employees e JOIN departments d 
ON (e.department_id= d.dept_id)
GROUP BY d.dept_name;
  1. Nie będzie się różnić od oryginalnego oświadczenia
  2. Wykona pomyślnie, dając te same wyniki, ale ze zmianą nazw aliasów.
  3. Wystąpi błąd ORA
  4. Żadne z powyższych

Answer: B. Kolejność aliasów kolumn nie ma większego znaczenia, ponieważ nie mają one żadnego atrybutu behawioralnego.

32.Determine the output of the below DELETE statement.

DELETE FROM dept_sum_vu;
  1. Spowoduje to usunięcie widoku
  2. Spowoduje to usunięcie wszystkich wierszy z widoku, ale struktura widoku pozostanie taka sama
  3. Wystąpi błąd ORA
  4. Żadne z powyższych

Answer: C. Widok DEPT_SUM_VU jest widokiem złożonym. Operacji DML nie można wykonywać na złożonym widoku.

33.Suppose you modify the query given above to the following:

CREATE OR REPLACE VIEW dept_sum_vu(name, sal) 
AS 
SELECT d.dept_name, e.salary 
FROM employees e JOIN departments d 
ON (e.department_id= d.dept_id)
Where rownum < 10;

Jaki będzie wpływ modyfikacji?

  1. Widok można zaktualizować, aby zaktualizować wartości w tabelach PRACOWNICY i DZIAŁY
  2. Danych w tabelach PRACOWNICY i DZIAŁY nie można usunąć za pomocą widoku
  3. Dane w tabelach PRACOWNICY i DZIAŁY można wstawiać za pomocą widoku
  4. W widoku można dodać kolumnę do tabeli PRACOWNICY

Answer: B. Operacji DML nie można wykonywać na złożonych widokach. DEPT_SUM_VU to złożony widok, ponieważ łączył wiele tabel. Operacje DDL nie są możliwe w widokach.

34.Suppose you select DISTINCT departments and employee salaries in the view query used in above question. What will be the outcome if you try to remove rows from the view dept_sum_vu?

  1. Wiersze zostaną usunięte bez żadnego błędu
  2. Usuniętych zostanie tylko 10 pierwszych rzędów
  3. Nie można usunąć wierszy.
  4. Żadne z powyższych

Answer: C. Widok DEPT_SUM_VU jest nadal złożonym widokiem, ponieważ używa słowa kluczowego DISTINCT. Dlatego operacje DML nie są na nim możliwe.

35.When can the rows from a view be removed?

  1. Nie można usunąć wierszy w widoku
  2. Powinien to być prosty widok
  3. To powinien być złożony widok
  4. Żadne z powyższych

Answer: B. Operacje DML są możliwe tylko na prostych widokach.

36.When can the data in a view not be modified?

  1. Kiedy są wyrażenia grupowe
  2. Gdy występuje klauzula GROUP BY
  3. Kiedy ROWNUM jest używane w zapytaniu widoku
  4. Wszystkie powyższe

Answer: D. UPDATE nie jest możliwe w widoku zawierającym funkcje grupowe, pseudokolumny lub słowo kluczowe DISTINCT.

37. The JOB_HISTORY table is owned by a user "Andy". Andy grants the SELECT privilege on the JOB_HISTORY table to another user "HR". Which statement would create a synonym EMP_JOBS so that "HR" can execute the following query successfully?(Assume the structure of tables 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)
SELECT * from EMP_JOBS;
  1. Problemy Andy -
    CREATE SYNONYM EMP_JOBS for JOB_HISTORY
  2. Kwestie HR -
    CREATE SYNONYM EMP_JOBS for andy.JOB_HISTORY
  3. Kwestie HR -
    CREATE PUBLIC SYNONYM EMP_JOBS FOR andy.JOB_HISTORY
  4. Żadne z powyższych

Answer: B. Tylko SYSDBA lub użytkownik z uprawnieniami DBA może tworzyć publiczne synonimy.

38.Which keyword can assure that the DML operations performed on the view stay in the domain of the view?

  1. LUB WYMIENIĆ
  2. CREATE
  3. Z opcją sprawdzenia
  4. Żadne z powyższych

Answer: C. Ograniczenie WITH CHECK OPTION zapewnia, że ​​wszelkie operacje DML wykonywane na widoku (takie jak dodawanie wierszy lub zmiana danych) nie uniemożliwiają widokowi dostępu do wiersza, ponieważ nie spełnia już warunku w klauzuli WHERE.

Consider the following table structure and the given statement and answer the questions 39 and 40 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)
CREATE OR REPLACE VIEW empvu100
AS 
SELECT * FROM employees 
WHERE department_id= 100
WITH CHECK OPTION CONSTRAINT empvu100_ck;

39.What will the above statement do?

  1. Pozwoli użytkownikom na wykonanie WSTAWIANIA lub AKTUALIZACJI na wszystkich działach
  2. Umożliwi to użytkownikowi wykonanie WSTAWIANIA lub AKTUALIZACJI dowolnego wiersza zawierającego dział 100
  3. Użytkownik może ZAKTUALIZOWAĆ dowolny wiersz w tabeli pracowników
  4. Użytkownik może WSTAWIAĆ wiersze bez żadnych ograniczeń w tabeli pracowników

Answer: B. Ograniczenie WITH CHECK OPTION zapewnia, że ​​wszelkie operacje DML wykonywane na widoku (takie jak dodawanie wierszy lub zmiana danych) nie uniemożliwiają widokowi dostępu do wiersza, ponieważ nie spełnia już warunku w klauzuli WHERE. Błąd ORA zostanie zgłoszony, jeśli INSERT lub UPDATE zostanie wykonane w dowolnym wierszu z identyfikatorem działu innym niż 100.

40.Suppose you fire an UPDATE statement as shown below:

UPDATE empvu100
Set department_id = 200
Where employee_id  = 121;

Jaki będzie wynik tego oświadczenia?

  1. Żadne wiersze nie są aktualizowane
  2. Zgłaszany jest błąd ORA
  3. Zarówno a jak i B
  4. Żadne z powyższych

Answer: C. Jeśli widok z opcją SPRAWDŹ OPCJĘ jest aktualizowany i wartość nowego rekordu narusza zakres widoku, zgłaszany jest wyjątek ORA „ORA-01402: widok Z OPCJĄ SPRAWDZANIA gdzie naruszenie klauzuli”.

41.What is true about the WITH CHECK CONSTRAINT?

  1. Operacje INSERT lub UPDATE wykonane w widoku nie mogą tworzyć wierszy, których widok nie może wybrać
  2. Tylko operacje INSERT wykonane w widoku nie mogą tworzyć wierszy, których widok nie może wybrać
  3. Tylko aktualizacje wykonane w widoku nie mogą tworzyć wierszy, których widok nie może wybrać
  4. Żadne z powyższych

Answer: A.

42.How can you prevent DML operations on a View?

  1. Definiując ograniczenie WITH CHECK OPTION
  2. Definiując opcję TYLKO DO ODCZYTU
  3. Ani A, ani B.
  4. Żadne z powyższych

Answer: B. Opcja TYLKO DO ODCZYTU zapobiega wykonywaniu jakichkolwiek operacji DML na widoku. Ta opcja jest często używana, gdy ważne jest, aby użytkownicy mogli wyszukiwać tylko dane, a nie wprowadzać w nich żadnych zmian.

Consider the table structure and the given statement and answer the questions 43, 44 and 45 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)
CREATE OR REPLACE empvu100(employee_id , first_name, job)
AS 
SELECT employee_id , last_name, job
FROM employees
WHERE department_id = 100
WITH READ ONLY;

43.What is true about the above statement?

  1. Widok nie zostanie utworzony
  2. Operacja INSERT na tym widoku spowoduje zgłoszenie błędu ORA
  3. Podczas AKTUALIZACJI wierszy dla wszystkich pracowników w dziale 100 zostanie zgłoszony błąd ORA
  4. Żadne z powyższych

Answer: B, C. Operacje DML są niedozwolone w widoku, który jest tworzony z opcją TYLKO ODCZYT.

44.How many rows can be deleted from the view as shown above?

  1. Wszystkie rzędy widoku
  2. Wszystkie wiersze tylko z działu 100
  3. Żadnych rzędów
  4. Żadne z powyższych

Answer: C. Operacje DML są niedozwolone w widoku, który jest tworzony z opcją TYLKO ODCZYT.

45.Which of the following statements will drop the view created as above?

  1. DROP READ ONLY VIEW empvu100;
  2. DROP NOFORCE empvu100;
  3. DROP VIEW empvu100;
  4. Żadne z powyższych

Answer: C. Widok tylko do odczytu można usunąć za pomocą polecenia UPUŚĆ WIDOK.

46.What is true about dropping a View?

  1. Kolumny w widoku z tabel podstawowych również są usuwane
  2. Definicja widoku zostanie usunięta z bazy danych
  3. Usunięcie widoku nie ma wpływu na bazową tabelę bazową
  4. Żadne z powyższych

Answer: B, C.

47.Which of the following privileges should a user have to drop a view?

  1. UTWÓRZ DOWOLNY WIDOK
  2. UTWÓRZ WIDOK
  3. UPUŚĆ WSZELKIE WIDOKI
  4. UPUŚĆ WIDOK

Answer: C.

48.What is true about sequences?

  1. Generuje liczby całkowite
  2. Jest to obiekt, który można udostępniać
  3. Może służyć do tworzenia wartości klucza podstawowego
  4. Wszystkie powyższe

Answer: D. Sekwencja przyspiesza wydajność dostępu do wartości sekwencji, gdy są przechowywane w pamięci podręcznej

49.What is true about a sequence?

  1. Jest tworzony podczas instalacji bazy danych Oracle
  2. Tworzy go użytkownik z uprawnieniem systemowym CREATE SEQUENCE
  3. Nie może być współdzielone przez więcej niż dwóch użytkowników
  4. Znika automatycznie po odłączeniu bazy danych.

Answer: B, C. Użytkownik musi mieć uprawnienie systemowe CREATE SEQUENCE, aby utworzyć sekwencję we własnym schemacie, której nie mogą udostępniać inni użytkownicy.

50.What among the following options is true about Sequences?

  1. Liczby całkowite wygenerowane przez sekwencję dla jednej tabeli nie mogą być używane przez inne tabele
  2. Sekwencję można tylko zwiększyć
  3. Sekwencja staje się nieważna, jeśli inna sekwencja generuje te same liczby całkowite
  4. Sekwencja może być używana przez wiele tabel i może być zwiększana lub zmniejszana

Answer: D.

Consider the following statement and answer the questions 51 to 59 that follow:

CREATE SEQUENCE dept_deptid_seq
INCREMENT BY 100
START WITH 101
MAXVALUE 9999
NOCACHE
NOCYCLE;

51.What will be the first value generated by this sequence?

  1. 1
  2. 100
  3. 101
  4. 9999

Answer: C. Klauzula START WITH określa wartość początkową sekwencji. Oracle 11g rozpoczyna każdą sekwencję od 1, chyba że w klauzuli START WITH określono inną wartość.

52.What can be the last value generated by this sequence?

  1. 0
  2. 100
  3. 101
  4. 9999

Answer: D. Klauzule MINVALUE i MAXVALUE określają minimalną lub maksymalną wartość sekwencji.

53.What will be the 2nd value generated by this sequence?

  1. 102
  2. 100
  3. 99
  4. 9999

Answer: A. Klauzula INCREMENT BY określa odstęp między dwiema kolejnymi wartościami. Jeśli sekwencja jest zwiększana o wartość dodatnią, wartości generowane przez sekwencję są w porządku rosnącym. Jeśli jednak określono wartość ujemną, wartości generowane przez sekwencję są w porządku malejącym. Jeśli klauzula INCREMENT BY nie jest dołączona podczas tworzenia sekwencji, używane jest ustawienie domyślne, które zwiększa sekwencję o jeden dla każdej wygenerowanej liczby całkowitej.

54.What will be the next value after the maximum integer 9999 is reached by this sequence?

  1. 101
  2. Bez wartości
  3. Wystąpi błąd ORA
  4. Żadne z powyższych

Answer: B. Opcje CYCLE i NOCYCLE określają, czy Oracle 11g powinien zacząć ponownie wydawać wartości z sekwencji po osiągnięciu wartości minimalnej lub maksymalnej.

55.How many values will Oracle pre allocate in memory based on the sequence given above?

  1. 20
  2. 0
  3. 100
  4. 9999

Answer: A.

56.You execute the below query:

SELECT dept_depid_seq.NEXTVAL from dual;
  1. 200
  2. 101
  3. 9999
  4. 201

Answer: D. Pseudokolumna NEXTVAL wygeneruje następną unikalną liczbę całkowitą sekwencji.

57.You execute the below query:

SELECT dept_depid_seq.CURRVAL from dual;
  1. 200
  2. 101
  3. 9999
  4. 201

Answer: A. Pseudokolumna CURRVAL wygeneruje bieżącą unikalną liczbę całkowitą już wygenerowaną przez sekwencję.

58.Suppose you need to change the start value of this sequence to 1000. Which of the following statements will help?

  1. ALTER dept_deptid_seq
    INCREMENT BY 100
    START WITH 1000
    MAXVALUE 9999
    NOCACHE
    NOCYCLE;
  2. Sekwencja musi zostać usunięta i ponownie utworzona, aby rozpocząć sekwencję od 1000.
  3. ALTER SEQUENCE dept_deptid_seq
    START WITH 101
  4. ALTER SEQUENCE dept_deptid_seq
    INCREMENT BY 100
    START WITH 101
    CYCLE;

Answer: B. Nie można zmienić numeru początkowego sekwencji. Oracle zgłasza wyjątek „ORA-02283: nie może zmienić numeru sekwencji początkowej”.

59.Suppose that the above sequence is altered as below:

ALTER SEQUENCE dept_deptid_seq
INCREMENT BY 100
START WITH 101
MAXVALUE 99
NOCACHE
NOCYCLE;

Jaki będzie wynik tej zmiany?

  1. Błąd ORA
  2. Maksymalna wartość zmienionej sekwencji będzie teraz wynosić 99
  3. Ani A, ani B.
  4. Żadne z powyższych

Answer: A. WARTOŚĆ MAKSYMALNA nie może być mniejsza niż wartość START Z podczas zmiany sekwencji.

60.When can we use the CYCLE option in Sequences?

  1. Jeśli chcemy szybciej wyczyścić stare rzędy
  2. Jeśli nie chcemy używać sekwencji do generowania wartości PRIMARY KEY
  3. Zarówno a jak i B
  4. Żadne z powyższych

Answer: C. Opcje CYCLE i NOCYCLE określają, czy Oracle 11g powinien zacząć ponownie wydawać wartości z sekwencji po osiągnięciu wartości minimalnej lub maksymalnej. Jeśli określono opcję CYCLE, a Oracle 11g osiągnie maksymalną wartość dla kolejności rosnącej lub minimalną wartość dla kolejności malejącej, opcja CYCLE ponownie inicjuje cykl liczb.

61.What is true about NEXTVAL pseudo column?

  1. Ponownie generuje CURRVAL sekwencji
  2. Zwraca następną dostępną wartość sekwencji
  3. Może zwracać zduplikowane wartości
  4. Generuje te same wartości dla różnych użytkowników

Answer: B. Pseudokolumna NEXTVAL (NEXT VALUE) jest używana do faktycznego generowania wartości sekwencji. Innymi słowy, wywołuje obiekt sekwencji i żąda wartości następnej liczby w sekwencji. Po wygenerowaniu wartości jest ona przechowywana w pseudokolumnie CURRVAL (CURRENT VALUE), dzięki czemu można ponownie się do niej odwołać.

62.What is true about CURRVAL pseudo column?

  1. CURRVAL można użyć przed NEXTVAL w odniesieniu do sekwencji
  2. CURRVAL podaje bieżącą wartość sekwencji
  3. CURRVAL może dawać zduplikowane wartości
  4. Żadne z powyższych

Answer: B.

63.When can NEXTVAL and CURRVAL be used?

  1. Klauzula SET instrukcji INSERT
  2. Klauzula VALUES instrukcji UPDATE
  3. Lista SELECT instrukcji SELECT, która nie jest częścią zapytania podrzędnego
  4. Lista SELECT instrukcji INSERT

Answer: C, D. Sekwencja może być używana w zapytaniach SELECT, kursorach PL / SQL lub w operacjach bezpośrednich IAS (INSERT-AS-SELECT).

64.When can NEXTVAL and CURRVAL not be used?

  1. Lista SELECT widoku
  2. Instrukcja SELECT ze słowem kluczowym DISTINCT
  3. Zapytanie podrzędne w instrukcji SELECT, DELETE lub UPDATE
  4. Wszystkie powyższe

Answer: D.

Consider the given statement and answer the questions 65 and 66 that follow:

CREATE TABLE employees 
(employee_id  NUMBER(4) DEFAULT emp_empid_seq.CURRVAL,
 department_id NUMBER(4));

65.What will be the outcome of this statement? (Assume that emp_empid_seq is sequence used to generate employee ID values)

  1. Tabela zostanie utworzona
  2. Kolumna Department_id będzie zawierała wartości z sekwencji wygenerowanej dla identyfikatora pracownika
  3. Kolumna Department_id będzie miała wartość DEFAULT
  4. Błąd ORA

Answer: D. Pseudokolumny nie mogą być określone w klauzuli DEFAULT definicji kolumny.

66.What will be the outcome of this statement if the CURRVAL is replaced with NEXTVAL? (Assume that emp_empid_seq is generated to generate employee ID values)

  1. Tabela zostanie utworzona
  2. Kolumna Department_id będzie zawierała wartości z sekwencji wygenerowanej dla identyfikatora pracownika
  3. Kolumna Department_id będzie miała wartość DEFAULT
  4. Błąd ORA

Answer: D. Pseudokolumny nie mogą być określone w klauzuli DEFAULT definicji kolumny.

Examine the given exhibit giving the structures of the tables Departments and Location. Answer the questions 67 and 68 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)
SQL> desc locations
 Name			 Null?	  Type
 ----------------------- -------- ----------------
 LOCATION_ID		 NOT NULL NUMBER(4)
 STREET_ADDRESS 		  VARCHAR2(40)
 POSTAL_CODE			  VARCHAR2(12)
 CITY			 NOT NULL VARCHAR2(30)
 STATE_PROVINCE 		  VARCHAR2(25)
 COUNTRY_ID			  CHAR(2)

67.You need to insert a new department named "HR" in the location ID 1000. Which of the following statements will give you the required results?

  1. INSERT INTO departments (dept_id, dept_name, location_id)
    VALUES (dept_deptid_seq.NEXTVAL, 'HR', 1000);
  2. INSERT INTO departments (dept_id, dept_name, location_id)
    VALUES (dept_deptid_seq.NEXTVAL, "HR", 1000);
  3. INSERT INTO departments (dept_id, dept_name, location_id)
    VALUES (dept_deptid_seq.CURRVAL, 'HR', 1000);
  4. Żadne z powyższych

Answer: A.Opcja C spowoduje „Unikalne naruszenie ograniczenia”, ponieważ będzie próbować wstawić bieżącą wartość identyfikatora działu, który istnieje w tabeli DEPARTMENTS.

68.Suppose you execute the below query before inserting the values as shown in the option A in question 67. What will be the outcome of the query?

SELECT dept_deptid_seq.CURRVAL FROM DUAL;
  1. Błąd ORA
  2. Poda aktualną wartość sekwencji
  3. Ani A, ani B.
  4. Żadne z powyższych

Answer: B. Kiedy użytkownik loguje się do Oracle 11g, żadna wartość nie jest początkowo przechowywana w pseudokolumnie CURRVAL; aktualna wartość to NULL. Po wywołaniu NEXTVAL w celu wygenerowania wartości sekwencji, CURRVAL przechowuje tę wartość do momentu wygenerowania następnej wartości. CURRVAL zawiera tylko ostatnią wygenerowaną wartość.

69.How can gaps occur in the values of a sequence?

  1. Kiedy nastąpi wycofanie
  2. Awaria systemu
  3. Sekwencja jest używana w innej tabeli
  4. Wszystkie powyższe

Answer: D.

70.What is true about caching sequence values?

  1. Buforowanie wartości sekwencji nie jest możliwe w Oracle
  2. Pamięć podręczna jest zapełniana po osiągnięciu maksymalnego limitu sekwencji
  3. Buforowanie rozpoczyna się przy pierwszym odwołaniu do sekwencji
  4. Żadne z powyższych

Answer: C. Jeśli opcja NOCACHE jest określona podczas tworzenia sekwencji, każda liczba jest generowana po odebraniu żądania. Jeśli jednak transakcje organizacji wymagają dużej ilości numerów sekwencyjnych w całej sesji, opcja CACHE może być wykorzystana do tego, aby Oracle 11g wygenerował zestaw wartości z wyprzedzeniem i zapisał je w pamięci serwera. Następnie, gdy użytkownik zażąda wartości sekwencji, przypisywana jest następna dostępna wartość - bez konieczności generowania liczby przez Oracle 11g. Z drugiej strony, jeśli opcja CACHE nie jest określona, ​​Oracle 11g zakłada domyślną opcję CACHE 20 i automatycznie przechowuje w pamięci 20 kolejnych wartości, aby użytkownicy mieli do nich dostęp.

71.The following query for the sequence EMP_EMPID_SEQ is executed after a transaction which inserted five employee details.

Select emp_empID_seq.CURRVAL from dual;

Załóżmy, że transakcja pracownicza została wycofana. Jaki będzie wynik powyższego zapytania?

  1. Wartość sekwencji na początku transakcji pracownika
  2. NULL
  3. Wartość sekwencji na końcu transakcji pracownika
  4. Żadne z powyższych

Answer: C. Na wartości sekwencji nie ma wpływu zatwierdzanie ani wycofywanie zmian. Jeśli transakcja korzystająca z generatora sekwencji jest wycofywana, wartości sekwencji są marnowane i nie można ich odzyskać.

72.Which of the following privileges are required to modify a sequence?

  1. UTWÓRZ LUB ZAMIEŃ uprawnienie
  2. ALTER uprawnienie do sekwencji
  3. ALTER TABLE
  4. UPDATE uprawnienia

Answer: B. Aby zmienić sekwencję, sekwencja musi znajdować się w Twoim własnym schemacie lub musisz mieć uprawnienie ALTER do obiektu w sekwencji lub musisz mieć uprawnienie systemowe ALTER ANY SEQUENCE.

73.What happens when a sequence is altered?

  1. Istniejące liczby całkowite już wygenerowane przez sekwencję również zostaną zmienione
  2. Dotyczy to tylko przyszłych liczb całkowitych
  3. Sekwencja przestaje buforować przyszłe liczby całkowite
  4. Żadne z powyższych

Answer: B. Za pomocą polecenia ALTER SEQUENCE wszelkie zmiany są stosowane tylko do wartości wygenerowanych po dokonaniu modyfikacji.

74.Suppose you need to drop a sequence. Which of the following commands will help?

  1. ALTER SEQUENCE sequence_name START WITH NULL;
  2. DROP sequence_name;
  3. DROP SEQUENCE sequence_name;
  4. Żadne z powyższych

Answer: C. Polecenie DROP służy do usuwania sekwencji

75.Which of the following privileges will allow you to drop a sequence? (Choose the most appropriate answer)

  1. ALTER SEQUENCE
  2. ALTER TABELA
  3. DROP SEQUENCE
  4. DROP KAŻDĄ KOLEJNOŚĆ

Answer: D. Aby usunąć sekwencję, albo sekwencja musi być w twoim własnym schemacie, albo musisz mieć uprawnienie systemowe DROP ANY SEQUENCE.

76.What is true about Indexes?

  1. Indeksy są tworzone tylko ręcznie
  2. Indeksy są tworzone tylko automatycznie
  3. Zarówno a jak i B
  4. Żadne z powyższych

Answer: D. Indeksy można tworzyć ręcznie, jak również automatycznie po wykonaniu pewnych czynności, takich jak utworzenie klucza podstawowego lub niepotrzebne ograniczenie.

77.Which of the following is used by an index to locate the data quickly?

  1. ROWNUM
  2. ROWID
  3. Sequence
  4. Żadne z powyższych

Answer: B. Indeks Oracle 11g to obiekt bazy danych, który przechowuje mapę wartości kolumn i ROWIDs pasujących wierszy tabeli. ROWID to fizyczny adres wiersza tabeli.

78.What happens when there is no index on a column of a table?

  1. Dane są zlokalizowane szybko
  2. Jest pełny skan tabeli
  3. Nie można utworzyć tabeli
  4. Tabela nie może zostać zmieniona

Answer: B.

79.What among the following is true about an Index?

  1. Indeks zmniejsza we / wy dysku
  2. Indeks szybko lokalizuje dane
  3. Indeksy są logicznie i fizycznie niezależne od indeksowanej tabeli
  4. Wszystkie powyższe

Answer: D.

80.What will happen if an index is dropped?

  1. Kolumna, w której tworzony jest indeks, również jest usuwana
  2. Tabela, dla której tworzony jest indeks, jest również usuwana
  3. Raz utworzonych indeksów nie można usunąć
  4. Ponieważ indeksy są obiektami niezależnymi logicznie i fizycznie, można je usuwać bez wpływu na inne obiekty

Answer: D. Indeksy to obiekty, które są fizycznie przechowywane w schemacie. Porzucenie indeksu nie ma wpływu na inne obiekty.

81.What happens when a table is dropped?

  1. Indeksy nadal pozostają, ponieważ są logicznie i niezależnymi obiektami
  2. Indeksy w tabeli również są usuwane
  3. Ani A, ani B.
  4. Żadne z powyższych

Answer: B.

82.How are indexes created automatically?

  1. Kiedy tworzymy tabelę
  2. Kiedy tabela zostanie zmieniona
  3. Gdy KLUCZ PODSTAWOWY jest zdefiniowany w kolumnie (lub grupie kolumn) tabeli
  4. Gdy ograniczenie UNIQUE KEY jest zdefiniowane w definicji tabeli

Answer: C, D.

83.For which of the following objects, a synonym can be created?

  1. Tylko tabele i widoki
  2. Tabela, widok i kolejność
  3. Procedura składowana, funkcja lub pakiet
  4. Synonym

Answer: B, C, D. Obiekt schematu, dla którego tworzysz synonim, może mieć następujące typy: tabela lub tabela obiektów, widok lub widok obiektu, sekwencja, procedura składowana, funkcja lub pakiet, widok zmaterializowany, obiekt schematu klasy Java, typ obiektu zdefiniowany przez użytkownika , Synonim

84. Which of the following can you use to reference a table owned by another user?

  1. INDEX
  2. TABLE
  3. SYNONYMS
  4. SEQUENCES

Answer: C. Synonim to alternatywna nazwa lub alias obiektu bazy danych.

85.What among of the following is an example of a Non-unique index?

  1. KLUCZ PODSTAWOWY
  2. UNIKALNY KLUCZ
  3. KLUCZ OBCY
  4. Żadne z powyższych

Answer: C.

86.Which of the following is the main and basic type of an Index?

  1. Bitmap
  2. B-tree
  3. Unique
  4. Non-unique

Answer: A, B. Indeks B-drzewa (drzewo zrównoważone) jest najczęściej używanym indeksem w Oracle. Ten typ indeksu można utworzyć za pomocą podstawowej instrukcji CREATE INDEX. Indeks bitmapy różni się strukturą i sposobem użycia od indeksu B-drzewa. Ten indeks jest przydatny do ulepszania zapytań w kolumnach, które mają niską selektywność (mała liczność lub mała liczba różnych wartości).

87.You need to speed up a query by creating an index on the FIRST_NAME of the EMPLOYEES table. Which of the following statements can you use? (Assume the table structure as shown)

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)
  1. CREATE INDEX emp_first_name_idx 
    ON employees (first_name);
  2. CREATE INDEX emp_first_name_idx 
    ON employees first_name;
  3. ALTER INDEX emp_first_name_idx 
    ON employees (first_name);
  4. Żadne z powyższych

Answer: A.

88.What does the UNIQUE keyword do while creating indexes?

  1. Określa, że ​​wartość kolumny (kolumn), dla których tworzony jest indeks, musi być unikalna
  2. Podczas tworzenia indeksów nie można używać słowa kluczowego UNIQUE
  3. Określa, że ​​utworzony indeks może być używany tylko przez jedną tabelę
  4. Żadne z powyższych

Answer: A. Unikalny indeks jest zwykle tworzony automatycznie, gdy ograniczenie KLUCZ PODSTAWOWY lub UNIQUE jest zdefiniowane w kolumnie. Unikalne indeksy można również jawnie tworzyć, dołączając słowo kluczowe UNIQUE do instrukcji CREATE INDEX.

89.What will happen when you specify the keyword BITMAP while creating an Index?

  1. Tworzy indeks z bitmapą dla każdego odrębnego klucza.
  2. Nie tworzy indeksu w każdym wierszu oddzielnie
  3. Zarówno a jak i B
  4. Żadne z powyższych

Answer: C.

90.You have queries written which are expected to retrieve less than 2% to 4% of rows. Which of the following can be applied on the relevant tables to achieve the query performance of such query? (Choose the best answer)

  1. Indexes
  2. Operator zbioru UNION
  3. Operator zbioru MINUS
  4. Żadne z powyższych

Answer: A. Indeksy to najlepszy sposób na osiągnięcie wydajności zapytań. Ciężkie operacje we / wy można zmniejszyć i uprościć za pomocą skanowania indeksów.

91.In what scenarios can Indexes be useful?

  1. Jeśli stół (y) są bardzo duże
  2. Jeśli kolumna ma mniej wartości
  3. Jeśli kolumna zawiera dużą liczbę wartości NULL
  4. Jeśli kolumna zawiera szeroki zakres wartości

Answer: C, D.

92.The table EMPLOYEES is updated frequently. When can Indexes be created on this table? (Choose the most appropriate answer)

  1. Indeksy nie powinny być tworzone, jeśli tabela jest często aktualizowana
  2. Indeksy powinny być tworzone w momencie tworzenia tabeli
  3. Ani A, ani B.
  4. Żadne z powyższych

Answer: A. Częste lub masowe operacje DML na tabeli z indeksem powodują dodatkowe obciążenie związane z utrzymaniem segmentu indeksu, co może wpływać na wydajność operacji DML.

93.Consider the following query and answer the following query. Assume that the EMPLOYEE_ID , DEPARTMENT_ID and FIRST_NAME columns of EMPLOYEES table are indexed. (Assume 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)
SELECT first_name, last_name 
FROM employees 
WHERE comm IS NULL;

Czy istniejące indeksy pomogą w tym przypadku, jeśli w tabeli PRACOWNICY jest 1 milion wierszy?

  1. Yes
  2. No
  3. To może pomóc
  4. Żadne z powyższych

Answer: B. Indeksy nie są używane, gdy predykaty zapytania nie zawierają kolumn, na których jest tworzony indeks.

94.Which of the following will remove an Index?

  1. DELETE FROM index_name;
  2. DROP INDEX index_name;
  3. DROP INDEX;
  4. Żadne z powyższych

Answer: B. Aby usunąć indeks, musisz mieć uprawnienie DROP ANY INDEX.