Baixe o app para aproveitar ainda mais
Prévia do material em texto
1a Questão É responsável por garantir a Integridade Referencial: Chave Estrangeira Chave Secundária Chave de Atributo Chave Primária Chave Candidata 2a Questão Analise as afirmações a seguir, relativas ao conceito de chave primária: i. Pode ser composta por um ou vários atributos. ii. Não admite duplicidade de valores, exceto no caso de valores nulos. iii. Deve ser definida durante a construção do modelo de E-R. Marque a alternativa correta (apenas uma opção) Apenas as afirmações I e III são verdadeiras. As afirmações II e III são falsas. Apenas as afirmações II e III são verdadeiras. As afirmações I e II são falsas. Todas as afirmações são verdadeiras. Gabarito Coment. 3a Questão [Concurso: MPE-AL ¿ Técnico do Ministério Público -Geral, 2018] O conjunto de programas responsável pelo gerenciamento de uma base de dados e que, entre outras funções, suporta uma linguagem de consulta, gera relatórios e disponibiliza uma interface para que os seus clientes possam incluir, alterar ou consultar dados, é chamado de Sistema de Suporte à Decisão (SSD). Sistema Gerenciador de Bancos de Dados (SGBD). Dicionário de Dados (DD). Modelo Entidade Relacionamento (MER). Banco de Dados Relacional (BDR). Explicação: O SGBD é um sistema de software de uso geral que facilita o processo de definição, construção, manipulação e compartilhamento de banco de dados entre diversos usuários e aplicações. 4a Questão Uma chave candidata é: uma coluna ou uma combinação de colunas, cujos valores aparecem necessariamente na chave primária de uma tabela. um conjunto de valores que cada atributo, definido no esquema, assume em um determinado instante, formando o conjunto de tuplas. um grupo de valores atômicos a partir dos quais um ou mais atributos (ou colunas) retiram seus valores reais. uma ou mais colunas que identificam univocamente a relação, porém não fazem parte da chave primária. um conjunto de atributos que descrevem as características dos elementos a serem modelados. 5a Questão Considere o esquema de banco de dados ilustrado na figura abaixo em que as chaves primárias estão sublinhadas. Podemos afirmar que a coluna cod_curso da tabela Aluno é _____________ da tabela Curso na coluna cod_curso. Assinale a alternativa que contém a sentença que completa a frase acima: Chave primária Super Chave Chave estrangeira Chave candidata Chave Gabarito Coment. 6a Questão Em qualquer modelo de dados utilizado, é importante distinguir a "descrição" do banco de dados do "banco de dados" por si próprio. Analise as afirmações a seguir: I. Os dados armazenados em um banco de dados em um determinado instante do tempo formam um conjunto chamado de "esquema de um banco de dados". II. A instância altera toda vez que uma alteração no banco de dados é feita. III. O SGBD é responsável por garantir que toda instância do banco de dados satisfaça ao esquema do banco de dados, respeitando sua estrutura e suas restrições. É correto apenas o que se afirma em II II e III III I I e II Explicação: A afirmativa I está incorreta uma vez que os dados armazenados em um banco de dados em um determinado instante do tempo formam um conjunto chamado de "instância do banco de dados". Já a descrição do banco de dados é chamada de esquema de um banco de dados. 7a Questão Analise as seguintes afirmações: "(1) A restrição de integridade referencial diz que chave primária em uma relação não pode ter seu valor nulo PORQUE (2) esta chave identifica as tuplas da relação" Podemos afirmar: As duas afirmações são verdadeiras e a primeira não justifica a segunda. A primeira afirmação é verdadeira e a segunda é falsa. As duas afirmações são falsas. A primeira afirmação é falsa e a segunda é verdadeira. As duas afirmações são verdadeiras e a primeira justifica a segunda. Gabarito Coment. 8a Questão Em banco de dados, todo método de controle de concorrência deve evitar anomalias de sincronização. Essas anomalias estão relacionadas a: I - perda da consistência do banco. II - acesso via ODBC. III - acesso a dados inconsistentes. IV - consulta recursiva. V - perda de atualizações. Estão certos apenas os itens I, II e IV. I, IV e V. I, III e V. II, III e IV. II, III e V. 1a Questão Sejam as relações: T1 = nome ((sexo="FEMININO") and (salário>1500) (EMPREGADO)) T2 = nome (dept=5 (EMPREGADO)) A relação T3 = T1 - T2 conterá: Nome de todas mulheres que ganham mais do que 1500 ou estão lotadas no departamento 5. Nome de todas mulheres que ganham mais do que 1500 e não estão lotadas no departamento 5. Nome de todas mulheres que ganham 1500 e estão lotados no departamento 5. Nome de todas mulheres que ganham mais do 1500 Nome de todas mulheres que ganham mais do que 1500 e estão lotadas no departamento 5. Gabarito Coment. 2a Questão A partir da tabela abaixo, identifique a expressão, em álgebra relacional, que permite listar a matrícula dos funcionários do setor de Projetos: π setor = "Projetos" (σ matricula (Funcionarios_ste)) π Funcionarios_ste (σ matricula, setor = "Projetos") σ matricula (π setor = "Projetos" (Funcionarios_ste)) σ setor = "Projetos" (Funcionarios_ste) π matricula (σ setor = "Projetos" (Funcionarios_ste)) 3a Questão Considere as relações: ALUNO (matriculaluno, nomealuno, endereço, telefone) CURSA (matricula, codigo) matricula REFERENCIA matriculaluno em ALUNO codigo REFERENCIA codigodisciplina em DISCIPLINA DISCIPLINA (codigodisciplina, nomedisciplina, creditos) A consulta em álgebra relacional que responde a questão "Quais os alunos (nome e matrícula) que cursam a disciplina com código CCT0199" está corretamente representada em: matriculaaluno, nomealuno (ALUNO matriculaluno = ⋈matricula DISCIPLINA) matriculaaluno, nomealuno (CURSA matriculaluno = ⋈matricula DISCIPLINA) matriculaluno, nomealuno (ALUNO matriculaluno = ⋈matricula (codigo = CCT0199 (CURSA))) matriculaaluno, nomealuno (ALUNOmatriculaluno = ⋈matricula (codigo = CCT0199 (DISCIPLINA))) Não existe consulta que reponda a questão 4a Questão Considere a relação: FILME (nome, diretor, tempoduracao, genero, ano) A consulta em álgebra relacional que retorna o nome e o ano de todos os filmes de ação com tempo de duração entre 120 e 180 minutos. nome, ano ((genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) nome, ano ((genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) nome, ano ((genero = "ação" OR tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) nome, ano ((genero = "ação" AND tempoduracao >= 120 OR tempoduracao <= 180) (FILME) ) nome, ano ((genero = "ação" AND tempoduracao = 120) (FILME) ) Gabarito Coment. 5a Questão Em relação a álgebra linear é correto afirmar que: I - A operação de projeção é aplicada sobre apenas uma relaçãovisando selecionar um subconjunto de tuplas (com todos os seus atributos). II O produto cartesiano é uma operação binária que combina todas as tuplas de duas tabelas. III - A operação de seleção é aplicada sobre apenas uma relação de visando projetar os atributos de uma relação de acordo com uma lista de atributos oferecida. Estão corretas: I e III Somente a II Somente III II e III Somente I Gabarito Coment. 6a Questão Considere as relações: PROFESSOR (matriculaprf, nomeprf, titulacao, anoadmissao) MINISTRA (matricula, codigo) matricula REFERENCIA matriculaprf em PROFESSOR codigo REFERENCIA codigodisciplina em DISCIPLINA DISCIPLINA (codigodisciplina, nomedisciplina, creditos) A consulta em álgebra relacional que responde a questão "Quem são os professores (nome e matrícula) que ministram a disciplina Implementação de Bancos de Dados" está corretamente representada em: matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (MINISTRA codigo = ⋈codigodisciplina(nomedisciplina = "Implementação de Bancos de Dados" (DISCIPLINA))) Não existe consulta que responda a esta questão. matriculaprf, nomeprf (PROFESSORmatriculaprf = ⋈matricula MINISTRA) matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (MINISTRAcodigo = ⋈codigodisciplina(DISCIPLINA))) matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (nomedisciplina = "Implementação de Bancos de Dados" (DISCIPLINA)) Gabarito Coment. 7a Questão De acordo com a tabela a seguir, como fica a instrução de seleção para recuperarmos os funcionários possuem ID maior do que 102, trabalham no Departamento 10 e ganham mais de R$ 2.000,00 de Salário? ID > 102 E id_Depto = 10 E Salario > 2000 (Empregado) ID > 102 OU id_Depto = 10 OU Salario > 2000 (Empregado) ID = 102 OU id_Depto = OU E Salario > 2000 (Empregado) ID = 102 E id_Depto = 10 E Salario > 2000 (Empregado) ID > 102 OU id_Depto = 10 E Salario > 2000 (Empregado) 8a Questão Uma linguagem de consulta procedural, onde o objetivo fundamental é permitir a escrita de expressões relacionais é denominada de álgebra relacional. Com suas operações fundamentais é possível exprimir qualquer consulta nesta linguagem. Sendo assim, para apresentar os dados de acordo com a tabela abaixo, marque a alternativa correta que descreve a álgebra a ser utilizada. Produto.Nome Produto.Qualidade Estoque.Qtde Laranja 1 100 Laranja 2 150 Uva 1 200 Uva 2 130 Trigo 2 240 Pêssego 1 260 Pêssego 2 190 σProduto.Cod_Prod = Estoque.Cod_Prod(πNome, Qualidade, Qtde) πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque)) πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod) πNome, Qualidade, Qtde σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque) 1a Questão Assinale a opção que possui o comando CREATE TABLE que cria corretamente a tabela "Alunos", segundo o seguinte esquema de banco de dados: Alunos(matricula, nome, endereco, cod_curso) Cursos(codigo, nome) Admitindo que os campos "matricula" e "codigo" são chaves primárias de suas tabelas e que o campo "cod_curso" é chave estrangeira da tabela "Cursos" na tabela "Alunos". create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (matricula), constraint fk_alunos_cursos foreign key (codigo) references Cursos(cod_curso) ) create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (matricula), constraint fk_alunos_cursos foreign key (cod_curso) references Cursos(codigo) ) create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint fk_alunos_cursos foreign key (cod_curso) references Cursos(codigo) ) create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (nome), constraint fk_alunos_cursos foreign key (cod_curso) references Cursos(codigo) ) create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (matricula) ) 2a Questão Representa a linguagem de manipulação de dados: DML TDL DCL DRL DDL 3a Questão Na figura é exibida a estrutura da tabela TCC. Deseja-se realizar uma mudança nesta tabela que não permita o cadastro de um TCC contendo o mesmo título que um TCC já cadastrado previamente. Assinale qual a alternativa abaixo realiza esta mudança corretamente: ALTER TABLE TITULO ADD UNIQUE(TCC); ALTER TABLE TCC ADD UNIQUE(TITULO); ALTER TABLE TCC CHANGE TITULO (UNIQUE); ALTER TABLE TCC ADD TITULO (UNIQUE); ALTER TABLE TCC CHANGE UNIQUE(TITULO); Gabarito Coment. 4a Questão Ano: 2010 - Banca: ESAF - Órgão: MPOG - Prova: Analista de Planejamento e Orçamento - Tecnologia da Informação Em uma SQL a Linguagem de Manipulação de Relacionamentos compreende os comandos para construir tabelas em um banco de dados. os comandos básicos da Linguagem de Definição de Dados são Select, Insert, Update e Delete. a Linguagem de Definição de Dados fornece tabelas para criação e modificação de comandos. a Linguagem de Manipulação de Dados compreende os comandos para inserir, remover e modificar informações em um banco de dados. os comandos básicos da Linguagem de Definição de Dados são Sort, Insert, Undo e Store. 5a Questão Qual o efeito da seguinte instrução no banco de dados? DELETE FROM tabela Exclui o banco de dados inteiro Exclui todas as linhas da tabela Exclui todas as colunas da tabela Exclui a primeira linha da tabela Exclui a tabela do banco de dados Gabarito Coment. 6a Questão Para excluir tuplas de uma tabela devemos utilizar? INSERT DELETE SELECT UPDATE DROP 7a Questão Como ficaria o comando SQL para criar a tabela a seguir? CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL, QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) ) CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) ) CREATE TABLE X_PROD ( CODIGO VARCHAR2(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) ) CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) ) CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL, QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) ) Gabarito Coment. Gabarito Coment. 8a Questão Para incluir a tupla mostrada abaixo na tabela PACIENTE executaríamos o seguinte comando: INSERT INTO paciente (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); INSERT INTO paciente VALUES (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); ADDINTO paciente VALUES (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); INSERT INTO paciente SET (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); ADD INTO paciente SET (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 1a Questão O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program- shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263 Características do esquema: Chave primária sublinhada e chave estrangeira em itálico. Seguem algumas tabelas do Esquema: Espécie (IDEspécie, IDOrdem. Nome_Científico, TamMaior, TamMenor, TamMédio) Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo) Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua) Local (IDLocal, CodArea, NomeLocal) Area (CodArea, NomeArea) Sabendo-se que um metro possui 39,3700787 polegadas, assinale a alternativa correto abaixo que consulta a data da captura, a temperatura da água e o comprimento do tubarão convertido em polegadas com o título Polegadas: SELECT DATA, TEMPAGUA, COMPRIMENTO * 39.3700787 Polegadas FROM TUBARÃO T, CAPTURA C; SELECT DATA, TEMPAGUA, (COMPRIMENTO * 39,3700787) Polegadas FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO; SELECT DATA, TEMPAGUA, COMPRIMENTO * 39,3700787 Polegadas FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO; SELECT DATA, TEMPAGUA, COMPRIMENTO * 39.3700787 Polegadas FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO; SELECT DATA, TEMPAGUA, "COMPRIMENTO * 39,3700787" Polegadas FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO; Gabarito Coment. 2a Questão O comando SELECT FROM WHERE corresponde as seguintes operações da álgebra relacional: Projeção e União Seleção e Diferença Seleção e Junção União e Interseção Seleção e Projeção Gabarito Coment. 3a Questão O esquema abaixo refere-se a um banco de dados criado para auxiliar na gerência de orientação de alunos por professores e da defesa do Trabalho de Conclusão de Curso (TCC) pelos alunos. Analise-o: Professor (MatP,NomeP, telP, emailP) Aluno (MatA, MatP, NomeA, emailA) TCC (IDTCC, MatA, Titulo, Resumo) Assinale a única alternativa que retorna exatamente os dados exibidos na figura: SELECT NOMEP PROFESSOR, NOMEA ALUNO, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA; SELECT NOMEP, NOMEA, TITULO FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA; SELECT NOMEP PROFESSOR, NOMEA ALUNO, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP; SELECT NOMEA ALUNO, NOMEP PROFESSOR, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA; SELECT NOMEA ALUNO, NOMEP PROFESSOR, TITULO FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA; Gabarito Coment. 4a Questão De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para: Apresentar apenas os nomes completos dos Empregados que trabalhem nos Departamentos 11, 21, 22, 31, 42 ou 51. SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51); SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51); SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51); SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51); SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO =11 AND ID_DEPTO =21 AND ID_DEPTO =22 AND ID_DEPTO =31 AND ID_DEPTO =42 AND ID_DEPTO =51; Gabarito Coment. 5a Questão Ao selecionar os dados de uma tabela, para visualização ou outra necessidade podemos restringir o seu espectro de visualização utilizando a cláusula: ORDER FROM UP WHERE UNTIL Gabarito Coment. Gabarito Coment. 6a Questão Observe a tabela R: Qual será o resultado da consulta: SELECT X FROM R WHERE Y is null; 5 4 e null null e 5 1 e 5 1 e 4 7a Questão Os operadores aritméticos, lógicos e de comparação são usados em consultas SQL para? Criar novas consultas. Não é utilizado em Banco de Dados. Para excluir dados por um procedimento no banco. Fazer uma atualização de dados mais precisa. Realizar tarefas como somar ou agrupar valores, comparar valores. Gabarito Coment. Gabarito Coment. 8a Questão De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para: Apresentar apenas os nomes completos dos Empregados que tenham no cargo a palavra "venda". SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE UPPER(CARGO) LIKE '%venda%' ; SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE UPPER(CARGO) LIKE '%VENDA%' ; SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE CARGO LIKE '%VENDA%' ; SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE UPPER(CARGO) LIKE '%VENDA%' ; SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE CARGO LIKE '%VENDA%' ; Exercício: CCT0768_EX_A5_201702138501_V1 01/04/2019 (Finaliz.) Aluno(a): LUIZ ADOLFO TUCUNDUVA 2019.1 EAD Disciplina: CCT0768 - IMPLEMENTAÇÃO DE BANCO DE DADOS 201702138501 1a Questão Considere a seguinte consulta SQL: SELECT nome, count(*) FROM aluno GROUP BY nome Esta consulta tem como resultado. todos os atributos da tabela nome, além do atributo especial Count. o atributo nome e a soma do conteúdo do atributo nome, da tabela aluno. o atributo nome e o número de registros existentes para cada nome, na tabela nome. o atributo nome e o número de registros existentes para cada nome, da tabela aluno. todos os atributos das tabelas nome e aluno. Gabarito Coment. 2a Questão De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para: Apresentar os primeiros nomes, o salário e a data de admissão dos Empregados que ganham acima de R$ 1.000,00 em ordem Crescente de Salário e de Data de Admissão. SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY DESC SALARIO, ASC DT_ADMISSAO; SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY ASC SALARIO, DESC DT_ADMISSAO; SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY ASC SALARIO, ASC DT_ADMISSAO; SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY SALARIO, DT_ADMISSAO; SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY SALARIO DESC, DT_ADMISSAO DESC; 3a Questão UM recurso do comando SELECT é a possibilidade de agruparmos nossos dados. Para isso usamos a cláusula: ORDER BY JOIN SUM GROUPBY ORDER Gabarito Coment. 4a Questão O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control- program-shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263 Características do esquema: Chave primária sublinhada e chave estrangeira em itálico. Seguem algumas tabelas do Esquema: Ordem (IDOrdem, NomeOrdem) Espécie (IDEspécie, IDOrdem. Nome_Científico, TamMaior, TamMenor, TamMédio) Esp_País (IDEspécie, CodPaís) País (CodPaís, NomePaís) Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo) Assinale qual das alternativas abaixo representa uma consulta que retorna a quantidade de espécies de tubarões encontradas no Brasil cuja coluna é nomeada de QTD: SELECT COUNT(*) QTD FROM ESPÉCIE E, PAÍS P WHERE E.IDESPECIE = P.IDESPÉCIE AND NOMEPAÍS = 'Brasil'; SELECT COUNT(*) QTD FROM ESPÉCIE E, ESP_PAÍS EP, PAÍS P WHERE E.IDESPECIE = EP.IDESPÉCIE AND EP.CODPAÍS = P.CODPAÍS AND NOMEPAÍS = "Brasil"; SELECT COUNT(*) QTD FROM ESPÉCIE E, ESP_PAÍS EP, PAÍS P WHERE E.IDESPECIE = EP.IDESPÉCIE AND EP.CODPAÍS = P.CODPAÍS AND NOMEPAÍS = 'Brasil'; SELECT COUNT(*) QTD FROM ESPÉCIE E, ESP_PAÍS P,PAÍS P WHERE NOMEPAÍS = 'Brasil'; SELECT COUNT(*) QTD FROM ESPÉCIE E, PAÍS P WHERE NOMEPAÍS = "Brasil"; 5a Questão Qual será o resultado da consulta SQL SELECT COUNT(*) FROM pecas WHERE cor='Vermelho' ao ser aplicada na tabela peças? 4 0 1 3 2 6a Questão Observe a tabela abaixo, referente a um banco de dados empresa: Para gerar uma consulta SQL com todos os atributos, classificados por NOME_PACIENTE, deve-se utilizar o seguinte comando: SELECT * FROM PACIENTE DESC NOME_PACIENTE; SELECT * OVER PACIENTE ORDER BY NOME_PACIENTE; SELECT * FROM PACIENTE ASC NOME_PACIENTE; SELECT * FROM PACIENTE ORDER BY NOME_PACIENTE; SELECT * OVER PACIENTE ASC NOME_PACIENTE; Gabarito Coment. 7a Questão Dentre as opções a seguir, qual não é uma função de grupo? MAX(x) AVG (x) SUM(x) CONT(*) MED(X) Gabarito Coment. 8a Questão Quando desejamos selecionar o maior e o menor valor de um atributo numérico usamos: SUM MIN, MAX MAIOR, MENOR AVG COUNT 1a Questão Analise as seguintes afirmações: "(1) O valor de uma chave estrangeira só pode ser inserido em uma tabela se já existe na tabela onde é chave primária PORQUE (2) esta restrição garante a integridade referencial." Podemos afirmar: As duas afirmações são falsas. A primeira afirmação é verdadeira e a segunda é falsa. A primeira afirmação é falsa e a segunda é verdadeira. As duas afirmações são verdadeiras e primeira não justifica a segunda As duas afirmações são verdadeiras e primeira justifica a segunda. 2a Questão Uma chave candidata é: um conjunto de atributos que descrevem as características dos elementos a serem modelados. um conjunto de valores que cada atributo, definido no esquema, assume em um determinado instante, formando o conjunto de tuplas. um grupo de valores atômicos a partir dos quais um ou mais atributos (ou colunas) retiram seus valores reais. uma coluna ou uma combinação de colunas, cujos valores aparecem necessariamente na chave primária de uma tabela. uma ou mais colunas que identificam univocamente a relação, porém não fazem parte da chave primária. 3a Questão Considere o esquema de banco de dados ilustrado na figura abaixo em que as chaves primárias estão sublinhadas. Podemos afirmar que a coluna cod_curso da tabela Aluno é _____________ da tabela Curso na coluna cod_curso. Assinale a alternativa que contém a sentença que completa a frase acima: Chave primária Chave candidata Chave Chave estrangeira Super Chave Gabarito Coment. 4a Questão No modelo Relacional uma relação é uma tabela onde são armazenados dados. Podemos afirmar que as relações apresentam as seguintes características: I. Não há tuplas duplicadas em uma relação. II. Ordem das tuplas na relação é relevante para diferenciar as relações. III. Os valores dos atributos devem ser atômicos, não sendo divisíveis em componentes. É correto apenas o que se afirma em I e III III II II e III I Explicação: A afirmativa II é falsa, uma vez que a ordem não é relevante para diferenciar as relações. 5a Questão O entendimento dos modelos de banco de dados é fundamental para compreender as vantagens e desvantagens em aspectos de estrutura e manipulação dos dados. Um destes modelos utiliza tabelas bidimensionais para o armazenamento dos dados e a maneira como os dados são armazenados influencia na facilidade de acesso às informações, existindo técnicas de normalização para aperfeiçoar a organização. Trata-se do modelo relacional. orientado a objetos. hierárquico em rede distribuído. Gabarito Coment. 6a Questão Um atributo de uma tabela que é chave primária em alguma outra tabela é denominado: Chave simples Não existe atributo com esta característica Chave estrangeira Chave externa Chave candidata 7a Questão [Concurso: MPE-AL ¿ Técnico do Ministério Público -Geral, 2018] O conjunto de programas responsável pelo gerenciamento de uma base de dados e que, entre outras funções, suporta uma linguagem de consulta, gera relatórios e disponibiliza uma interface para que os seus clientes possam incluir, alterar ou consultar dados, é chamado de Dicionário de Dados (DD). Modelo Entidade Relacionamento (MER). Sistema de Suporte à Decisão (SSD). Banco de Dados Relacional (BDR). Sistema Gerenciador de Bancos de Dados (SGBD). Explicação: O SGBD é um sistema de software de uso geral que facilita o processo de definição, construção, manipulação e compartilhamento de banco de dados entre diversos usuários e aplicações. 8a Questão Analise as seguintes afirmações: "(1) A restrição de integridade referencial diz que chave primária em uma relação não pode ter seu valor nulo PORQUE (2) esta chave identifica as tuplas da relação" Podemos afirmar: As duas afirmações são verdadeiras e a primeira justifica a segunda. As duas afirmações são verdadeiras e a primeira não justifica a segunda. As duas afirmações são falsas. A primeira afirmação é falsa e a segunda é verdadeira. A primeira afirmação é verdadeira e a segunda é falsa. 1a Questão Em relação a álgebra relacional, o operador de _____________ permite combinar seleções e um produto cartesiano em uma só operação. Projeção Diferença Interseção Junção União 2a Questão A partir da tabela abaixo, identifique a expressão, em álgebra relacional, que permite listar a matrícula dos funcionários do setor de Projetos: σ matricula (π setor= "Projetos" (Funcionarios_ste)) σ setor = "Projetos" (Funcionarios_ste) π Funcionarios_ste (σ matricula, setor = "Projetos") π setor = "Projetos" (σ matricula (Funcionarios_ste)) π matricula (σ setor = "Projetos" (Funcionarios_ste)) 3a Questão Considere as relações: ALUNO (matriculaluno, nomealuno, endereço, telefone) CURSA (matricula, codigo) matricula REFERENCIA matriculaluno em ALUNO codigo REFERENCIA codigodisciplina em DISCIPLINA DISCIPLINA (codigodisciplina, nomedisciplina, creditos) A consulta em álgebra relacional que responde a questão "Quais os alunos (nome e matrícula) que cursam a disciplina com código CCT0199" está corretamente representada em: matriculaaluno, nomealuno (ALUNO matriculaluno = ⋈matricula DISCIPLINA) Não existe consulta que reponda a questão matriculaaluno, nomealuno (ALUNOmatriculaluno = ⋈matricula (codigo = CCT0199 (DISCIPLINA))) matriculaaluno, nomealuno (CURSA matriculaluno = ⋈matricula DISCIPLINA) matriculaluno, nomealuno (ALUNO matriculaluno = ⋈matricula (codigo = CCT0199 (CURSA))) 4a Questão Considere a relação: FILME (nome, diretor, tempoduracao, genero, ano) A consulta em álgebra relacional que retorna o nome e o ano de todos os filmes de ação com tempo de duração entre 120 e 180 minutos. nome, ano ((genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) nome, ano ((genero = "ação" AND tempoduracao >= 120 OR tempoduracao <= 180) (FILME) ) nome, ano ((genero = "ação" AND tempoduracao = 120) (FILME) ) nome, ano ((genero = "ação" OR tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) nome, ano ((genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) Gabarito Coment. 5a Questão Considere as relações: PROFESSOR (matriculaprf, nomeprf, titulacao, anoadmissao) MINISTRA (matricula, codigo) matricula REFERENCIA matriculaprf em PROFESSOR codigo REFERENCIA codigodisciplina em DISCIPLINA DISCIPLINA (codigodisciplina, nomedisciplina, creditos) A consulta em álgebra relacional que responde a questão "Quem são os professores (nome e matrícula) que ministram a disciplina Implementação de Bancos de Dados" está corretamente representada em: Não existe consulta que responda a esta questão. matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (nomedisciplina = "Implementação de Bancos de Dados" (DISCIPLINA)) matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (MINISTRA codigo = ⋈codigodisciplina(nomedisciplina = "Implementação de Bancos de Dados" (DISCIPLINA))) matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (MINISTRAcodigo = ⋈codigodisciplina(DISCIPLINA))) matriculaprf, nomeprf (PROFESSORmatriculaprf = ⋈matricula MINISTRA) Gabarito Coment. 6a Questão De acordo com a tabela a seguir, como fica a instrução de seleção para recuperarmos os funcionários possuem ID maior do que 102, trabalham no Departamento 10 e ganham mais de R$ 2.000,00 de Salário? ID > 102 OU id_Depto = 10 E Salario > 2000 (Empregado) ID > 102 OU id_Depto = 10 OU Salario > 2000 (Empregado) ID = 102 E id_Depto = 10 E Salario > 2000 (Empregado) ID = 102 OU id_Depto = OU E Salario > 2000 (Empregado) ID > 102 E id_Depto = 10 E Salario > 2000 (Empregado) 7a Questão Sejam as relações: T1 = nome ((sexo="FEMININO") and (salário>1500) (EMPREGADO)) T2 = nome (dept=5 (EMPREGADO)) A relação T3 = T1 - T2 conterá: Nome de todas mulheres que ganham mais do 1500 Nome de todas mulheres que ganham 1500 e estão lotados no departamento 5. Nome de todas mulheres que ganham mais do que 1500 ou estão lotadas no departamento 5. Nome de todas mulheres que ganham mais do que 1500 e não estão lotadas no departamento 5. Nome de todas mulheres que ganham mais do que 1500 e estão lotadas no departamento 5. Gabarito Coment. 8a Questão Em relação a álgebra linear é correto afirmar que: I - A operação de projeção é aplicada sobre apenas uma relação visando selecionar um subconjunto de tuplas (com todos os seus atributos). II O produto cartesiano é uma operação binária que combina todas as tuplas de duas tabelas. III - A operação de seleção é aplicada sobre apenas uma relação de visando projetar os atributos de uma relação de acordo com uma lista de atributos oferecida. Estão corretas: Somente III I e III Somente I II e III Somente a II 1a Questão São comandos da categoria de Definição de Dados (DDL): INSERT / UPDATE / DELETE SELECT GRANT / REVOKE CREATE / ALTER / DROP COMMIT / ROLLBACK 2a Questão Durante a criação de uma tabela, é detectada a necessidade de se definir um atributo de texto que armazenará dados com tamanhos entre 2000 e 3000 caracteres. Qual é o tipo adequado a ser usado este atributo neste caso? LONG CHAR(tam) LONG RAW RAW(tam) VARCHAR2(tam) 3a Questão Considere o esquema abaixo: PROFESSOR (matriculaprf, nomeprf, titulacao, anoadmissao) MINISTRA (matricula, codigo) matricula REFERENCIA matriculaprf em PROFESSOR codigo REFERENCIA codigodisciplina em DISCIPLINA DISCIPLINA (codigodisciplina, nomedisciplina, creditos) Os comandos SQL apresentam todos os elementos necessários para a sua criação estão representados em: CREATE TABLE PROFESSOR ( MATRICULAPRF NUMBER (5) NOT NULL, NOMEPRF VARCHAR(20) NOT NULL, TITULACAO VARCHAR (15) NOT NULL, ANOADMISSAO VARCHAR (4) NOT NULL); CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA VARCHAR (5) NOT NULL,NOMEDISCIPLINA VARCHAR(20) NOT NULL, CREDITOS NUMBER (2) NOT NULL); CREATE TABLE MINISTRA (MATRICULA NUMBER (5) NOT NULL, CODIGO VARCHAR (5) NOT NULL); CREATE TABLE PROFESSOR ( MATRICULAPRF NOT NULL,NOMEPRF NOT NULL, TITULACAO NOT NULL, ANOADMISSAO NOT NULL, PRIMARY KEY (MATRICULAPRF)); CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA NOT NULL,NOMEDISCIPLINA NOT NULL, CREDITOS NOT NULL, PRIMARY KEY (CODIGODISCIPLINA)); CREATE TABLE MINISTRA (MATRICULA NOT NULL, CODIGO NOT NULL, PRIMARY KEY (MATRICULA, CODIGO), FOREIGN KEY MATRICULA REFERENCES PROFESSOR (MATRICULAPRF), FOREIGN KEY CODIGO REFERENCES DISCIPLINA (CODIGODISCIPLINA)); CREATE TABLE PROFESSOR ( MATRICULAPRF NUMBER (5) NOT NULL,NOMEPRF VARCHAR(20) NOT NULL, TITULACAO VARCHAR (15) NOT NULL, ANOADMISSAO VARCHAR (4) NOT NULL, PRIMARY KEY (MATRICULAPRF)); CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA VARCHAR (5) NOT NULL, NOMEDISCIPLINA VARCHAR(20) NOT NULL, CREDITOS NUMBER (2) NOT NULL, PRIMARY KEY (CODIGODISCIPLINA)); CREATE TABLE MINISTRA (MATRICULA NUMBER (5) NOT NULL, CODIGO VARCHAR (5), PRIMARY KEY (MATRICULA, CODIGO)); CREATE TABLE PROFESSOR ( MATRICULAPRF NUMBER(5) NOT NULL,NOMEPRF VARCHAR(20) NOT NULL, TITULACAO VARCHAR (15) NOT NULL, ANOADMISSAO VARCHAR (4) NOT NULL, PRIMARY KEY (MATRICULAPRF)); CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA VARCHAR (5) NOT NULL,NOMEDISCIPLINA VARCHAR(20) NOT NULL, CREDITOS NUMBER (2) NOT NULL, PRIMARY KEY (CODIGODISCIPLINA)); CREATE TABLE MINISTRA (MATRICULA NUMBER (5) NOT NULL, CODIGO VARCHAR (5) NOT NULL, PRIMARY KEY (MATRICULA, CODIGO), FOREIGN KEY MATRICULA REFERENCES PROFESSOR (MATRICULAPRF), FOREIGN KEY CODIGO REFERENCES DISCIPLINA (CODIGODISCIPLINA));CREATE TABLE PROFESSOR ( MATRICULAPRF NUMBER (5) NOT NULL,NOMEPRF VARCHAR(20) NOT NULL, TITULACAO VARCHAR (15) NOT NULL, ANOADMISSAO VARCHAR (4) NOT NULL); CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA VARCHAR (5) NOT NULL,NOMEDISCIPLINA VARCHAR(20) NOT NULL, CREDITOS NUMBER (2) NOT NULL); CREATE TABLE MINISTRA (MATRICULA NUMBER(5) NOT NULL, CODIGO VARCHAR (5) NOT NULL, PRIMARY KEY (MATRICULA, CODIGO), FOREIGN KEY MATRICULA REFERENCES PROFESSOR (MATRICULAPRF), FOREIGN KEY CODIGO REFERENCES DISCIPLINA (CODIGODISCIPLINA)); 4a Questão Qual o efeito da seguinte instrução no banco de dados? UPDATE Funcionarios SET salario = salario * 1.1 Todos os funcionários recebem um aumento de 10% Os funcionários ativos recebem aumento Todos os funcionários são apagados Todos os funcionários passam a ganhar 1.1 A coluna salario é excluída da tabela 5a Questão Sabemos que a Linguagem SQL é utilizada para acesso a banco de dados e é dividida em comandos DDL, DQL, DML, DCL e DTL. São comandos da DML (Data Manipulation Language) CREATE, DROP e ALTER SELECT GRANT, REVOKE INSERT, UPDATE e DELETE Gabarito Coment. 6a Questão É uma vantagem de uso da linguagem SQL: Alto custo de treinamento Visão única dos dados Definição dinâmica dos dados Dependência de plataforma Dependência de fabricante Gabarito Coment. 7a Questão SQL é uma linguagem? Para manipulação de banco de dados. Para desenvolvimento de aplicações gráficas. Para desenho de telas. Para criação de scripts. Para criar regras de negócios que rodam no servidor. Gabarito Coment. 8a Questão Considere o script: CREATE TABLE PECA (CODIGO NUMERIC(5) NOT NULL, DESCRICAO VARCHAR(20) NOT NULL, ESTOQUE NUMERIC(5) NOT NULL, PRIMARY KEY(CODIGO)); Após a criação desta tabela, o comando que inclui a tupla (1234, "lápis de cor", 500) está representado em: INSERT INTO PECAS ("1234", "lápis de cor", 500); INSERT PECAS (1234, "lápis de cor", 500); INSERT INTO PECAS (1234, "lápis de cor", 500); INCLUDE INTO PECA (1234, "lápis de cor", 500); INSERT INTO PECA (1234, "lápis de cor", 500); 1a Questão Qual comando SQL é utilizado para obter um conjunto de dados em uma tabela em um banco de dados? JOIN SELECT INSERT UPDATE GET 2a Questão Assinale a alternativa que retorna corretamente o seguinte resultado: "Todos os alunos cujos nomes terminam em Silva e começam por T ou B." SELECT * FROM alunos WHERE nome LIKE 'BorT%Silva' SELECT * FROM alunos WHERE nome = 'BT%Silva' SELECT * FROM alunos WHERE nome LIKE '[B-T]%Silva' SELECT * FROM alunos WHERE nome LIKE '[BT]%Silva' SELECT * FROM alunos WHERE nome LIKE '[BT]%' OR nome LIKE '%Silva' 3a Questão Dentre as sub-linguagens definidas na Linguagem SQL, o comando SELECT faz parte de qual delas? DML DCL DDL DRL Controle de transações Gabarito Coment. 4a Questão O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263 Características do esquema: Chave primária sublinhada e chave estrangeira em itálico. Seguem algumas tabelas do Esquema: Nome (IDNome, IDEspécie, NomePopular) Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo) Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua) Local (IDLocal, CodArea, NomeLocal) Area (CodArea, NomeArea) Deseja-se realizar uma consulta da tabela Captura exibindo-se a data e a temperatura da água apresentada em graus Celsius, convertida para graus Fahrenheit (Fórmula °F = °C × 1, 8 + 32). Assinale a alternativa que exibe os dados convertidos corretamente: SELECT DATA, TEMPAGUA * 1,8 + 32 "°F" FROM CAPTURA; SELECT DATA, AVG (TEMPAGUA) * 1.8 + 32 "°F" FROM CAPTURA; SELECT DATA, TEMPAGUA * (1,8 + 32) "°F" FROM CAPTURA; SELECT DATA, TEMPAGUA * (1.8 + 32) "°F" FROM CAPTURA; SELECT DATA, TEMPAGUA * 1.8 + 32 "°F" FROM CAPTURA; Gabarito Coment. 5a Questão Observe a tabela empregado: Qual a quantidade de registros retornados ao efetuarmos a consulta abaixo: 4 3 0 2 1 Gabarito Coment. 6a Questão Sabendo-se que existem dados de TCC cadastrados com datas de defesa que variam de 20/11/2012 até o dia de hoje, assinale qual das alternativas abaixo retornaria o mesmo resultado que o comando "SELECT * FROM TCC WHERE DTDEFESA IN ('21/11/2013', '22/11/2014');": SELECT * FROM TCC WHERE DTDEFESA BETWEEN ('21/11/2013'; '22/11/2014'); SELECT * FROM TCC WHERE DTDEFESA BETWEEN '21/11/2013' AND '22/11/2014'; SELECT * FROM TCC WHERE DTDEFESA > '21/11/2013' AND < '22/11/2014'; SELECT * FROM TCC WHERE DTDEFESA = '21/11/2013' AND '22/11/2014'; SELECT * FROM TCC WHERE DTDEFESA => '21/11/2013' AND <= '22/11/2014'; 7a Questão O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263 Características do esquema: Chave primária sublinhada e chave estrangeira em itálico. Seguem algumas tabelas do Esquema: Nome (IDNome, IDEspécie, NomePopular) Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo) Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua) Local (IDLocal, CodArea, NomeLocal) Area (CodArea, NomeArea) Sabendo-se que a tabela nome contém nomes populares de tubarões e deseja-se listar o comprimento e o sexo de todos os tubarões que tem nome popular terminado com a letra k. Assinale a alternativa abaixo que retorna corretamente a consulta desejada: SELECT Comprimento, Sexo FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = E.IDEspecie AND N.IDEspécie = E.IDEspecie AND UPPER (NomePopular) like '%k%'; SELECT * FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = E.IDEspecie AND N.IDEspécie = E.IDEspecie AND NomePopular like '%k'; SELECT Comprimento, Sexo FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = E.IDEspecie AND N.IDEspécie = E.IDEspecie AND UPPER (NomePopular) like '_k'; SELECT Comprimento, Sexo FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = E.IDEspecie AND N.IDEspécie = E.IDEspecie AND NomePopular like '%k'; SELECT Comprimento, Sexo FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = N.IDEspécie AND NomePopular like '%k'; 8a Questão Analise as seguintes instruções abaixo: SELECT * FROM PAÍS; SELECT NOMEPOPULAR FROM NOME; SELECT * FROM CAPTURA WHERE TEMPAGUA < 25; SELECT * FROM ESPÉCIE; Nos comandos SELECT acima encontramos exemplos de: Duas projeções e duas restrições. Uma seleção e uma projeção. Duas projeçõese uma seleção. Duas seleções e uma projeção. Duas projeções e duas seleções. 1a Questão Considere a relação: FUNCIONARIO (matrícula, cargo, salario, admissao) A consulta SQL que mostra média dos salários dos funcionários é: SELECT SALARIO FROM FUNCIONARIO AVG; Nenhuma das respostas acima. SELECT SUM(SALARIO) FROM FUNCIONARIO; SELECT MEDIA(SALARIO) FROM FUNCIONARIO; SELECT AVG(SALARIO) FROM FUNCIONARIO; 2a Questão O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-statistics/resource/5c6be990-3938-4125-8cca- dac0cd734263 Características do esquema: Chave primária sublinhada e chave estrangeira em itálico. Seguem algumas tabelas do Esquema: Nome (IDNome, IDEspécie, NomePopular) Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo) Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua) Local (IDLocal, CodArea, NomeLocal) Area (CodArea, NomeArea) Deseja-se consultar a quantidade de tubarões do sexo feminino que foram capturados entre os anos de 2002 e 2013. Assinale a opção abaixo que realiza esta consulta: SELECT COUNT (*) QTD FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO AND SEXO = 'F' AND DATA BETWEEN '01/01/2002' AND '31/12/2013'; SELECT COUNT (tubarão) QTD FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO AND SEXO = 'F' AND DATA BETWEEN 2002 AND 2013; SELECT COUNT (*) QTD FROM TUBARÃO, CAPTURA WHERE SEXO = 'F' AND DATA BETWEEN '01/01/2002' AND '31/12/2013'; SELECT COUNT (TUBARÃO) QTD FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO AND SEXO = 'F' AND DATA BETWEEN '01/01/2002' AND '31/12/2013'; SELECT COUNT (*) QTD FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO AND SEXO = 'F' AND DATA BETWEEN 2002 AND 2013; Gabarito Coment. 3a Questão O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263 Características do esquema: Chave primária sublinhada e chave estrangeira em itálico. Seguem algumas tabelas do Esquema: Ordem (IDOrdem, NomeOrdem) Espécie (IDEspécie, IDOrdem. Nome_Científico, TamMaior, TamMenor, TamMédio) Nome (IDNome, IDEspécie, NomePopular) Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo) Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua) Deseja-se exibir os nomes das ordens das Espécies de Tubarões cadastradas até o identificador de espécie de número 018103, sem que os nomes se repitam. Assinale a alternativa correta abaixo: SELECT DISTINCT nomeOrdem FROM Ordem O, Espécie E WHERE O.IDEspécie = E.IDEspécie AND E.IDEspécie <= 018013; SELECT DISTINCT nomeOrdem FROM Ordem O, Espécie E WHERE O.IDOrdem = E.IDordem AND E.IDEspécie <= 018013; SELECT DISTINCT nomeEspécie FROM Ordem O, Espécie E WHERE O.IDOrdem = E.IDordem AND E.IDEspécie < 018013; SELECT nomeEspécie FROM Ordem O, Espécie E WHERE O.IDOrdem = E.IDordem AND E.IDEspécie <= 018013; SELECT nomeOrdem FROM Ordem O, Espécie E WHERE O.IDOrdem = E.IDordem AND E.IDEspécie <= 018013; 4a Questão De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para: Apresentar os Ids e os nomes dos Departamentos ordenados por nome de forma Decrescente. SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME DESC; SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME ASC; SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME; SELECT ID, NOME FROM DEPARTAMENTO ORDER BY DESC NOME; SELECT ID, NOME FROM DEPARTAMENTO ORDER BY ASC NOME; Gabarito Coment. Gabarito Coment. 5a Questão O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263 Características do esquema: Chave primária sublinhada e chave estrangeira em itálico. Seguem algumas tabelas do Esquema: Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo) Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua) Local (IDLocal, CodArea, NomeLocal) Area (CodArea, NomeArea) Deseja-se saber qual a quantidade de locais que foram utilizados na captura de tubarões agrupados pelo nome de cada área. Assinale a alternativa que retorna corretamente esta consulta: SELECT NOMEAREA, COUNT (L.CODAREA)"QTD DE LOCAIS" FROM AREA A, LOCAL L WHERE A.CODAREA = L.CODAREA; SELECT NOMEAREA, COUNT (CODAREA)"QTD DE LOCAIS" FROM AREA, LOCAL GROUP BY NOMEAREA; SELECT NOMEAREA, COUNT (L.CODAREA)"QTD DE LOCAIS" FROM AREA A, LOCAL L WHERE A.CODAREA = L.CODAREA GROUP BY NOMEAREA; SELECT NOMELOCAL, COUNT (L.CODAREA)"QTD DE LOCAIS" FROM AREA A, LOCAL L WHERE A.CODAREA = L.CODAREA GROUP BY NOMEAREA; SELECT NOMELOCAL, COUNT (CODAREA)"QTD DE LOCAIS" FROM AREA A, LOCAL L WHERE A.CODAREA = L.CODAREA GROUP BY NOMEAREA; Gabarito Coment. 6a Questão De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para: Apresentar o menor salário pago aos Empregados Agrupados por Departamento. SELECT MINUS(SALARIO) FROM EMPREGADO GROUP BY ID; SELECT MIN(SALARIO) FROM EMPREGADO GROUP BY ID; SELECT MINUS(SALARIO) FROM EMPREGADO GROUP BY ID_DEPTO; SELECT MIN(SALARIO) FROM EMPREGADO GROUP BY ID_DEPTO; SELECT MINIMO(SALARIO) FROM EMPREGADO GROUP BY ID_DEPTO; 7a Questão Qual o resultado da consulta SELECT COUNT(DISTINCT X) FROM R? 2 0 4 3 1 8a Questão De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para: Apresentar o maior salário pago aos Empregados Agrupados por Departamento, para os Departamentos (11, 21, 22, 31, 42, 51). SELECT MAX(SALARIO) FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51) GROUP BY ID_DEPTO; SELECT MAX(SALARIO) FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51) GROUP BY ID_DEPTO; SELECT MAXIMO(SALARIO) FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51) GROUP BY ID_DEPTO; SELECT MAX(SALARIO) FROM EMPREGADO WHERE ID_DEPTO =11 AND ID_DEPTO =21 AND ID_DEPTO =22 AND ID_DEPTO =31 AND ID_DEPTO =42 AND ID_DEPTO =51; SELECT MAXIMO(SALARIO) FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51) GROUP BY ID_DEPTO; 1a Questão É responsável por garantir a Integridade Referencial: Chave Primária Chave Secundária Chave Estrangeira Chave de Atributo Chave Candidata 2a Questão Considere o esquema: Aluno(matricula, cpf, nome, endereço). Assinale a alternativa que não representa uma super-chave deste esquema. matricula, endereco nome, endereçomatricula, cpf matricula, nome cpf, nome 3a Questão Em qualquer modelo de dados utilizado, é importante distinguir a "descrição" do banco de dados do "banco de dados" por si próprio. Analise as afirmações a seguir: I. Os dados armazenados em um banco de dados em um determinado instante do tempo formam um conjunto chamado de "esquema de um banco de dados". II. A instância altera toda vez que uma alteração no banco de dados é feita. III. O SGBD é responsável por garantir que toda instância do banco de dados satisfaça ao esquema do banco de dados, respeitando sua estrutura e suas restrições. É correto apenas o que se afirma em I I e II II II e III III Explicação: A afirmativa I está incorreta uma vez que os dados armazenados em um banco de dados em um determinado instante do tempo formam um conjunto chamado de "instância do banco de dados". Já a descrição do banco de dados é chamada de esquema de um banco de dados. 4a Questão Dentre as vantagens da utilização dos SGBDs a seguir, qual NÃO é uma vantagem? Independência dos dados. Padronização dos dados. Compartilhamento de Dados. Dependência entre programas e dados. Redução ou Eliminação de redundâncias. 5a Questão De uma chave primária é certo afirmarmos: I Pode ser simples ou composta IINão pode constar entre as chaves candidatas da relação III O atributo da chave primária deve ser único Estão corretas: I, II e III I e III Somente I I e II II e III 6a Questão Considere a tabela aluno mostrada abaixo: Qual o atributo poderia ser chave candidata da tabela acima? endereco Não existe atributo que poderia ser chave candidata. cpf cidade nome 7a Questão Relacione as colunas abaixo: (1) Tabela bidimensional, composta por linhas e colunas de dados (2) Coluna (3) Linha (4) Conjunto de valores de um atributo (5) Nomes das relações seguidas pelos nomes dos atributos, com chaves primária e estrangeiras identificadas ( ) Esquema ( ) Atributo ( ) Tupla ( ) Relação ( ) Domínio A sequência correta está representada na opção: 5,2,3,4,1 4,2,3,1,5 5,2,3,1,4 5,2,1,3,4 5,3,2,1,4 8a Questão Em banco de dados, todo método de controle de concorrência deve evitar anomalias de sincronização. Essas anomalias estão relacionadas a: I - perda da consistência do banco. II - acesso via ODBC. III - acesso a dados inconsistentes. IV - consulta recursiva. V - perda de atualizações. Estão certos apenas os itens I, III e V. II, III e IV. I, II e IV. II, III e V. I, IV e V. 1a Questão Em relação a álgebra relacional, o operador de _____________ permite combinar seleções e um produto cartesiano em uma só operação. Projeção Junção Interseção Diferença União 2a Questão A partir da tabela abaixo, identifique a expressão, em álgebra relacional, que permite listar a matrícula dos funcionários do setor de Projetos: π Funcionarios_ste (σ matricula, setor = "Projetos") π matricula (σ setor = "Projetos" (Funcionarios_ste)) σ setor = "Projetos" (Funcionarios_ste) π setor = "Projetos" (σ matricula (Funcionarios_ste)) σ matricula (π setor = "Projetos" (Funcionarios_ste)) 3a Questão Considere as relações: ALUNO (matriculaluno, nomealuno, endereço, telefone) CURSA (matricula, codigo) matricula REFERENCIA matriculaluno em ALUNO codigo REFERENCIA codigodisciplina em DISCIPLINA DISCIPLINA (codigodisciplina, nomedisciplina, creditos) A consulta em álgebra relacional que responde a questão "Quais os alunos (nome e matrícula) que cursam a disciplina com código CCT0199" está corretamente representada em: matriculaaluno, nomealuno (CURSA matriculaluno = ⋈matricula DISCIPLINA) Não existe consulta que reponda a questão matriculaluno, nomealuno (ALUNO matriculaluno = ⋈matricula (codigo = CCT0199 (CURSA))) matriculaaluno, nomealuno (ALUNOmatriculaluno = ⋈matricula (codigo = CCT0199 (DISCIPLINA))) matriculaaluno, nomealuno (ALUNO matriculaluno = ⋈matricula DISCIPLINA) 4a Questão Considere a relação: FILME (nome, diretor, tempoduracao, genero, ano) A consulta em álgebra relacional que retorna o nome e o ano de todos os filmes de ação com tempo de duração entre 120 e 180 minutos. nome, ano ((genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) nome, ano ((genero = "ação" AND tempoduracao = 120) (FILME) ) nome, ano ((genero = "ação" AND tempoduracao >= 120 OR tempoduracao <= 180) (FILME) ) nome, ano ((genero = "ação" OR tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) nome, ano ((genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) Gabarito Coment. 5a Questão Considere as relações: PROFESSOR (matriculaprf, nomeprf, titulacao, anoadmissao) MINISTRA (matricula, codigo) matricula REFERENCIA matriculaprf em PROFESSOR codigo REFERENCIA codigodisciplina em DISCIPLINA DISCIPLINA (codigodisciplina, nomedisciplina, creditos) A consulta em álgebra relacional que responde a questão "Quem são os professores (nome e matrícula) que ministram a disciplina Implementação de Bancos de Dados" está corretamente representada em: matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (MINISTRA codigo = ⋈codigodisciplina(nomedisciplina = "Implementação de Bancos de Dados" (DISCIPLINA))) matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (nomedisciplina = "Implementação de Bancos de Dados" (DISCIPLINA)) matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (MINISTRAcodigo = ⋈codigodisciplina(DISCIPLINA))) Não existe consulta que responda a esta questão. matriculaprf, nomeprf (PROFESSORmatriculaprf = ⋈matricula MINISTRA) Gabarito Coment. 6a Questão De acordo com a tabela a seguir, como fica a instrução de seleção para recuperarmos os funcionários possuem ID maior do que 102, trabalham no Departamento 10 e ganham mais de R$ 2.000,00 de Salário? ID = 102 E id_Depto = 10 E Salario > 2000 (Empregado) ID > 102 E id_Depto = 10 E Salario > 2000 (Empregado) ID > 102 OU id_Depto = 10 OU Salario > 2000 (Empregado) ID = 102 OU id_Depto = OU E Salario > 2000 (Empregado) ID > 102 OU id_Depto = 10 E Salario > 2000 (Empregado) 7a Questão Sejam as relações: T1 = nome ((sexo="FEMININO") and (salário>1500) (EMPREGADO)) T2 = nome (dept=5 (EMPREGADO)) A relação T3 = T1 - T2 conterá: Nome de todas mulheres que ganham mais do que 1500 e estão lotadas no departamento 5. Nome de todas mulheres que ganham 1500 e estão lotados no departamento 5. Nome de todas mulheres que ganham mais do 1500 Nome de todas mulheres que ganham mais do que 1500 ou estão lotadas no departamento 5. Nome de todas mulheresque ganham mais do que 1500 e não estão lotadas no departamento 5. Gabarito Coment. 8a Questão Em relação a álgebra linear é correto afirmar que: I - A operação de projeção é aplicada sobre apenas uma relação visando selecionar um subconjunto de tuplas (com todos os seus atributos). II O produto cartesiano é uma operação binária que combina todas as tuplas de duas tabelas. III - A operação de seleção é aplicada sobre apenas uma relação de visando projetar os atributos de uma relação de acordo com uma lista de atributos oferecida. Estão corretas: I e III II e III Somente III Somente a II Somente I ina: CCT0768 - IMPLEMENTAÇÃO DE BANCO DE DADOS 201702138501 1a Questão Partindo da tabela a seguir, considerando que a mesma já foi criada de acordo com essa ordem de atributos, como ficaria o comando SQL para aumentar em 10% o valor unitário de cada produto? UPDATE X_PROD SET VALOR_UNIT + 10 /100; UPDATE X_PROD SET VALOR_UNIT + VALOR_UNIT * 10 /100; UPDATE X_PROD SET VALOR_UNIT = VALOR_UNIT * 10 /100; UPDATE X_PROD SET VALOR_UNIT = VALOR_UNIT + 10 /100; UPDATE X_PROD SET VALOR_UNIT = VALOR_UNIT + VALOR_UNIT * 10 /100; Gabarito Coment. 2a Questão O comando SQL para excluir os registros da tabela Aluno, cujo campo nome comece com a letra M, é: DELETE FROM Aluno WHERE nome SUCH '%M'. DELETE FROM Aluno WHERE nome='M'. DELETE FROM Aluno WHERE nome LIKE 'M%'. DELETE FROM Aluno DELETE FROM Aluno WHERE nome LIKE 'G%'. Gabarito Coment. 3a Questão Dado o seguinte requisito funcional: É necessário cadastrar a matrícula, o nome e o curso dos alunos, e sabendo que um aluno pode fazer mais de um curso e um curso ter mais de um aluno. Qual das questões representa a normalização correta de um banco de dados relacional? CREATE TABLE CURSOS (CODIGO INTEGER, DESCRICAO VARCHAR(100), PRIMARY KEY (CODIGO)); CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), PRIMARY KEY (MATRICULA)); CREATE TABLE INSCRICAO (ALUNO INTEGER, CURSO INTEGER, PRIMARY KEY (ALUNO,CURSO), FOREIGN KEY (ALUNO) REFERENCES ALUNOS (MATRICULA), FOREIGN KEY (CURSO) REFERENCES CURSOS (CODIGO)); CREATE TABLE CURSOS (CODIGO INTEGER, DESCRICAO VARCHAR(100), PRIMARY KEY (CODIGO)); CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), CURSO INTEGER, PRIMARY KEY (MATRICULA), FOREIGN KEY (CURSO) REFERENCES CURSOS (CODIGO)); CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), CURSOS VARCHAR(50), PRIMARY KEY (MATRICULA)); CREATE TABLE CURSOS (CODIGO INTEGER, DESCRICAO VARCHAR(100), PRIMARY KEY (CODIGO)); CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), PRIMARY KEY (MATRICULA)); CREATE TABLE INSCRICAO (ALUNO INTEGER, CURSO INTEGER, PRIMARY KEY (ALUNO,CURSO)); CREATE TABLE CURSOS (CODIGO INTEGER, DESCRICAO VARCHAR(100), PRIMARY KEY (CODIGO)); CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), CURSO INTEGER, PRIMARY KEY (MATRICULA)); Gabarito Coment. 4a Questão Partindo da tabela a seguir, considerando que a mesma já foi criada de acordo com essa ordem de atributos, como ficaria o comando SQL para inserir um registro na tabela? INSERT INTO X_PROD VALUES ( 20, 'TV Led 40 polegadas', 400, 3000); INSERT INTO X_PROD VALUES ('TV Led 40 polegadas', 20, 400, 3000); INSERT INTO X_PROD VALUES ( TV Led 40 polegadas, 20, 400, 3000); INSERT INTO X_PROD VALUES ('20', 'TV Led 40 polegadas', '400', '3000'); INSERT INTO X_PROD VALUES (20, TV Led 40 polegadas, 400, 3000); Gabarito Coment. Gabarito Coment. 5a Questão A linguagem SQL pode ter vários enfoques, EXCETO: Linguagem para acesso às bases de dados Linguagem interativa de consulta (query AdHoc) Linguagem de administração de banco de dados Linguagem para a programação de sistemas de informação Linguagem de consulta em ambiente cliente/servidor Gabarito Coment. Gabarito Coment. 6a Questão No Script SQL de criação da tabela pagamento aparece a palavra 'funcionario' 4 vezes. Sendo assim, é possível afirmar que se referem, respectivamente: campo, atributo, apelido, tabela tupla, chave primária, apelido, chave estrangeira coluna, tabela, apelido, chave primária apelido, atributo, tabela, chave estrangeira atributo, apelido, campo, tabela 7a Questão O comando SQL que apaga um tabela é: UPDATE INSERT INTO DROP TABLE REMOVE TABLE DELETE TABLE 8a Questão (CONSULPLAN - 2012) Ao contrário das linguagens tradicionais, que são procedimentais, SQL é uma linguagem declarativa, que integra três sublinguagens: Data Manipulation Language (DML), Data Definition Language (DDL) e Data Control Language (DCL). Um comando DML e outro DDL são, respectivamente: Update e Drop. Update e Grant. Drop e Grant. Delete e Update. Grant e Delete. 1a Questão (ENADE 2011 - Adaptado) CREATE TABLE PECAS (CODIGO NUMERIC(5) NOT NULL, DESCRICAO VARCHAR(20) NOT NULL, ESTOQUE NUMERIC(5) NOT NULL, PRIMARY KEY(CODIGO)); CREATE TABLE FORNECEDORES (COD_FORN NUMERIC(3) NOT NULL, NOME VARCHAR(30) NOT NULL, PRIMARY KEY(COD_FORN)); CREATE TABLE FORNECIMENTOS (COD_PECA NUMERIC(5) NOT NULL, COD_FORN NUMERIC(3) NOT NULL, QUANTIDADE NUMERIC(4) NOT NULL, PRIMARY KEY(COD_PECA, COD_FORN), FOREIGN KEY (COD_PECA) REFERENCES PECAS, FOREIGN KEY (COD_FORN) REFERENCES FORNECEDORES); A partir desse script, assinale a opção que apresenta o comando SQL que permite obter uma lista que contenha o nome de cada fornecedor: SELECT NOME FROM FORNECEDORES; SELECT NOME_FORNECEDOR FROM FORNECEDORES; SELECT * FROM FORNECEDORES; SELECT NOME FROM FORNECEDOR; SELECT * FROM FORNECEDOR; 2a Questão De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para: Apresentar apenas os nomes completos dos Empregados que tem salario entre R$ 1.000,00 e R$ 2.000,00. SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE SALARIO BETWEEN 1000 TO 2000; SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE SALARIO BETWEEN 1000 TO 2000; SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE SALARIO BETWEEN 1000 AND 2000; SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE SALARIO 1000 BETWEEN 2000; SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE SALARIO BETWEEN 1000 AND 2000; Gabarito Coment. 3a Questão Qual a sintaxe abaixo gera um produto cartesiano entre as duas tabelas: SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, C.VC_CAR_NOME AS CARGO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO; SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, C.VC_CAR_NOME AS CARGO FROM EMPREGADO E, CARGO C WHERE E.NU_EMP_CARGO = C.ID_CAR_CODIGO; SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, C.VC_CAR_NOME AS CARGO FROM EMPREGADO E RIGHT JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO; SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, C.VC_CAR_NOME AS CARGOFROM EMPREGADO E, CARGO C; SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, C.VC_CAR_NOME AS CARGO FROM EMPREGADO E LEFT JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO; 4a Questão O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program- shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263 Características do esquema: Chave primária sublinhada e chave estrangeira em itálico. Seguem algumas tabelas do Esquema: Espécie (IDEspécie, IDOrdem. Nome_Científico, TamMaior, TamMenor, TamMédio) Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo) Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua) Local (IDLocal, CodArea, NomeLocal) Area (CodArea, NomeArea) Sabendo-se que um metro possui 39,3700787 polegadas, assinale a alternativa correto abaixo que consulta a data da captura, a temperatura da água e o comprimento do tubarão convertido em polegadas com o título Polegadas: SELECT DATA, TEMPAGUA, COMPRIMENTO * 39,3700787 Polegadas FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO; SELECT DATA, TEMPAGUA, COMPRIMENTO * 39.3700787 Polegadas FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO; SELECT DATA, TEMPAGUA, COMPRIMENTO * 39.3700787 Polegadas FROM TUBARÃO T, CAPTURA C; SELECT DATA, TEMPAGUA, (COMPRIMENTO * 39,3700787) Polegadas FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO; SELECT DATA, TEMPAGUA, "COMPRIMENTO * 39,3700787" Polegadas FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO; Gabarito Coment. 5a Questão O operador que possibilita a seleção de uma faixa de valores sem a necessidade do uso dos operadores >=, <= e AND é: GROUP BY BETWEEN IN HAVING LIKE 6a Questão Considere a seguinte tabela de um banco de dados: PESSOA { pes_codigo, pes_nome, pes_email, pes_rg, pes_idade, pes_codigo_conjuge } Qual das instruções abaixo permite recuperar os campos nome e e-mail da pessoa e o nome e e-mail do seu cônjuge. Select p.pes_nome, p.pes_email, c.pes_nome, c.pes_email From pessoa p, pessoa c Where p.pes_codigo = c.pes_codigo_conjuge Select p.pes_nome as Nome, p.pes_email as Email c.pes_nome as Conjuge c.pes_email as EmailConjuge From pessoa p inner join from pessoa c on (p.pes_codigo = c.pes_codigo_conjuge) Select pes_nome, pes_email, pes_nome, pes_email From pessoa inner join pessoa using (pes_codigo) Select p.pes_nome, p.pes_email, c.pes_nome, c.pes_email From pessoa p inner join pessoa c using (pes_codigo) Select p.pes_nome, p.pes_email, c.pes_nome, c.pes_email From pessoa p, pessoa c Where pes_codigo = pes_codigo_conjuge 7a Questão Sobre a cláusula WHERE do comando SELECT, é correto afirmar que: É utilizado em todos os comandos SELECT Especifica condição de ordenação Filtra as colunas a serem exibidas no resultado Filtra as linhas a serem exibidas no resultado Nunca pode ser utilizado com uma junção 8a Questão Considere as seguintes tabelas de um banco de dados: - FORNECEDOR { for_codigo, for_nome, for_telefone, for_cidade, est_uf } - ESTADO { est_uf, est_nome } A instrução SQL que recupera os nomes dos estados para os quais não há fornecedores cadastrados é: SELECT e.est_uf FROM estado AS e WHERE e.est_nome NOT IN ( SELECT f.est_uf FROM fornecedor AS f ); SELECT e.est_nome FROM estado AS e WHERE e.est_uf NOT IN ( SELECT f.est_uf FROM fornecedor AS f ); SELECT e.est_nome FROM estado AS e, FROM fornecedor AS f WHERE e.est_uf = f.est_uf; SELECT e.est_nome FROM estado AS e WHERE e.est_uf IN ( select f.est_uf FROM fornecedor AS f ); SELECT e.est_nome FROM estado AS e, fornecedor AS f WHERE e.est_nome <> f.est_uf; 1a Questão Qual será o resultado da consulta SELECT COUNT(DISTINCT salario) FROM funcionario? 6 9 7 5 8 Gabarito Coment. 2a Questão De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para: Apresentar os primeiros nomes, o salário e a data de admissão dos Empregados que ganham acima de R$ 1.000,00 em ordem Crescente de Salário e de Data de Admissão. SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY SALARIO, DT_ADMISSAO; SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY SALARIO DESC, DT_ADMISSAO DESC; SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY ASC SALARIO, DESC DT_ADMISSAO; SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY ASC SALARIO, ASC DT_ADMISSAO; SELECT PRIM_NOME, SALARIO, DT_ADMISSAO FROM EMPREGADO WHERE SALARIO > 1000 ORDER BY DESC SALARIO, ASC DT_ADMISSAO; 3a Questão UM recurso do comando SELECT é a possibilidade de agruparmos nossos dados. Para isso usamos a cláusula: ORDER BY JOIN SUM ORDER GROUP BY Gabarito Coment. 4a Questão O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control- program-shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263 Características do esquema: Chave primária sublinhada e chave estrangeira em itálico. Seguem algumas tabelas do Esquema: Ordem (IDOrdem, NomeOrdem) Espécie (IDEspécie, IDOrdem. Nome_Científico, TamMaior, TamMenor, TamMédio) Esp_País (IDEspécie, CodPaís) País (CodPaís, NomePaís) Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo) Assinale qual das alternativas abaixo representa uma consulta que retorna a quantidade de espécies de tubarões encontradas no Brasil cuja coluna é nomeada de QTD: SELECT COUNT(*) QTD FROM ESPÉCIE E, PAÍS P WHERE E.IDESPECIE = P.IDESPÉCIE AND NOMEPAÍS = 'Brasil'; SELECT COUNT(*) QTD FROM ESPÉCIE E, ESP_PAÍS EP, PAÍS P WHERE E.IDESPECIE = EP.IDESPÉCIE AND EP.CODPAÍS = P.CODPAÍS AND NOMEPAÍS = 'Brasil'; SELECT COUNT(*) QTD FROM ESPÉCIE E, PAÍS P WHERE NOMEPAÍS = "Brasil"; SELECT COUNT(*) QTD FROM ESPÉCIE E, ESP_PAÍS EP, PAÍS P WHERE E.IDESPECIE = EP.IDESPÉCIE AND EP.CODPAÍS = P.CODPAÍS AND NOMEPAÍS = "Brasil"; SELECT COUNT(*) QTD FROM ESPÉCIE E, ESP_PAÍS P,PAÍS P WHERE NOMEPAÍS = 'Brasil'; 5a Questão Qual será o resultado da consulta SQL SELECT COUNT(*) FROM pecas WHERE cor='Vermelho' ao ser aplicada na tabela peças? 3 4 0 1 2 6a Questão Observe a tabela abaixo, referente a um banco de dados empresa: Para gerar uma consulta SQL com todos os atributos, classificados por NOME_PACIENTE, deve-se utilizar o seguinte comando: SELECT * FROM PACIENTE DESC NOME_PACIENTE; SELECT * FROM PACIENTE ASC NOME_PACIENTE; SELECT * OVER PACIENTE ASC NOME_PACIENTE; SELECT * OVER PACIENTE ORDER BY NOME_PACIENTE; SELECT * FROM PACIENTE ORDER BY NOME_PACIENTE; Gabarito Coment. 7a Questão
Compartilhar