Baixe o app para aproveitar ainda mais
Prévia do material em texto
Gabarito da prova Programação e Desenvolvimento de Banco de Dados Questão 1 Analise o trecho de código SQL a seguir, que realiza a criação de uma tabela. CREATE TABLE convidados ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(30) NOT NULL, sobrenome VARCHAR(30) NOT NULL, email VARCHAR(50), data_reg DATETIME, nascimento DATE ); Sobre este código, assinale a alternativa correta. A) "id" é um nome de campo inválido, visto que é chave primária, e por isso deve ser declarado em caixa-alta. B) O script não será executado, pois não foi especificado um tamanho para o atributo do tipo DATETIME. C) O campo id é chave estrangeira e tem seu comprimento em até 6 dígitos. D) Os campos "email" e "data_reg" não podem armazenar valores nulos. E) A cláusula AUTO_INCREMENT designa que este campo seja automaticamente preenchido pelo SGBD e incrementado a cada inserção de registro. Questão 2 Considere um banco de dados de uma biblioteca, que relaciona alunos, livros emprestados e restrições de empréstimo, e analise as duas tabelas extraídas deste banco: Assinale a alternativa que apresenta uma consulta em que seja possível encontrar o nome de todos os alunos que efetuaram empréstimos, mas que estão com restrição para locar novos livros. A) SELECT aluno.nome FROM aluno WHERE restrição.aluno_RA IN (SELECT aluno_RA FROM restrição); B) SELECT nome FROM aluno INNER JOIN restricao WHERE aluno.RA IN (SELECT aluno_RA FROM restrição); C) SELECT aluno.nome FROM aluno WHERE aluno.RA IN (SELECT aluno_RA FROM restrição); D) SELECT aluno.nome FROM aluno WHERE aluno.RA NOT IN (SELECT aluno_RA FROM restrição); E) SELECT aluno.nome FROM restrição WHERE aluno.RA IN (SELECT aluno_RA FROM aluno); Questão 3 Considere o seguinte conjunto de instruções SQL: INSERT – insere dados em uma tabela. UPDATE – atualiza os dados existentes em uma tabela. DELETE – exclui registros de uma tabela. Este conjunto de instruções pertence a qual subconjunto da linguagem SQL? A) Linguagem de Definição de Dados (DDL) B) Linguagem de Controle de Dados (DCL) C) Linguagem de Transação de Dados (DTL) D) Linguagem de Consulta a Dados (DQL) E) Linguagem de Manipulação dos Dados (DML) Questão 4 Segundo Date (2012), para que uma transação feita no banco de dados possa ser revertida, é possível utilizar o recurso de ROLLBACK para retornar ao estado anterior da transação. Considere a tabela "Produto" em um banco de dados: Codigo Nome Preço 1 Lapiseira 15.99 2 Caneta 10.00 3 Lápis 5.98 Agora anlise os scripts a seguir: SET AUTOCOMMIT=0; SAVEPOINT pontoRestaura; ALTER TABLE Produto CHANGE Preço PreçoProd VARCHAR(30) NOT NULL; ROLLBACK TO SAVEPOINT pontoRestaura; Após a execução de todos estes comandos, assinale a alternativa correta a respeito do que ocorreu no banco: A) O controle de transação foi alterado para modo automático por meio do comando "SET AUTOCOMMIT=0;". B) Após a execução do comando "ROLLBACK TO SAVEPOINT pontoRestaura;", o nome da terceira coluna ficou como "Preço". C) Logo após executar o comando "ALTER TABLE Produto CHANGE Preço PreçoProd VARCHAR(30) NOT NULL;" e reiniciar o servidor de banco de dados, o nome da terceira coluna estará definido como "Preço". D) Após a execução do comando "ROLLBACK TO SAVEPOINT pontoRestaura;", será gerado um erro e o nome da terceira coluna ficará definido como "PreçoProd". E) O comando "SAVEPOINT pontoRestaura;" está com a sintaxe incorreta. Questão 5 Considere a seguinte tabela, já preenchida em um banco de dados: A partir desta tabela, foram executadas as seguintes instruções: I. SELECT COUNT(Valor) FROM Veiculos; II. SELECT COUNT( DISTINCT MARCA) FROM Veiculos; III. SELECT COUNT(Modelo) FROM Veiculos; Assinale a alternativa que apresenta CORRETAMENTE os valores de saída, respectivamente: A) 11 – 12 – 12. B) 12 – 11 – 11. C) 1 – 5 – 12. D) 9 – 12 – 5. E) 11 – 5 – 12. Questão 6 Na matemática é possível estabelecer algumas operações de conjuntos, como união, intersecção, diferença e complementar. E estas operações estão presentes em diversas áreas, inclusive em banco de dados. Com base em seus conhecimentos sobre teoria de conjuntos e subconsultas banco de dados, analise a afirmativa a seguir e assinale a alternativa que complete as lacunas corretamente. A técnica de __________________ de conjuntos em bancos de dados possibilita que um grupo de dados seja criado, permitindo, posteriormente, trabalhar a relação sobre eles. Com isso, o desenvolvedor pode efetuar subconsultas aninhadas e comparar os conjuntos de dados, utilizando-se condições (____________). Para que isso ocorra à sintaxe disponível no SQL, necessita que seja inserida a palavra ____________ em conjunto com os operadores matemáticos =, <>, <, <=, > e >=. A) Intersecção – FROM – WHERE. B) comparação – WHERE – SOME. C) comparação – SOME – ELSE. D) comparação – FROM – WHERE. E) intersecção – WHERE – SOME. Questão 7 Um recurso muito utilizado nos dias de hoje é criação de nuvens de palavras, a partir da busca das palavras mais citadas/comentadas/utilizadas em determinado local ou sistema. Isto é muito utilizado para tomadas de decisões. Este tipo de recurso tem como intuito fazer a seleção de uma palavra específica em um texto longo. Analogamente, assinale o recurso SQL que possa ser utilizado de forma similar em um banco de dados. A) FULLTEXT. B) FUNCTIONS. C) PROCEDURES. D) VIEW. E) INDEX. Questão 8 Observe os comandos disponíveis a seguir. SET AUTOCOMMIT=0; CREATE TABLE q ( Col_1 INT, Col_2 VARCHAR(3), Col_3 DECIMAL(3 , 1 ) ); INSERT q VALUES (1, "ABC", 41.5), (10, "DEF", 15.4), (100, "GHI", 54.1); SAVEPOINT q1; DELETE FROM q WHERE Col_1 = 100; COMMIT; Assinale a alternativa correta com relação à utilização dos comandos a seguir: /*Comando 1*/ ROLLBACK TO SAVEPOINT q1; /*Comando 2*/ SELECT * FROM q; A) Comando 1: retorna o SAVEPOINT "Query OK"; Comando 2: retorna apenas dois registros. B) Comando 1: retorna que o SAVEPOINT não existe; Comando 2: retorna apenas três registros. C) Comando 1: retorna do SAVEPOINT a mensagem "Query OK"; Comando 2: retorna apenas três registros. D) Comando 1: retorna que o SAVEPOINT não existe; Comando 2: retorna apenas dois registros. E) Comando 1: gera um erro de sintaxe; Comando 2: retorna um erro de sintaxe. Questão 9 Assinale a alternativa com os comandos corretos para a criação do seguinte banco de dados: Banco de dados "mydb", com o CHARSET definido como UTF-8 e COLLATION "utf8_general_ci". A) CREATE SCHEMA mydb DEFAULT CHARSET = utf8, DEFAULT COLLATE = utf8_general_ci; B) CREATE SCHEMA mydb DEFAULT CHARSET utf8, DEFAULT COLLATE utf8_general_ci; C) CREATE mydb CHARSET = utf8 COLLATE = utf8_general_ci; D) CREATE DATABASE mydb; DEFAULT CHARSET = utf8; DEFAULT COLLATE = utf8_general_ci; E) CREATE DATABASE mydb DEFAULT CHARSET = utf8 DEFAULT COLLATE = utf8_general_ci; Questão 10 Um DBA desenvolveu um banco de dados para a empresa que trabalha, e criou um comando para inserir os seguintes dados na tabela "abc": INSERT INTO tabela(x,y,z) VALUES (10, 'Z', 'sim'), (20, 'W', 'sim'), (30, 'X', 'nao'), (50, 'H', 'nao'); Em seguida o DBA executou os comandos a seguir: /*Primeiro Script*/ SELECT x, y, z FROM tabela WHERE z NOT IN (SELECT z FROM tabela WHERE z <> "sim"); /*Segundo Script*/ SELECT x, y, z FROM tabela WHERE z NOT IN (SELECT z FROM tabela where z <> "SIM" OR "NAO"); /*Terceiro Script*/ SELECT x, y, z FROM tabela WHERE z NOT IN (SELECT z FROM tabela where z <> "Nao"); Com basenessas informações, assinale a alternativa que representa as saídas corretamente. A) Primeiro Script: (10, Z, Sim), (20, W, Sim); Segundo Script: (10, Z, Sim), (20, W, Sim); Terceiro Script: (30, X, Não), (50, H, Não). B) Primeiro Script: (10, Z, Sim), (20, W, Sim); Segundo Script: (30, X, Não), (50, H, Não); Terceiro Script: (30, X, Não), (50, H, Não). C) Primeiro Script: (30, X, Não), (50, H, Não); Segundo Script: (30, X, Não), (50, H, Não); Terceiro Script: (10, Z, Sim), (20, W, Sim). D) Primeiro Script: (10, Z, Sim), (20, W, Sim); Segundo Script: (30, X, Não), (50, H, Não); Terceiro Script: Empty set, 4 warnings. E) Primeiro Script: (10, Z, Sim), (20, W, Sim); Segundo Script: Empty set, 2 warnings; Terceiro Script: Empty set, 2 warnings. Questão 11 Considere duas tabelas criadas conforme o código SQL a seguir: CREATE TABLE Categoria( Id INT(3) PRIMARY KEY AUTO_INCREMENT, Nome VARCHAR(50) NOT NULL ); CREATE TABLE Produto( Codigo INT(3) PRIMARY KEY AUTO_INCREMENT, Nome VARCHAR(50) NOT NULL, Valor DECIMAL(6, 2) NOT NULL, Id_Categoria INT(3) NOT NULL, FOREIGN KEY (Id_Categoria) REFERENCES Categoria(Id) ); Se quisermos efetuar uma consulta que nos retorne o nome da categoria e seus respectivos nomes dos produtos, deve ser utilizado o seguinte comando: SELECT Categoria.nome, Produto.nome FROM Categoria ____________ Produto ON ____________ = ____________; Assinale a alternativa que completa as lacunas corretamente, para que o comando seja executado e retorne a consulta desejada. A) RIGHT JOIN / Categoria.Id / Produto.Id_Categoria B) INNER JOIN / Id / Id_Categoria C) RIGHT JOIN / Categoria.Id / Id_Categoria D) LEFT JOIN / Id / Id_Categoria E) INNER JOIN / Categoria.Id / Produto.Id_Categoria Questão 12 Na ____________ temos um grupo de comandos padrão SQL (Structure Query Language) que permite a inserção e manutenção dos dados. Os comandos básicos são os seguintes: INSERT, UPDATE e DELETE. Assinale a alternativa que preenche corretamente a lacuna. A) Linguagem de Controle de Dados (DCL) B) Linguagem de Definição de Dados (DDL) C) Linguagem de Manipulação de Dados (DML) D) Linguagem de Transação de Dados (DTL) E) Linguagem de Consulta de Dados (DQL)
Compartilhar