Criando outras questões de objetos de esquema
1. Which database object among the following provides a layer of abstraction between the users and the data?
- Table
- Rows
- Views
- Synonyms
Answer: C, D. Visualizações e sinônimos não armazenam dados por si próprios. Uma visão é uma tabela temporária ou virtual usada para recuperar dados armazenados em tabelas de banco de dados subjacentes.
2. Which of the following data base objects can generate serial numbers?
- Synonyms
- Views
- Tables
- Sequences
Answer: D. Uma sequência pode ser criada para gerar uma série de inteiros. Os valores gerados por uma sequência podem ser armazenados em qualquer tabela. Uma sequência é criada com o comando CREATE SEQUENCE.
3. What is true about views?
- Eles são iguais às mesas
- Eles armazenam dados de uma ou várias tabelas
- Podemos executar SELECT e outros DMLs em visualizações simples
- As visualizações compartilham o mesmo namespace que as tabelas e, portanto, uma tabela e uma visualização não podem ter o mesmo nome
Answer: C, D. As operações DML não são permitidas em visualizações que incluem funções de grupo, uma cláusula GROUP BY, a pseudocoluna ROWNUM ou a palavra-chave DISTINCT.
4. Why are views useful? (Choose the most appropriate answer)
- Porque eles têm nomes mais curtos do que tabelas
- Para evitar que os usuários acessem as colunas das tabelas
- Para simplificar o SQL do usuário
- Tudo acima
Answer: B, C. Uma visão é uma tabela temporária ou virtual usada para recuperar dados armazenados em tabelas de banco de dados subjacentes. A consulta da visão deve ser executada cada vez que a visão é usada. Uma visualização pode ser usada para simplificar as consultas ou restringir o acesso a dados confidenciais.
5. In which of the below scenarios, DML operations on a view are not possible?
- A visualização contém a cláusula GROUP BY
- As tabelas base contêm colunas NOT NULL, mas não são selecionadas na consulta de visualização
- Ver consulta usa pseudocoluna ROWNUM
- Tudo acima
Answer: D. As operações DML não são permitidas em visualizações que incluem funções de grupo, uma cláusula GROUP BY, a pseudocoluna ROWNUM ou a palavra-chave DISTINCT.
6. Where can views get their data from?
- Tabelas do mesmo esquema
- Tabelas de diferentes esquemas
- Ambos a e B
- Nenhuma das acima
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;
- 0
- 1
- 2
- 4
Answer: D. Como a definição da visão é baseada em quatro colunas da tabela EMPLOYEES, uma consulta em uma visão com todas as colunas mostrará apenas essas quatro colunas.
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?
SELECT E.*, dept_name FROM departments D join emp_details E ON (E.department_id= D.dept_id);
SELECT hire_date, job, salary, dept_name FROM emp_details
- Isso não é possível, uma visão não pode ser unida a outras tabelas
- Nenhuma das acima
Answer: A. Uma visão pode ser unida a outras tabelas ou visões em uma consulta 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?
Select dept_name, e.salary FROM departments D join emp_details E On (E.department_id= D.dept_id);
Select dept_name, max(salary) FROM departments D join emp_details E On (E.department_id= D.dept_id) Group by dept_name;
- A visualização não pode aparecer em consultas usando funções de grupo
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?
- Sinônimos PÚBLICO e PRIVADO podem ter o mesmo nome para a mesma tabela
- DROP SYNONYM removerá um sinônimo
- DROP PUBLIC SYNONYM pode ser executado apenas por um SYSDBA
- Nenhuma das acima
Answer: A, C. Um sinônimo pode ser um sinônimo privado, que os usuários usam para fazer referência a objetos de sua propriedade, ou um sinônimo público, que os usuários usam para acessar os objetos do banco de dados de outro usuário. Apenas SYSDBA ou um usuário com privilégios DBA pode criar um sinônimo público.
11. What is true about creating a view? (Choose the most appropriate answer)
- Uma visão só pode ser criada a partir de uma tabela
- Uma visão só pode ser criada a partir de uma tabela
- Uma visão pode ser criada a partir de uma ou mais tabelas ou visões
- Nenhuma das acima
Answer: C. Uma visão contendo expressões ou funções ou juntando várias tabelas é considerada uma visão complexa. Uma visão complexa pode ser usada para atualizar apenas uma tabela.
12. Which of the following privileges are required to create views in one's own schema?
- Privilégio de sistema CREATE TABLE
- Privilégio de sistema CREATE VIEW
- Privilégio de sistema ALTER VIEW
- Privilégio de sistema CREATE ANY VIEW
Answer: B. O privilégio CREATE VIEW é exigido por um usuário para criar uma visão em seu próprio esquema.
13. Which of the following privileges are required to create views in someone else's schema?
- CRIE QUALQUER VISÃO
- CRIAR VISUALIZAÇÃO
- Ambos a e B
- Nenhuma das acima
Answer: A. O privilégio CREATE ANY VIEW é exigido por um usuário para criar uma visão no esquema de outro usuário.
14.Which of the following are supported for an object view or relational view?
- LOBs
- Tipos de objeto
- Tipos de dados REF
- Tudo acima
Answer: D.
15. What among the following are different types of Views?
- Vistas simples
- Vistas complexas
- Ambos a e B
- Nenhuma das acima
Answer: C. As visualizações simples e complexas são dois tipos de visualizações. As visualizações simples são baseadas em uma subconsulta que faz referência a apenas uma tabela e não inclui funções de grupo, expressões ou cláusulas GROUP BY. As visualizações complexas são baseadas em uma subconsulta que recupera ou deriva dados de uma ou mais tabelas e podem conter funções ou dados agrupados.
16. What is true about a simple view?
- As instruções DML podem ser emitidas na maioria das vezes em visualizações simples
- Existe apenas uma tabela de base de origem
- Nenhuma função de grupo é usada
- Tudo acima
Answer: D. As visualizações simples são baseadas em uma subconsulta que faz referência a apenas uma tabela e não inclui funções de grupo, expressões ou cláusulas GROUP BY.
17.What is true about a complex view?
- As instruções DML não podem ser emitidas em visões complexas
- Contém várias tabelas de base
- As agregações não podem ser realizadas
- Tudo acima
Answer: D. As visualizações complexas são baseadas em uma subconsulta que recupera ou deriva dados de uma ou mais tabelas e podem conter funções ou dados agrupados.
18.Which keyword combination should be used to implicitly drop a view (if it exists) and create a new view with the same name?
- CRIAR VISUALIZAÇÃO
- REPLACE VIEW
- CRIAR OU SUBSTITUIR VISUALIZAÇÃO
- Nenhuma das acima
Answer: C. A opção OR REPLACE notifica o Oracle 11g que pode já existir uma visão com o mesmo nome; em caso afirmativo, a versão anterior da visualização deve ser substituída pela definida no novo comando.
19.How is a view stored in the data dictionary?
- Como uma cláusula WHERE
- Como uma declaração CREATE
- Como uma declaração UPDATE
- Como uma instrução SELECT
Answer: D.
20.Which of the following can contain single-row functions?
- Visualizações embutidas
- Vistas Simples
- Vistas Complexas
- Vistas compostas
Answer: A, B. As funções de linha única podem ser usadas em visualizações Inline e Simples.
21.Which of the following can contain a group of data?
- Visualização composta
- Visualização Simples
- Vista Complexa
- Nenhuma das acima
Answer: C. A visão complexa pode usar a função de grupo na consulta.
22.What among the following is true about a View?
- Sub-consultas podem ser incorporadas em uma instrução CREATE VIEW
- Uma subconsulta usada na instrução CREATE VIEW deve ter uma sintaxe SELECT simples
- Você não pode usar uma cláusula WHERE em uma subconsulta quando ela é usada na instrução CREATE VIEW
- Nenhuma das acima
Answer: A. A definição da vista pode fazer uso de subconsultas.
23.Which of the following can create a view even if the base table(s) does not exist?
- NOFORCE
- FORCE
- OU SUBSTITUIR
- CRIAR VISUALIZAÇÃO
Answer: B. Se você incluir a palavra-chave FORCE na cláusula CREATE, o Oracle 11g criará a exibição apesar da ausência de quaisquer tabelas referenciadas. NOFORCE é o modo padrão para o comando CREATE VIEW, o que significa que todas as tabelas e colunas devem ser válidas, ou a visualização não será criada.
24.Which of the following commands ensures that no DML operations can be performed on a view?
- NOFORCE
- FORCE
- SOMENTE COM LEITURA
- OU SUBSTITUIR
Answer: C. A opção WITH READ ONLY impede a execução de qualquer operação DML na visualização. Esta opção é usada frequentemente quando é importante que os usuários possam apenas consultar os dados, não fazer nenhuma alteração neles.
25.What is true about the NOFORCE option in CREATE VIEW statement?
- Ele cria uma visualização mesmo se as tabelas base não existirem.
- Ele cria uma visualização apenas se as tabelas base existirem.
- É o padrão ao criar uma visualização.
- Nenhuma das acima
Answer: B, C. NOFORCE é o modo padrão para o comando CREATE VIEW, o que significa que todas as tabelas e colunas devem ser válidas, ou a visualização não será criada.
26.What is true about the OR REPLACE keyword?
- Os privilégios do objeto são perdidos quando uma visão é criada usando esta palavra-chave
- Não há necessidade de conceder novamente os privilégios de objeto anteriormente concedidos a ele
- Nem de A nem B
- Nenhuma das acima
Answer: B. A opção OR REPLACE notifica o Oracle 11g que pode já existir uma visão com o mesmo nome; em caso afirmativo, a versão anterior da visualização deve ser substituída pela definida no novo comando.
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;
- A visão deve ser acessada pelos nomes das colunas originais definidos na tabela base
- A visão deve ser acessada pelos aliases fornecidos na consulta de visão
- A visão é uma visão simples
- Nenhuma das acima
Answer: B, C. A visualização deve referir-se ao alias da coluna se a definição da visualização contiver alias para as colunas.
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;
- Não é obrigatório que o número de aliases corresponda ao no. de expressões na subconsulta
- É obrigatório que o não. dos aliases listados devem corresponder ao não. de expressões selecionadas na sub-consulta
- É obrigatório fornecer aliases ao criar uma visualização
- Nenhuma das acima
Answer: B. Se o alias for especificado no cabeçalho da visão, o mesmo número de colunas deve ser selecionado na consulta SELECT.
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;
O que é verdade sobre os aliases de coluna na consulta acima?
- Os aliases de coluna são listados em ordem aleatória como as colunas na subconsulta
- Os aliases de coluna são listados na mesma ordem que as colunas na subconsulta
- Aliases de coluna são obrigatórios ao usar a palavra-chave CREATE OR REPLACE
- Não podemos usar concatenação quando usamos o comando 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?
- Nomes alternativos foram dados para a vista
- Fornecer nomes alternativos é obrigatório se alguma coluna for derivada de uma função ou expressão
- Ambos a e B
- Nenhuma das acima
Answer: C. Especificar o nome do alias é uma boa prática para melhorar a legibilidade do código e das consultas de exibição.
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;
- Não será diferente da declaração original
- Ele será executado com sucesso, dando os mesmos resultados, mas com alteração nos nomes de alias.
- Ele lançará um erro ORA
- Nenhuma das acima
Answer: B. A sequência do alias da coluna não importa muito, pois eles não carregam nenhum atributo comportamental.
32.Determine the output of the below DELETE statement.
DELETE FROM dept_sum_vu;
- Irá deletar a vista
- Irá remover todas as linhas da vista mas a estrutura da vista permanecerá a mesma
- Ele lançará um erro ORA
- Nenhuma das acima
Answer: C. A visão DEPT_SUM_VU é uma visão complexa. As operações DML não podem ser executadas em uma visão complexa.
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;
Qual será o impacto da modificação?
- A visão pode ser atualizada para atualizar os valores nas tabelas EMPLOYEES e DEPARTMENTS
- Os dados nas tabelas EMPLOYEES e DEPARTMENTS não podem ser excluídos por meio da visualização
- Os dados nas tabelas EMPLOYEES e DEPARTMENTS podem ser inseridos através da view
- Uma coluna pode ser adicionada à tabela EMPLOYEES por meio da visualização
Answer: B. As operações DML não podem ser executadas em visualizações complexas. DEPT_SUM_VU é uma visão complexa, pois juntou várias tabelas. As operações DDL não são possíveis nas visualizações.
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?
- As linhas serão removidas sem qualquer erro
- Apenas as primeiras 10 linhas serão removidas
- As linhas não podem ser excluídas.
- Nenhuma das acima
Answer: C. A visão DEPT_SUM_VU ainda é uma visão complexa, pois usa a palavra-chave DISTINCT. Conseqüentemente, as operações DML não são possíveis nele.
35.When can the rows from a view be removed?
- A exclusão de linhas por meio de uma visualização não é possível
- Deve ser uma visão simples
- Deve ser uma visão complexa
- Nenhuma das acima
Answer: B. As operações DML são possíveis apenas em visualizações simples.
36.When can the data in a view not be modified?
- Quando há expressões de grupo
- Quando há uma cláusula GROUP BY
- Quando ROWNUM é usado na consulta de visualização
- Tudo acima
Answer: D. UPDATE não é possível em uma visão contendo funções de grupo, pseudocolunas ou palavra-chave 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;
- Problemas do Andy -
CREATE SYNONYM EMP_JOBS for JOB_HISTORY
- Problemas de RH -
CREATE SYNONYM EMP_JOBS for andy.JOB_HISTORY
- Problemas de RH -
CREATE PUBLIC SYNONYM EMP_JOBS FOR andy.JOB_HISTORY
- Nenhuma das acima
Answer: B. Apenas SYSDBA ou um usuário com privilégios DBA pode criar sinônimos públicos.
38.Which keyword can assure that the DML operations performed on the view stay in the domain of the view?
- OU SUBSTITUIR
- CREATE
- COM OPÇÃO DE CHEQUE
- Nenhuma das acima
Answer: C. A restrição WITH CHECK OPTION garante que quaisquer operações DML executadas na exibição (como adicionar linhas ou alterar dados) não evitem que a exibição acesse a linha porque ela não atende mais à condição da cláusula 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?
- Isso permitirá que os usuários façam INSERIR ou ATUALIZAR em todos os departamentos
- Isso permitirá que o usuário execute INSERT ou UPDATE qualquer linha que tenha departamento 100
- O usuário pode ATUALIZAR qualquer linha na tabela de funcionários
- O usuário pode INSERIR linhas sem qualquer restrição na tabela de funcionários
Answer: B. A restrição WITH CHECK OPTION garante que quaisquer operações DML executadas na exibição (como adicionar linhas ou alterar dados) não evitem que a exibição acesse a linha porque ela não atende mais à condição da cláusula WHERE. Um erro ORA será lançado se um INSERT ou UPDATE for executado em qualquer linha com um departamento_id diferente de 100.
40.Suppose you fire an UPDATE statement as shown below:
UPDATE empvu100
Set department_id = 200
Where employee_id = 121;
Qual será o resultado desta declaração?
- Nenhuma linha é atualizada
- Um erro ORA é lançado
- Ambos a e B
- Nenhuma das acima
Answer: C. Se a visualização com CHECK OPTION for atualizada e o valor do novo registro violar o escopo da visualização, a exceção ORA "ORA-01402: visualização com CHECK OPTION violação da cláusula de onde" será gerada.
41.What is true about the WITH CHECK CONSTRAINT?
- INSERTs ou UPDATEs realizados através da visão não podem criar linhas que a visão não pode selecionar
- Apenas INSERTs realizados através da visão não podem criar linhas que a visão não pode selecionar
- Apenas UPDATEs realizados através da visão não podem criar linhas que a visão não pode selecionar
- Nenhuma das acima
Answer: A.
42.How can you prevent DML operations on a View?
- Definindo uma restrição WITH CHECK OPTION
- Ao definir uma opção COM SOMENTE LEITURA
- Nem de A nem B
- Nenhuma das acima
Answer: B. A opção WITH READ ONLY impede a execução de qualquer operação DML na visualização. Esta opção é usada frequentemente quando é importante que os usuários possam apenas consultar os dados, não fazer nenhuma alteração neles.
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?
- A vista não será criada
- A operação INSERT nesta visualização lançará um erro ORA
- Ao ATUALIZAR as linhas para todos os funcionários do departamento 100, um erro ORA será lançado
- Nenhuma das acima
Answer: B, C. As operações DML não são permitidas na visualização criada com a opção READ ONLY.
44.How many rows can be deleted from the view as shown above?
- Todas as linhas da vista
- Todas as linhas de apenas o departamento 100
- Sem linhas
- Nenhuma das acima
Answer: C. As operações DML não são permitidas na visualização criada com a opção READ ONLY.
45.Which of the following statements will drop the view created as above?
DROP READ ONLY VIEW empvu100;
DROP NOFORCE empvu100;
DROP VIEW empvu100;
- Nenhuma das acima
Answer: C. A visualização somente leitura pode ser eliminada usando o comando DROP VIEW.
46.What is true about dropping a View?
- As colunas na visão das tabelas base também são eliminadas
- A definição da visão é removida do banco de dados
- Eliminar uma visão não tem efeito na tabela base subjacente
- Nenhuma das acima
Answer: B, C.
47.Which of the following privileges should a user have to drop a view?
- CRIE QUALQUER VISÃO
- CRIAR VISUALIZAÇÃO
- DROP ANY VIEW
- DROP VIEW
Answer: C.
48.What is true about sequences?
- Gera inteiros
- É um objeto compartilhável
- Pode ser usado para criar um valor PRIMARY KEY
- Tudo acima
Answer: D. Uma sequência acelera a eficiência de acessar os valores da sequência quando armazenada em cache na memória
49.What is true about a sequence?
- É criado quando o banco de dados Oracle é instalado
- Ele é criado por um usuário que tem privilégio de sistema CREATE SEQUENCE
- Não pode ser compartilhado por mais de dois usuários
- Ele cai automaticamente quando o banco de dados é desconectado.
Answer: B, C. O privilégio de sistema CREATE SEQUENCE é exigido por um usuário para criar uma sequência em seu próprio esquema que não pode ser compartilhada por outros usuários.
50.What among the following options is true about Sequences?
- Os inteiros gerados através de uma sequência para uma tabela não podem ser usados por outras tabelas
- Uma sequência só pode ser incrementada
- Uma sequência torna-se inválida se outra sequência gerar os mesmos inteiros
- Uma sequência pode ser usada por muitas tabelas e podem ser incrementadas ou diminuídas
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
- 100
- 101
- 9999
Answer: C. A cláusula START WITH estabelece o valor inicial para a sequência. O Oracle 11g começa cada sequência em 1, a menos que outro valor seja especificado na cláusula START WITH.
52.What can be the last value generated by this sequence?
- 0
- 100
- 101
- 9999
Answer: D. As cláusulas MINVALUE e MAXVALUE estabelecem um valor mínimo ou máximo para a sequência.
53.What will be the 2nd value generated by this sequence?
- 102
- 100
- 99
- 9999
Answer: A. A cláusula INCREMENT BY especifica o intervalo entre dois valores sequenciais. Se a sequência for incrementada por um valor positivo, os valores que a sequência gera estão em ordem crescente. No entanto, se um valor negativo for especificado, os valores gerados pela sequência estarão em ordem decrescente. Se a cláusula INCREMENT BY não for incluída quando a sequência for criada, a configuração padrão será usada, o que aumenta a sequência em um para cada inteiro gerado.
54.What will be the next value after the maximum integer 9999 is reached by this sequence?
- 101
- Sem valor
- Ele lançará um erro ORA
- Nenhuma das acima
Answer: B. As opções CYCLE e NOCYCLE determinam se o Oracle 11g deve começar a reemitir valores da sequência depois de atingir o valor mínimo ou máximo.
55.How many values will Oracle pre allocate in memory based on the sequence given above?
- 20
- 0
- 100
- 9999
Answer: A.
56.You execute the below query:
SELECT dept_depid_seq.NEXTVAL from dual;
- 200
- 101
- 9999
- 201
Answer: D. A pseudocoluna NEXTVAL gerará o próximo inteiro exclusivo da sequência.
57.You execute the below query:
SELECT dept_depid_seq.CURRVAL from dual;
- 200
- 101
- 9999
- 201
Answer: A. A pseudocoluna CURRVAL irá gerar o inteiro único atual já gerado pela sequência.
58.Suppose you need to change the start value of this sequence to 1000. Which of the following statements will help?
ALTER dept_deptid_seq INCREMENT BY 100 START WITH 1000 MAXVALUE 9999 NOCACHE NOCYCLE;
- A sequência deve ser descartada e recriada para iniciar a sequência de 1000.
ALTER SEQUENCE dept_deptid_seq START WITH 101
ALTER SEQUENCE dept_deptid_seq INCREMENT BY 100 START WITH 101 CYCLE;
Answer: B. O número inicial de uma sequência não pode ser modificado. A Oracle levanta a exceção "ORA-02283: não é possível alterar o número de sequência inicial".
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;
Qual será o resultado dessa alteração?
- Erro ORA
- O valor máximo para a sequência alterada será agora 99
- Nem de A nem B
- Nenhuma das acima
Answer: A. O MAXVALUE não pode ser menor que o valor START WITH durante a alteração de uma sequência.
60.When can we use the CYCLE option in Sequences?
- Se quisermos limpar as linhas antigas mais rápido
- Se não quisermos usar a sequência para gerar valores PRIMARY KEY
- Ambos a e B
- Nenhuma das acima
Answer: C. As opções CYCLE e NOCYCLE determinam se o Oracle 11g deve começar a reemitir valores da sequência depois de atingir o valor mínimo ou máximo. Se a opção CYCLE for especificada e o Oracle 11g atingir o valor máximo para uma seqüência ascendente ou o valor mínimo para uma seqüência descendente, a opção CYCLE inicia o ciclo de números novamente.
61.What is true about NEXTVAL pseudo column?
- Ele recria o CURRVAL de uma sequência
- Ele retorna o próximo valor de sequência disponível
- Ele pode retornar valores duplicados
- Ele gera os mesmos valores para diferentes usuários
Answer: B. A pseudocoluna NEXTVAL (NEXT VALUE) é usada para gerar o valor da sequência. Em outras palavras, ele chama o objeto de sequência e solicita o valor do próximo número na sequência. Depois que um valor é gerado, ele é armazenado na pseudocoluna CURRVAL (CURRENT VALUE) para que você possa referenciá-lo novamente.
62.What is true about CURRVAL pseudo column?
- CURRVAL pode ser usado antes de NEXTVAL em relação a uma sequência
- CURRVAL dá o valor atual de uma sequência
- CURRVAL pode fornecer valores duplicados
- Nenhuma das acima
Answer: B.
63.When can NEXTVAL and CURRVAL be used?
- Cláusula SET de uma instrução INSERT
- Cláusula VALUES de uma instrução UPDATE
- A lista SELECT de uma instrução SELECT que não faz parte de uma subconsulta
- A lista SELECT de uma instrução INSERT
Answer: C, D. A sequência pode ser usada na consulta SELECT, cursor PL / SQL ou em operações diretas IAS (INSERT-AS-SELECT).
64.When can NEXTVAL and CURRVAL not be used?
- A lista SELECT de uma visão
- A instrução SELECT com a palavra-chave DISTINCT
- Uma subconsulta na instrução SELECT, DELETE ou UPDATE
- Tudo acima
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)
- A mesa será criada
- A coluna department_id terá os valores da sequência gerada para o ID do funcionário
- A coluna department_id terá um valor DEFAULT
- Erro ORA
Answer: D. Pseudocolunas não podem ser especificadas na cláusula DEFAULT de uma definição de coluna.
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)
- A mesa será criada
- A coluna department_id terá os valores da sequência gerada para o ID do funcionário
- A coluna department_id terá um valor DEFAULT
- Erro ORA
Answer: D. Pseudocolunas não podem ser especificadas na cláusula DEFAULT de uma definição de coluna.
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?
INSERT INTO departments (dept_id, dept_name, location_id) VALUES (dept_deptid_seq.NEXTVAL, 'HR', 1000);
INSERT INTO departments (dept_id, dept_name, location_id) VALUES (dept_deptid_seq.NEXTVAL, "HR", 1000);
INSERT INTO departments (dept_id, dept_name, location_id) VALUES (dept_deptid_seq.CURRVAL, 'HR', 1000);
- Nenhuma das acima
Answer: A.A opção C causará uma 'Violação de restrição única', pois tentará inserir o valor atual do id do departamento que já existe na tabela 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;
- Erro ORA
- Ele dará o valor atual da sequência
- Nem de A nem B
- Nenhuma das acima
Answer: B. Quando um usuário efetua login no Oracle 11g, nenhum valor é inicialmente armazenado na pseudocoluna CURRVAL; o valor atual é NULL. Depois que uma chamada NEXTVAL foi emitida para gerar um valor de sequência, CURRVAL armazena esse valor até que o próximo valor seja gerado. CURRVAL contém apenas o último valor gerado.
69.How can gaps occur in the values of a sequence?
- Quando ocorre uma reversão
- O sistema trava
- Uma sequência é usada em outra tabela
- Tudo acima
Answer: D.
70.What is true about caching sequence values?
- Valores de sequência de cache não são possíveis no Oracle
- O cache é preenchido quando o limite máximo da sequência é atingido
- O cache começa pela primeira vez quando a sequência é referida
- Nenhuma das acima
Answer: C. Se a opção NOCACHE for especificada quando a sequência for criada, cada número será gerado quando a solicitação for recebida. No entanto, se as transações de uma organização exigirem grandes quantidades de números sequenciais ao longo de uma sessão, a opção CACHE pode ser usada para que o Oracle 11g gere um conjunto de valores antecipadamente e os armazene na memória do servidor. Então, quando um usuário solicita um valor de sequência, o próximo valor disponível é atribuído - sem que o Oracle 11g tenha que gerar o número. Por outro lado, se a opção CACHE não for especificada, o Oracle 11g assume uma opção padrão de CACHE 20 e armazena 20 valores sequenciais na memória automaticamente para os usuários acessarem.
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;
Suponha que a transação do funcionário seja revertida. Qual será o resultado da consulta acima?
- O valor da sequência no início da transação do funcionário
- NULL
- O valor da sequência no final da transação do funcionário
- Nenhuma das acima
Answer: C. Os valores de sequência não são afetados por commit ou rollback. Se uma transação que usa gerador de sequência for revertida, os valores da sequência serão perdidos e não poderão ser recuperados.
72.Which of the following privileges are required to modify a sequence?
- Privilégio CREATE OR REPLACE
- Privilégio ALTER para a sequência
- Privilégio ALTER TABLE
- Privilégio UPDATE
Answer: B. Para alterar uma sequência, a sequência deve estar em seu próprio esquema, ou você deve ter o privilégio de objeto ALTER na sequência, ou deve ter o privilégio de sistema ALTER ANY SEQUENCE.
73.What happens when a sequence is altered?
- Os inteiros existentes já gerados pela sequência também são alterados
- Apenas os futuros inteiros são afetados
- A sequência para de armazenar em cache os inteiros futuros
- Nenhuma das acima
Answer: B. Ao usar o comando ALTER SEQUENCE, quaisquer alterações são aplicadas apenas aos valores gerados após as modificações serem feitas.
74.Suppose you need to drop a sequence. Which of the following commands will help?
ALTER SEQUENCE sequence_name START WITH NULL;
DROP sequence_name;
DROP SEQUENCE sequence_name;
- Nenhuma das acima
Answer: C. O comando DROP é usado para descartar uma sequência
75.Which of the following privileges will allow you to drop a sequence? (Choose the most appropriate answer)
- ALTER SEQUENCE
- ALTERAR A TABELA
- DROP SEQUENCE
- SOLTAR QUALQUER SEQUÊNCIA
Answer: D. Para eliminar uma sequência, ela deve estar em seu próprio esquema ou você deve ter o privilégio de sistema DROP ANY SEQUENCE.
76.What is true about Indexes?
- Os índices são criados apenas manualmente
- Os índices são criados apenas automaticamente
- Ambos a e B
- Nenhuma das acima
Answer: D. Os índices podem ser criados manual ou automaticamente seguindo certas ações, como a criação de uma chave primária ou restrição exclusiva.
77.Which of the following is used by an index to locate the data quickly?
- ROWNUM
- ROWID
- Sequence
- Nenhuma das acima
Answer: B. Um índice Oracle 11g é um objeto de banco de dados que armazena um mapa de valores de coluna e os ROWIDs de linhas de tabela correspondentes. Um ROWID é o endereço físico de uma linha da tabela.
78.What happens when there is no index on a column of a table?
- Os dados são localizados rapidamente
- Há uma verificação completa da tabela
- A tabela não pode ser criada
- A tabela não pode ser alterada
Answer: B.
79.What among the following is true about an Index?
- O índice reduz a E / S do disco
- O índice localiza os dados rapidamente
- Os índices são lógica e fisicamente independentes da tabela que indexam
- Tudo acima
Answer: D.
80.What will happen if an index is dropped?
- A coluna na qual o índice é criado também é descartada
- A tabela na qual o índice é criado também é descartada
- Os índices, uma vez criados, não podem ser descartados
- Como os índices são objetos logicamente e fisicamente independentes, eles podem ser descartados sem afetar outros objetos
Answer: D. Os índices são os objetos fisicamente armazenados no esquema. Eliminar um índice não afeta outros objetos.
81.What happens when a table is dropped?
- Os índices ainda permanecem como são objetos logicamente e independentes
- Os índices da tabela também são eliminados
- Nem de A nem B
- Nenhuma das acima
Answer: B.
82.How are indexes created automatically?
- Quando criamos uma mesa
- Quando uma mesa é alterada
- Quando uma PRIMARY KEY é definida em uma coluna (ou grupo de colunas) de uma tabela
- Quando uma restrição UNIQUE KEY é definida na definição da tabela
Answer: C, D.
83.For which of the following objects, a synonym can be created?
- Tabelas e visualizações apenas
- Tabela, vista e sequência
- Procedimento armazenado, função ou pacote
- Synonym
Answer: B, C, D. O objeto de esquema para o qual você está criando o sinônimo pode ser dos seguintes tipos: Tabela ou tabela de objeto, Visualização ou visualização de objeto, Sequência, Procedimento armazenado, função ou pacote, Visualização materializada, objeto de esquema de classe Java, Tipo de objeto definido pelo usuário , Sinônimo
84. Which of the following can you use to reference a table owned by another user?
- INDEX
- TABLE
- SYNONYMS
- SEQUENCES
Answer: C. Um sinônimo é um nome alternativo ou alias para um objeto de banco de dados.
85.What among of the following is an example of a Non-unique index?
- CHAVE PRIMÁRIA
- CHAVE ÚNICA
- CHAVE ESTRANGEIRA
- Nenhuma das acima
Answer: C.
86.Which of the following is the main and basic type of an Index?
- Bitmap
- B-tree
- Unique
- Non-unique
Answer: A, B. O índice B-tree (balanceado) é o índice mais comum usado no Oracle. Você pode criar esse tipo de índice com uma instrução CREATE INDEX básica. Um índice de bitmap varia em estrutura e uso de um índice B-tree. Este índice é útil para melhorar as consultas em colunas que têm baixa seletividade (baixa cardinalidade ou um pequeno número de valores distintos).
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)
CREATE INDEX emp_first_name_idx ON employees (first_name);
CREATE INDEX emp_first_name_idx ON employees first_name;
ALTER INDEX emp_first_name_idx ON employees (first_name);
- Nenhuma das acima
Answer: A.
88.What does the UNIQUE keyword do while creating indexes?
- Ele especifica que o valor da (s) coluna (s) nas quais o índice é criado deve ser único
- Você não pode usar a palavra-chave UNIQUE ao criar índices
- Ele especifica que o índice que é criado pode ser usado apenas por uma tabela
- Nenhuma das acima
Answer: A. Um índice exclusivo normalmente é criado automaticamente quando uma restrição PRIMARY KEY ou UNIQUE é definida em uma coluna. Índices exclusivos também podem ser criados explicitamente incluindo a palavra-chave UNIQUE na instrução CREATE INDEX.
89.What will happen when you specify the keyword BITMAP while creating an Index?
- Ele cria o índice com um bitmap para cada chave distinta.
- Não cria o índice em cada linha separadamente
- Ambos a e B
- Nenhuma das acima
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)
- Indexes
- Operador de conjunto UNION
- Operador de configuração MINUS
- Nenhuma das acima
Answer: A. Os índices são a melhor maneira de obter desempenho de consulta. Operações pesadas de E / S podem ser reduzidas e simplificadas usando varreduras de índice.
91.In what scenarios can Indexes be useful?
- Se a (s) mesa (s) forem muito grandes
- Se uma coluna tiver menos valores
- Se uma coluna contém um grande número de valores NULL
- Se uma coluna tiver uma ampla gama de valores
Answer: C, D.
92.The table EMPLOYEES is updated frequently. When can Indexes be created on this table? (Choose the most appropriate answer)
- Os índices não devem ser criados se uma tabela for atualizada com frequência
- Os índices devem ser criados no momento em que a tabela é criada
- Nem de A nem B
- Nenhuma das acima
Answer: A. As operações DML frequentes ou em massa em uma tabela com um índice adicionam uma sobrecarga de manutenção do segmento do índice, o que pode afetar o desempenho da operação 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;
Os índices existentes ajudarão neste caso se houver 1 milhão de linhas na tabela EMPLOYEES?
- Yes
- No
- Pode ajudar
- Nenhuma das acima
Answer: B. Os índices não são usados quando os predicados da consulta não contêm as colunas nas quais o índice é criado.
94.Which of the following will remove an Index?
DELETE FROM index_name;
DROP INDEX index_name;
DROP INDEX;
- Nenhuma das acima
Answer: B. Você deve ter o privilégio DROP ANY INDEX para eliminar um índice.