Baixe o app para aproveitar ainda mais
Prévia do material em texto
IMPLEMENTAÇÃO DE BANCO DE DADOS 1a aula Lupa Vídeo PPT MP3 MODELO RELACIONAL MODELO RELACIONAL 1a 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, IV e V. II, III e V. I, II e IV. I, III e V. II, III e IV. Ref.: 201602474463 2a Questão (CONSULPLAN - 2012) Dentre os objetivos da implementação de bancos de dados, um visa solucionar um problema que ocorre quando aplicações diferentes operam sobre os mesmos dados, armazenados em arquivos diferentes. Esse problema é conhecido por: Replicação de dados. Integridade de dados. Dependência de dados. Consistência de dados. Redundância de dados. Ref.: 201603183148 3a Questão Os conceitos de banco de dados relacional refletem o nível de abstração dos dados. Desta forma, marque a alternativa que se refere à instância da entidade. Pode ser modificado com o uso dos comandos DDL. É o conjunto de opções de preenchimento do atributo. Uma chave estrangeira é sempre uma chave primária em outra tabela. Toda entidade deve possui chave primária. Pode ser considerado como o resultado da aplicação do SELECT. Ref.: 201602470960 4a Questão Dentre as vantagens da utilização dos SGBDs a seguir, qual NÃO é uma vantagem? Padronização dos dados. Dependência entre programas e dados. Compartilhamento de Dados. Redução ou Eliminação de redundâncias. Independência dos dados. Ref.: 201602470445 5a Questão Considere o texto a seguir e complete as lacunas, com as expressões constantes nas alternativas, respeitando a correlação sequencial em que estão dispostas. Uma ..................... é uma coluna ou uma combinação de colunas cujos valores distinguem uma linha das demais, dentro de uma tabela. Uma ...................... é uma coluna ou uma combinação de colunas cujos valores aparecem, necessariamente, na ........................ de uma tabela. Em alguns casos, mais de uma coluna ou combinações de colunas podem servir para distinguir uma linha das demais. Uma das colunas (ou combinação de colunas) é escolhida como ..................... As demais colunas ou combinações são denominadas ........................ A seqüência correta encontra-se apenas em: Chave primária; chave estrangeira; chave primária; chave primária; chaves alternativas. Chave primária; chave estrangeira; chave primária; chave primária; chaves estrangeiras. Chave primária; chave primária; chave primária; super-chave; chaves secundárias. Chave primária; super-chave; chave primária; chave candidata; chaves secundárias. Chave primária; chave estrangeira; chave primária; chave secundária; chaves alternativas. Ref.: 201602470968 6a Questão Os atributos de uma tabela constituem: As linhas da tabela. As colunas da tabela. As tuplas da tabela. Os índices da tabela. Os nomes das tabelas. Ref.: 201602626541 7a Questão Com relação a arquitetura distribuída de computadores utilizadas em SGBDs, marque a resposta correta: I.Divide o processamento entre o cliente e o servidor. II.Comumente usada em aplicações web, na qual as camadas são: interface com o usuário, lógica do negócio e banco de dados. III.A aplicação pode ser dividida em vários computadores em uma rede distribuída. As características acima são, respectivamente, referentes as arquiteturas: Cliente/Servidor, 3 Camadas, Multicamadas (N camadas) Cliente/Servidor, Cliente/Servidor , Multicamadas (N camadas) 3 Camadas, Cliente/Servidor, Multicamadas (N camadas) Cliente/Servidor, 3 Camadas , 3 Camadas Cliente/Servidor, Multicamadas (N camadas), 3 Camadas Ref.: 201602607815 8a Questão Um atributo de uma tabela que é chave primária em alguma outra tabela é denominado: Não existe atributo com esta característica Chave estrangeira Chave externa Chave candidata Chave simples /////////////////////////////////////////////////////////////////////////////////////////////// Ref.: 201602607815 1a Questão Um atributo de uma tabela que é chave primária em alguma outra tabela é denominado: Chave candidata Chave simples Chave externa Chave estrangeira Não existe atributo com esta característica Ref.: 201602474463 2a Questão (CONSULPLAN - 2012) Dentre os objetivos da implementação de bancos de dados, um visa solucionar um problema que ocorre quando aplicações diferentes operam sobre os mesmos dados, armazenados em arquivos diferentes. Esse problema é conhecido por: Replicação de dados. Dependência de dados. Consistência de dados. Redundância de dados. Integridade de dados. Ref.: 201602626541 3a Questão Com relação a arquitetura distribuída de computadores utilizadas em SGBDs, marque a resposta correta: I.Divide o processamento entre o cliente e o servidor. II.Comumente usada em aplicações web, na qual as camadas são: interface com o usuário, lógica do negócio e banco de dados. III.A aplicação pode ser dividida em vários computadores em uma rede distribuída. As características acima são, respectivamente, referentes as arquiteturas: Cliente/Servidor, Multicamadas (N camadas), 3 Camadas Cliente/Servidor, Cliente/Servidor , Multicamadas (N camadas) Cliente/Servidor, 3 Camadas, Multicamadas (N camadas) 3 Camadas, Cliente/Servidor, Multicamadas (N camadas) Cliente/Servidor, 3 Camadas , 3 Camadas Ref.: 201602470451 4a 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,1,3,4 5,2,3,4,1 5,3,2,1,4 4,2,3,1,5 5,2,3,1,4 Ref.: 201602471873 5a Questão Considere o esquema: Aluno(matricula, cpf, nome, endereço). Assinale a alternativa que não representa uma super-chave deste esquema. cpf, nome matricula, nome matricula, endereco matricula, cpf nome, endereço Ref.: 201602470473 6a 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: 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 falsas. As duas afirmações são verdadeiras e primeira justifica a segunda. A primeira afirmação é verdadeira e a segunda é falsa. Ref.: 201602470984 7a Questão É responsávelpor garantir a Integridade Referencial: Chave Estrangeira Chave Candidata Chave Primária Chave Secundária Chave de Atributo Ref.: 201602471882 8a Questão Considere a tabela aluno mostrada abaixo: Qual o atributo poderia ser chave candidata da tabela acima? cpf nome Não existe atributo que poderia ser chave candidata. endereco cidade ////////////////////////////////////////////////////////////////////////////////////////////////// ÁLGEBRA RELACIONAL Ref.: 201602607844 1a Questão A operação da álgebra relacional que recupera linhas em uma tabela é denominada: Junção Diferença Produto cartesiano Projeção Seleção Ref.: 201602470499 2a 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 (nomedisciplina = "Implementação de Bancos de Dados" (DISCIPLINA)) matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (MINISTRAcodigo = ⋈codigodisciplina(DISCIPLINA))) matriculaprf, nomeprf (PROFESSORmatriculaprf = ⋈matricula MINISTRA) Não existe consulta que responda a esta questão. matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (MINISTRA codigo = ⋈codigodisciplina(nomedisciplina = "Implementação de Bancos de Dados" (DISCIPLINA))) Ref.: 201602471316 3a 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 I II e III I e III Somente a II Somente III Ref.: 201602391806 4a 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 πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod) σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque) πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque)) σProduto.Cod_Prod = Estoque.Cod_Prod(πNome, Qualidade, Qtde) πNome, Qualidade, Qtde Ref.: 201602470501 5a 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: Não existe consulta que reponda a questão matriculaaluno, nomealuno (ALUNO matriculaluno = ⋈matricula DISCIPLINA) matriculaaluno, nomealuno (ALUNOmatriculaluno = ⋈matricula (codigo = CCT0199 (DISCIPLINA))) matriculaaluno, nomealuno (CURSA matriculaluno = ⋈matricula DISCIPLINA) matriculaluno, nomealuno (ALUNO matriculaluno = ⋈matricula (codigo = CCT0199 (CURSA))) Ref.: 201602471318 6a 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) π setor = "Projetos" (σ matricula (Funcionarios_ste)) π Funcionarios_ste (σ matricula, setor = "Projetos") π matricula (σ setor = "Projetos" (Funcionarios_ste)) Ref.: 201602470494 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 mais do que 1500 e estão lotadas 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 1500 e estão lotados no departamento 5. Ref.: 201602471314 8a 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 OU id_Depto = 10 E Salario > 2000 (Empregado) ID > 102 E id_Depto = 10 E Salario > 2000 (Empregado) //////////////////////////////////////////////////////////////////////////////////////////////// ef.: 201602607844 1a Questão A operação da álgebra relacional que recupera linhas em uma tabela é denominada: Diferença Produto cartesiano Junção Seleção Projeção Ref.: 201602470499 2a 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 (PROFESSORmatriculaprf = ⋈matricula MINISTRA) Não existe consulta que responda a esta questão. 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))) Ref.: 201602471316 3a 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: II e III Somente I I e III Somente III Somente a II Ref.: 201602391806 4a 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 πNome, Qualidade, Qtde σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque) σProduto.Cod_Prod = Estoque.Cod_Prod(πNome, Qualidade, Qtde) πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod) πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque)) Ref.: 201602470501 5a 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 (ALUNOmatriculaluno = ⋈matricula (codigo = CCT0199 (DISCIPLINA))) matriculaaluno, nomealuno (CURSA matriculaluno = ⋈matricula DISCIPLINA) matriculaaluno, nomealuno (ALUNO matriculaluno = ⋈matricula DISCIPLINA) matriculaluno, nomealuno (ALUNO matriculaluno = ⋈matricula (codigo = CCT0199 (CURSA))) Não existe consulta que reponda a questão Ref.: 201602471318 6a 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") σ setor = "Projetos" (Funcionarios_ste) σ matricula (π setor = "Projetos" (Funcionarios_ste)) π matricula (σ setor = "Projetos" (Funcionarios_ste)) π setor = "Projetos" (σ matricula (Funcionarios_ste)) Ref.: 201602470494 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 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 1500 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. Ref.: 201602471314 8a 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 OU Salario > 2000 (Empregado) ID > 102 OU id_Depto = 10 E 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) ///////////////////////////////////////////////////////////////////////////////////////////// SQL PARTE 1 - CREATE TABLE E DML ef.: 201602963482 1a Questão São comandos da categoria de Definição de Dados (DDL): SELECT CREATE / ALTER / DROP COMMIT / ROLLBACK INSERT / UPDATE / DELETE GRANT / REVOKE Ref.: 201602471170 2a Questão O comando SQL que apaga um tabela é: DROP TABLE REMOVE TABLE UPDATE INSERT INTO DELETE TABLE Ref.: 201602470827 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 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); 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)); 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 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)); Ref.: 201602471008 4a 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 RAW RAW(tam) CHAR(tam) LONG VARCHAR2(tam) Ref.: 201602471826 5a Questão O comando SQL para excluir os registros da tabela Aluno, cujo campo nome comece com a letra M, é: DELETE FROM Aluno WHERE nomeLIKE 'G%'. DELETE FROM Aluno WHERE nome SUCH '%M'. DELETE FROM Aluno DELETE FROM Aluno WHERE nome LIKE 'M%'. DELETE FROM Aluno WHERE nome='M'. Ref.: 201602470819 6a Questão É uma vantagem de uso da linguagem SQL: Visão única dos dados Dependência de plataforma Dependência de fabricante Alto custo de treinamento Definição dinâmica dos dados Ref.: 201602470818 7a Questão A linguagem SQL pode ter vários enfoques, EXCETO: Linguagem de administração de banco de dados Linguagem de consulta em ambiente cliente/servidor Linguagem para a programação de sistemas de informação Linguagem interativa de consulta (query AdHoc) Linguagem para acesso às bases de dados Ref.: 201603173436 8a 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 Definição de Dados fornece tabelas para criação e modificação de comandos. os comandos básicos da Linguagem de Definição de Dados são Select, Insert, Update e Delete. 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 Sort, Insert, Undo e Store. a Linguagem de Manipulação de Dados compreende os comandos para inserir, remover e modificar informações em um banco de dados. //////////////////////////////////////////////////////////////////////////////////////////////////// Ref.: 201603077619 1a 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: tupla, chave primária, apelido, chave estrangeira apelido, atributo, tabela, chave estrangeira atributo, apelido, campo, tabela coluna, tabela, apelido, chave primária campo, atributo, apelido, tabela Ref.: 201602471110 2a 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 = 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 + 10 /100; UPDATE X_PROD SET VALOR_UNIT + VALOR_UNIT * 10 /100; Ref.: 201602474464 3a 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. Drop e Grant. Grant e Delete. Delete e Update. Update e Grant. Ref.: 201602964142 4a Questão Para excluir tuplas de uma tabela devemos utilizar? UPDATE INSERT DROP SELECT DELETE Ref.: 201602471170 5a Questão O comando SQL que apaga um tabela é: DELETE TABLE DROP TABLE INSERT INTO REMOVE TABLE UPDATE Ref.: 201602953926 6a 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 TCC CHANGE UNIQUE(TITULO); ALTER TABLE TITULO ADD UNIQUE(TCC); ALTER TABLE TCC ADD TITULO (UNIQUE); ALTER TABLE TCC CHANGE TITULO (UNIQUE); ALTER TABLE TCC ADD UNIQUE(TITULO); Ref.: 201603011401 7a Questão SQL é uma linguagem? Para desenvolvimento de aplicações gráficas. Para criação de scripts. Para criar regras de negócios que rodam no servidor. Para manipulação de banco de dados. Para desenho de telas. Ref.: 201602470832 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); INCLUDE INTO PECA (1234, "lápis de cor", 500); INSERT PECAS (1234, "lápis de cor", 500); INSERT INTO PECAS ("1234", "lápis de cor", 500); INSERT INTO PECA (1234, "lápis de cor", 500); //////////////////////////////////////////////////////////////////////////////////////////////// SQL PARTE 2 - SELECT UMA TABELA Ref.: 201602622919 1a Questão Sobre a cláusula WHERE do comando SELECT, é correto afirmar que: Especifica condição de ordenação Filtra as colunas a serem exibidas no resultado Nunca pode ser utilizado com uma junção É utilizado em todos os comandos SELECT Filtra as linhas a serem exibidas no resultado Ref.: 201603545406 2a 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 pes_codigo = 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 p.pes_nome, p.pes_email, c.pes_nome, c.pes_email From pessoa p inner join pessoa c using (pes_codigo) 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, pessoa c Where p.pes_codigo = c.pes_codigo_conjuge Ref.: 201602393150 3a Questão Os operadores aritméticos, lógicos e de comparação são usados em consultas SQL para? Fazer uma atualização de dados mais precisa. Criar novas consultas. Para excluir dados por um procedimento no banco. Realizar tarefas como somar ou agrupar valores, comparar valores. Não é utilizado em Banco de Dados. Ref.: 201602470820 4a Questão O comando SELECT FROM corresponde a seguinte operação da álgebra relacional: União Junção Seleção Interseção Projeção Ref.: 201602471899 5a Questão Observe a tabela empregado: Qual a quantidade de registros retornados ao efetuarmos a consulta abaixo: 4 3 2 1 0 Ref.: 201603034723 6a 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, 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, AVG (TEMPAGUA) * 1.8 + 32 "°F" FROM CAPTURA; Ref.: 201603044751 7a 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 = 'BT%Silva' SELECT * FROM alunos WHERE nome LIKE '[BT]%' OR nome LIKE '%Silva' SELECT * FROM alunos WHERE nome LIKE '[B-T]%Silva' SELECT * FROM alunos WHERE nome LIKE 'BorT%Silva' SELECT * FROM alunos WHERE nome LIKE '[BT]%Silva' Ref.: 201602956641 8a 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 = '21/11/2013' AND '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'; ///////////////////////////////////////////////////////////////////////////////////////// Ref.: 201602956630 1a 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; SELECT NOMEA ALUNO, NOMEP PROFESSOR, TITULO FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA; 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 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 AND A.MATA = T.MATA; Ref.: 201602471828 2a Questão Qual comando SQL é utilizado para obter um conjunto de dados em uma tabela em um banco de dados? INSERT UPDATE SELECT GET JOIN Ref.: 201602470842 3a Questão O operador que possibilita a seleção de uma faixa de valores sem a necessidade do uso dos operadores >=, <= e AND é: LIKE BETWEEN HAVING IN GROUP BY Ref.: 201603034711 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) 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 = N.IDEspécie AND 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 = E.IDEspecie AND N.IDEspécie = E.IDEspecie AND UPPER (NomePopular) like '_k'; Ref.: 201602470991 5a Questão Dentre as sub-linguagens definidas na Linguagem SQL, o comando SELECT faz parte de qual delas? DML DRL DDL DCL Controle de transações Ref.: 201602471203 6a 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 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; 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); Ref.: 201603037157 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: 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; 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; Ref.: 201602471182 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 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 1000 BETWEEN 2000; SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE SALARIO BETWEEN 1000 AND 2000; SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE SALARIO BETWEEN 1000 AND 2000; SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE SALARIO BETWEEN 1000 TO 2000; /////////////////////////////////////////////////////////////////////////////////////////////// SQL PARTE 3 - FUNÇÕES DE GRUPO E ORDENAÇÃO Ref.: 201602471191 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 é: Nenhuma das respostas acima. SELECT SUM(SALARIO) FROM FUNCIONARIO; SELECT MEDIA(SALARIO) FROM FUNCIONARIO; SELECT AVG(SALARIO) FROM FUNCIONARIO; SELECT SALARIO FROM FUNCIONARIO AVG; Ref.: 201602608045 2a Questão UM recurso do comando SELECT é a possibilidade de agruparmos nossos dados. Para isso usamos a cláusula: SUM ORDER JOIN ORDER BY GROUP BY Ref.: 201602471217 3a 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 ASC NOME; SELECT ID, NOME FROM DEPARTAMENTO ORDER BY DESC NOME; SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME ASC; SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME DESC; SELECT ID, NOME FROM DEPARTAMENTO ORDER BY NOME; Ref.: 201602471936 4a Questão Qual o resultado da consulta SELECT COUNT(DISTINCT X) FROM R? 1 4 0 2 3 Ref.: 201602470856 5a Questão Na linguagem SQL, para totalizarmos os valores de uma coluna usamos o comando: SUM AVG EQUAL GROUP BY COUNT Ref.: 201602472120 6a Questão Considere a seguinte consulta SQL: SELECT nome, count(*) FROM aluno GROUP BY nome Esta consulta tem como resultado. o atributo nome e o número de registros existentes para cada nome, da tabela aluno. todos os atributos da tabela nome, além do atributo especial Count. todos os atributos das tabelas nome e aluno. 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. Ref.: 201602471252 7a 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 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 IN (11, 21, 22, 31, 42, 51) GROUP BY ID_DEPTO; SELECT MAXIMO(SALARIO) FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51) GROUP BY ID_DEPTO; Ref.: 201602470852 8a Questão Em SQL, para contar linhas usamos: COUNT SELECT AVG SUM GROUP BY ////////////////////////////////////////////////////////////////////////////////////////////////////////////// ef.: 201602471246 1a 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_DEPTO; SELECT MIN(SALARIO) FROM EMPREGADO GROUP BY ID_DEPTO; SELECT MINIMO(SALARIO) FROM EMPREGADO GROUP BY ID_DEPTO; SELECT MINUS(SALARIO) FROM EMPREGADO GROUP BY ID; SELECT MIN(SALARIO) FROM EMPREGADO GROUP BY ID; Ref.: 201603034669 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, 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; 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 T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO AND SEXO = 'F' AND DATA BETWEEN '01/01/2002' AND '31/12/2013'; Ref.: 201602470847 3a Questão Quando desejamos selecionar o maior e o menor valor de um atributo numérico usamos: MAIOR, MENOR SUM COUNT AVG MIN, MAX Ref.: 201602471930 4a Questão Qual será o resultado da consulta SELECT COUNT(DISTINCT salario) FROM funcionario? 7 6 8 9 5 Ref.: 201603034729 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: 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 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; SELECT nomeEspécie FROM Ordem O, Espécie E WHERE O.IDOrdem = E.IDordem 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 nomeOrdem FROM Ordem O, Espécie E WHERE O.IDEspécie = E.IDEspécie AND E.IDEspécie <= 018013; Ref.: 201602471131 6a Questão Considere a relação: FUNCIONARIO (matrícula, cargo, salario, admissao) A consulta SQL que mostra o total dos salários dos funcionários é: SELECT * FROM FUNCIONARIO WHERE SUM (SALARIO); SELECT SUM (SALARIO) FROM FUNCIONARIO; Nenhuma das repostas acima SELECT SALARIO FROM FUNCIONARIO WHERE SUM (SALARIO); SELECT SUM (SALARIO) FROM FUNCIONARIO WHERE SALARIO; Ref.: 201602471858 7a 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 * OVER PACIENTE ASC NOME_PACIENTE; SELECT * FROM PACIENTE ASC NOME_PACIENTE; SELECT * OVER PACIENTE ORDER BY NOME_PACIENTE; SELECT * FROM PACIENTE ORDER BY NOME_PACIENTE; SELECT * FROM PACIENTE DESC NOME_PACIENTE; Ref.: 201603037179 8a 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) Nome (IDNome, IDEspécie, NomePopular) Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo) Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua) Assinale em qual das consultas abaixo são selecionados nomes populares de tubarões, sem repetição, que foram capturados com temperatura da água igual a 25 e 27 graus: SELECT DISTINCT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE N.IDESPÉCIE = E.IDESPECIE AND E.IDESPECIE = T.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA IN(25,27); SELECT DISTINCT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE N.IDESPÉCIE = E.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA IN(25,27); SELECT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE N.IDESPÉCIE = E.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA NOT BETWEEN 25 AND 27; SELECT DISTINCT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE N.IDESPÉCIE = E.IDESPECIE AND E.IDESPECIE = T.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA = 25 AND 27; SELECT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE N.IDESPÉCIE = E.IDESPECIE AND E.IDESPECIE = T.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA BETWEEN 25 AND 27; /////////////////////////////////////////////////////////////////////////////////////// SQL PARTE 4 – JUNÇÃO Ref.: 201602632741 1a Questão Uma operação de junção pode ser considerada uma sequência de duas operações. São elas: PROJEÇÃO E UNIÃO PRODUTO CARTESIANO E PROJEÇÃO SELEÇÃO E PROJEÇÃO PRODUTO CARTESIANO E SELEÇÃO INTERSEÇÃO E UNIÃO Ref.: 201602484043 2a Questão Listar cpf e nome do cliente que possui o veículo placa BDQ2012. SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa = 'BDQ2012'; SELECT c.cpf, c.cliente FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa = 'BDQ2012'; SELECT c.cpf, v.veiculo FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa = 'BDQ2012'; SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf ; Nenhuma das consultas acima. Ref.: 201602627077 3a Questão Para se obter todos as matrículas, nomes e descrições dos departamentos de todos empregados independente de terem ou não códigos de departamento atribuídos (entenda-se por nulo os departamentos não atribuídos) deve-se escrever qual o select: SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, D.VC_DEP_NOME AS DEPARTAMENTO FROM EMPREGADO E INNER JOIN DEPARTAMENTO D ON E.NU_EMP_DEPARTAMENTO != D.ID_DEP_CODIGO; SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, D.VC_DEP_NOME AS DEPARTAMENTO FROM EMPREGADO E LEFT JOIN DEPARTAMENTO D ON E.NU_EMP_DEPARTAMENTO = D.ID_DEP_CODIGO; SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, D.VC_DEP_NOME AS DEPARTAMENTO FROM EMPREGADO E INNER JOIN DEPARTAMENTO D ON E.NU_EMP_DEPARTAMENTO = D.ID_DEP_CODIGO; SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, D.VC_DEP_NOME AS DEPARTAMENTO FROM EMPREGADO E INNER JOIN DEPARTAMENTO D ON E.NU_EMP_DEPARTAMENTO = D.ID_DEP_CODIGO WHERE E.NU_EMP_DEPARTAMENTO IS NULL; SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, D.VC_DEP_NOME AS DEPARTAMENTO FROM EMPREGADO E RIGHT JOIN DEPARTAMENTO D ON E.NU_EMP_DEPARTAMENTO = D.ID_DEP_CODIGO; Ref.: 201602393108 4a Questão São tipos de JOIN: INNER JOIN, LEFT JOIN e RIGHT JOIN. SELECT JOIN, INNER JOIN, LEFT JOIN e RIGHT JOIN. SELECT JOIN e INNER JOIN. Apenas o INNER JOIN e o LEFT JOIN. Apenas o INNER JOIN. Ref.: 201603148295 5a Questão Um sistema de informação usa um banco de dados relacional que possui tabelas cujos esquemas em SQL estão representados a seguir. CREATE TABLE Artista ( id INTEGER PRIMARY KEY, nome VARCHAR(40) NOT NULL, CPF CHAR(11) NOT NULL, dataNascimento DATE, UNIQUE (CPF) ); CREATE TABLE Evento ( id INTEGER PRIMARY KEY, descricao VARCHAR(60) NOT NULL, numMaxConvidados INTEGER DEFAULT 0, CHECK (numMaxConvidados >= 0) ); CREATE TABLE Atuacao ( idArtista INTEGER, idEvento INTEGER, PRIMARY KEY (idArtista, idEvento), FOREIGN KEY (idArtista) REFERENCES Artista, FOREIGN KEY (idEvento) REFERENCES Evento(id)); O sistema também possui uma consulta que integra um de seus relatórios, conforme indicado a seguir: SELECT A.nome, E.descricao FROM Evento E FULL JOIN Atuacao T ON E.id = T.idEvento FULL OUTER JOIN Artista A ON T.idArtista = A.id Considerando que todas as tabelas possuem dados, o resultado da consulta utilizada no relatório e: O nome de todos os artistas combinados com a descrição de todos os eventos O nome de todos os artistas e, caso eles participem de eventos, a descrição do evento. A descrição de todos os eventos e, caso haja artistas alocados, os seus nomes. O nome de todos os artistas, a descrição de todos os eventos e, caso eles se relacionem, os dois combinados. O nome de todos os artistas e a descrição de todos os eventos em que eles atuam. Ref.: 201602960987 6a Questão Qual a sintaxe SQL-SELECT errada? SELECT COLUNA1, COLUNA2, COLUNA3 FROM TABELA1 ORDER BY 1 ASC, 2 DESC, 3 ASC; SELECT COUNT(*) FROM TABELA1; SELECT X.COLUNA1, AVG(Y.COLUNA2) FROM TABELA1 X INNER JOIN TABELA2 Y ON X.COLUNA3=Y.COLUNA4 GROUP BY X.COLUNA1; SELECT COLUNA1, COLUNA2 FROM TABELA1 WHERE COLUNA3 LIKE ('%X%') ORDER BY 3;SELECT COLUNA1, COLUNA2 FROM TABELA1 WHERE COLUNA3 IN (1,2,3); Ref.: 201602953872 7a Questão SELECT DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A; SELECT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA; SELECT DISTINCT NOMEP FROM PROFESSOR P , TCC T, ALUNO A; SELECT DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA; SELECT NOMEP FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA; Ref.: 201602627069 8a Questão Para se obter a quantidade de empregados por cargo deve-se digitar qual o select abaixo: SELECT C.DESCRICAO AS CARGO, SUM(E.MATRICULA) AS QTDE FROM CARGO C INNER JOIN EMPREGADO E ON C.CODIGO = E.CARGO GROUP BY C.DESCRICAO; SELECT DESCRICAO AS CARGO, COUNT(MATRICULA) AS QTDE FROM CARGO C INNER JOIN EMPREGADO E ON CODIGO = CARGO GROUP BY DESCRICAO; SELECT C.DESCRICAO AS CARGO, COUNT(E.MATRICULA) AS QTDE FROM CARGO C INNER JOIN EMPREGADO E GROUP BY C.DESCRICAO; SELECT C.DESCRICAO AS CARGO, COUNT(E.MATRICULA) AS QTDE FROM CARGO C INNER JOIN EMPREGADO E ON C.CODIGO = E.CARGO GROUP BY C.DESCRICAO; SELECT C.DESCRICAO AS CARGO, COUNT(E.MATRICULA) AS QTDE GROUP BY C.DESCRICAO FROM CARGO C INNER JOIN EMPREGADO E ON C.CODIGO = E.CARGO; /////////////////////////////////////////////////////////////////////////////////////////////////// 1a Questão A operação SQL que recupera tuplas provenientes de duas tabelas é: Seleção Subtração Projeção Relação Junção Ref.: 201603384605 2a Questão São restrições para manipular (INSERT, DELETE ou UPDATE) os dados de uma tabela no banco dados através de uma visão, EXCETO: A chave primaria estar contida na consulta que originou a visão. Não possuir junções, ou seja, ter sido criada sobre uma única tabela. Não possuir a cláusula DISTINCT na sua consulta. Não possuir colunas derivadas de funções de agregação. As cláusulas GROUP BY ou HAVING não estarem presentes na sua consulta. Explicação: A chave primária deve estar contida na consulta que gerou a visão para que possa receber valor em caso de INSERT. Ref.: 201602393104 3a Questão Qual comando representa a especificação abaixo? Especifica a junção entre duas tabelas com uma cláusula de junção explícita. INNER JOIN WHERE GROUP BY ORDER BY SELECT Ref.: 201602392211 4a Questão Conforme a relação de empregado abaixo, através da álgebra relacional, escolha a opção que selecione o nome e endereço de cada empregado, que possua salário superior a R$ 5.000,00. Empregado(matrícula, nome, endereço, salário, departamento, cargo). π salario>5000 X (δ nome,endereco (Empregado)) π salario>5000 (δ nome,endereco (Empregado)) δ nome,endereco (π salario>5000 (Empregado)) π nome,endereco (δ salario>5000 (Empregado)) π nome,endereço (Empregado) X (δ salario>5000 (Empregado)) Ref.: 201602632741 5a Questão Uma operação de junção pode ser considerada uma sequência de duas operações. São elas: PRODUTO CARTESIANO E PROJEÇÃO PROJEÇÃO E UNIÃO SELEÇÃO E PROJEÇÃO PRODUTO CARTESIANO E SELEÇÃO INTERSEÇÃO E UNIÃO Ref.: 201602484043 6a Questão Listar cpf e nome do cliente que possui o veículo placa BDQ2012. SELECT c.cpf, c.cliente FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa = 'BDQ2012'; Nenhuma das consultas acima. SELECT c.cpf, v.veiculo FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa = 'BDQ2012'; SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf WHERE v.placa = 'BDQ2012'; SELECT c.cpf, c.nome FROM Veiculo v INNER JOIN Cliente c ON v.Cliente_cpf = c.cpf ; Ref.: 201603148295 7a Questão Um sistema de informação usa um banco de dados relacional que possui tabelas cujos esquemas em SQL estão representados a seguir. CREATE TABLE Artista ( id INTEGER PRIMARY KEY, nome VARCHAR(40) NOT NULL, CPF CHAR(11) NOT NULL, dataNascimento DATE, UNIQUE (CPF) ); CREATE TABLE Evento ( id INTEGER PRIMARY KEY, descricao VARCHAR(60) NOT NULL, numMaxConvidados INTEGER DEFAULT 0, CHECK (numMaxConvidados >= 0) ); CREATE TABLE Atuacao ( idArtista INTEGER, idEvento INTEGER, PRIMARY KEY (idArtista, idEvento), FOREIGN KEY (idArtista) REFERENCES Artista, FOREIGN KEY (idEvento) REFERENCES Evento(id)); O sistema também possui uma consulta que integra um de seus relatórios, conforme indicado a seguir: SELECT A.nome, E.descricao FROM Evento E FULL JOIN Atuacao T ON E.id = T.idEvento FULL OUTER JOIN Artista A ON T.idArtista = A.id Considerando que todas as tabelas possuem dados, o resultado da consulta utilizada no relatório e: O nome de todos os artistas e, caso eles participem de eventos, a descrição do evento. O nome de todos os artistas, a descrição de todos os eventos e, caso eles se relacionem, os dois combinados. O nome de todos os artistas combinados com a descrição de todos os eventos O nome de todos os artistas e a descrição de todos os eventos em que eles atuam. A descrição de todos os eventos e, caso haja artistas alocados, os seus nomes. Ref.: 201602960987 8a Questão Qual a sintaxe SQL-SELECT errada? SELECT X.COLUNA1, AVG(Y.COLUNA2) FROM TABELA1 X INNER JOIN TABELA2 Y ON X.COLUNA3=Y.COLUNA4 GROUP BY X.COLUNA1; SELECT COLUNA1, COLUNA2 FROM TABELA1 WHERE COLUNA3 IN (1,2,3); SELECT COUNT(*) FROM TABELA1; SELECT COLUNA1, COLUNA2, COLUNA3 FROM TABELA1 ORDER BY 1 ASC, 2 DESC, 3 ASC; SELECT COLUNA1, COLUNA2 FROM TABELA1 WHERE COLUNA3 LIKE ('%X%') ORDER BY 3; ///////////////////////////////////////////////////////////////////////////////////////////// SQL PARTE 5 - SUBCONSULTA E OPERADORES DE CON... f.: 201602393634 1a Questão Com base nas tabelas empregado(mat, cpf, nome) e aluno(mat, cpf, nome), assinale a opção correta que corresponde à consulta a seguir: select cpf from empregado intersect select cpf from aluno; A consulta exibirá somente o cpf dos empregados A consulta exibirá o cpf dos empregados que também são alunos A consulta incluirá na tabela empregado todos os cpf dos alunos A consulta exibirá o cpf de todos os empregados e de todos os alunos A consulta retornará um erro Ref.: 201602627075 2a Questão Sabendo que a estrutura da tabela é: ID_EMP_MATRICULA, VC_EMP_NOME, NU_EMP_CARGO, NU_EMP_SALARIO, NU_EMP_GRATIFICACAO, NU_EMP_DESCONTO. Pede-se que, exiba a(s) matrícula(s), o(s) nome(s), o(s) salário(s) líquido(s) do(s) maior(es) salário(s) pago(s) aos empregados pela empresa. Qual a alternativa válida: SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO IN MAX(E.NU_EMP_SALARIO); SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO = MAX(E.NU_EMP_SALARIO); SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNERJOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO > E.NU_EMP_SALARIO; SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO HAVING E.NU_EMP_SALARIO IN (SELECT MAX(X.NU_EMP_SALARIO) FROM EMPREGADO X)); SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO IN (SELECT MAX(X.NU_EMP_SALARIO) FROM EMPREGADO X)); Ref.: 201602608160 3a Questão Uma consulta que ocorre dentro de outro comando SQL é denominada: Operação Não é possivel uma consulta deste tipo Subconsulta Consulta interna Consulta externa Ref.: 201602484371 4a Questão (FCC - 2009 - Análise de Sistemas - Suporte - ADAPTADA) Uma instrução Select usada na cláusula Where ou Having de outra instrução Select é Um join. Uma subconsulta. Uma visão. Um índice. Um crosstab. Ref.: 201602488273 5a Questão Qual dos tipos de sub-consulta que faz referência a uma coluna da tabela da consulta externa? Sub-Consulta Multi-Valorada Sub-Consulta Correlata Sub-Consulta Simple Sub-Consulta Multi-Linhas Sub-Consulta Principal Ref.: 201602488277 6a Questão Qual dos operadores de comparação de consultas Multi-Linhas a seguir NÃO é válido? = ANY = <> ALL > ALL < ALL Ref.: 201602484309 7a Questão (FGV - 2010 - DETRAN-RN - Assessor Técnico - Administração de Banco de Dados) Assinale a alternativa correta sobre fragmento de comando a seguir: (select distinct nome_cliente from contas) intersect (select distinct nome_cliente from emprestimos) Se um cliente não possui conta mas possui empréstimos no banco, aparecerá no resultado. Se um cliente tem diversas contas e empréstimos no banco, não aparecerá no resultado. Se um cliente tem diversas contas e empréstimos no banco, aparecerá todas as repetições no resultado. Se um cliente tem diversas contas e empréstimos no banco, aparecerá somente uma vez no resultado. Se um cliente possui conta mas não possui empréstimos no banco, aparecerá no resultado. Ref.: 201602627076 8a Questão Sabendo que a estrutura da tabela é: ID_EMP_MATRICULA, VC_EMP_NOME, NU_EMP_CARGO, NU_EMP_SALARIO, NU_EMP_GRATIFICACAO, NU_EMP_DESCONTO. Pede-se que, exiba a(s) matrícula(s), o(s) nome(s), o(s) salário(s) líquido(s) do(s) maior(es) salário(s) pago(s) aos empregados pela empresa, apenas dos que sejam do cargo de código 99 e que o salário líquido seja maior que 3000. Para se resolver essa consulta deve-se obrigatoriamente usar além das argumentos SELECT e FROM, usar: WHERE e HAVING e SUBQUERY. WHERE e SUBQUERY. WHERE, GROUP BY e HAVING. WHERE, GROUP BY e SUBQUERY. WHERE. ///////////////////////////////////////////////////////////////////////////////////////////// 1a Questão Com base nas tabelas empregado(mat, cpf, nome) e aluno(mat, cpf, nome), assinale a opção correta que corresponde à consulta a seguir: select cpf from empregado intersect select cpf from aluno; A consulta exibirá somente o cpf dos empregados A consulta exibirá o cpf de todos os empregados e de todos os alunos A consulta retornará um erro A consulta exibirá o cpf dos empregados que também são alunos A consulta incluirá na tabela empregado todos os cpf dos alunos Ref.: 201602627075 2a Questão Sabendo que a estrutura da tabela é: ID_EMP_MATRICULA, VC_EMP_NOME, NU_EMP_CARGO, NU_EMP_SALARIO, NU_EMP_GRATIFICACAO, NU_EMP_DESCONTO. Pede-se que, exiba a(s) matrícula(s), o(s) nome(s), o(s) salário(s) líquido(s) do(s) maior(es) salário(s) pago(s) aos empregados pela empresa. Qual a alternativa válida: SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO HAVING E.NU_EMP_SALARIO IN (SELECT MAX(X.NU_EMP_SALARIO) FROM EMPREGADO X)); SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO > E.NU_EMP_SALARIO; SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO = MAX(E.NU_EMP_SALARIO); SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO IN MAX(E.NU_EMP_SALARIO); SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO IN (SELECT MAX(X.NU_EMP_SALARIO) FROM EMPREGADO X)); Ref.: 201602608160 3a Questão Uma consulta que ocorre dentro de outro comando SQL é denominada: Consulta interna Consulta externa Operação Não é possivel uma consulta deste tipo Subconsulta Ref.: 201602484371 4a Questão (FCC - 2009 - Análise de Sistemas - Suporte - ADAPTADA) Uma instrução Select usada na cláusula Where ou Having de outra instrução Select é Um join. Um crosstab. Uma visão. Uma subconsulta. Um índice. Ref.: 201602488273 5a Questão Qual dos tipos de sub-consulta que faz referência a uma coluna da tabela da consulta externa? Sub-Consulta Multi-Linhas Sub-Consulta Multi-Valorada Sub-Consulta Simple Sub-Consulta Principal Sub-Consulta Correlata Ref.: 201602488277 6a Questão Qual dos operadores de comparação de consultas Multi-Linhas a seguir NÃO é válido? <> ALL = = ANY > ALL < ALL Ref.: 201602484309 7a Questão (FGV - 2010 - DETRAN-RN - Assessor Técnico - Administração de Banco de Dados) Assinale a alternativa correta sobre fragmento de comando a seguir: (select distinct nome_cliente from contas) intersect (select distinct nome_cliente from emprestimos) Se um cliente tem diversas contas e empréstimos no banco, aparecerá somente uma vez no resultado. Se um cliente tem diversas contas e empréstimos no banco, não aparecerá no resultado. Se um cliente tem diversas contas e empréstimos no banco, aparecerá todas as repetições no resultado. Se um cliente não possui conta mas possui empréstimos no banco, aparecerá no resultado. Se um cliente possui conta mas não possui empréstimos no banco, aparecerá no resultado. Ref.: 201602627076 8a Questão Sabendo que a estrutura da tabela é: ID_EMP_MATRICULA, VC_EMP_NOME, NU_EMP_CARGO, NU_EMP_SALARIO, NU_EMP_GRATIFICACAO, NU_EMP_DESCONTO. Pede-se que, exiba a(s) matrícula(s), o(s) nome(s), o(s) salário(s) líquido(s) do(s) maior(es) salário(s) pago(s) aos empregados pela empresa, apenas dos que sejam do cargo de código 99 e que o saláriolíquido seja maior que 3000. Para se resolver essa consulta deve-se obrigatoriamente usar além das argumentos SELECT e FROM, usar: WHERE e SUBQUERY. WHERE e HAVING e SUBQUERY. WHERE. WHERE, GROUP BY e SUBQUERY. WHERE, GROUP BY e HAVING. /////////////////////////////////////////////////////////////////////////////////////////////// SQL PARTE 6 - OUTROS OBJETOS DE BANCO DE DADO... ef.: 201602488286 1a Questão Para sabermos o valor atual em uma sequência, devemos usar: Select NomeSequencia.NEXTVAL from NomeTabela Select NomeSequencia.CURRVAL from Dual Nenhuma das demais respostas Select NomeSequencia.CURRVAL from NomeTabela Select NomeSequencia.NEXTVAL from Dual Ref.: 201602416994 2a Questão Com relação a Chaves e índices de Banco de Dados: 1 ) Chave designa o conceito de item de busca, ou seja , um dado que será empregado na consulta à base de dados. É um conceito lógico da aplicação; 2 ) Índice e um recurso físico visando otimizar a recuperação de uma informação, via um método de acesso. Seu objetivo principal está relacionado com a performance do sistema. 3 ) Uma chave pode ser utilizada como índice , mas um índice não e necessariamente uma chave. 4) Podemos ter em um banco de dados quantos índices desejarmos, sem qualquer tipo de preocupação Escolha a alternativa correta: Apenas os itens 1 e 4 estão corretos. Apenas os itens 1, 2 e 3 estão corretos. Todos os quatro itens estão corretos. Apenas os ítens 2 e 3 estão corretos. Apenas os ítens 1 e 2 estão corretos. Ref.: 201602470947 3a Questão Uma visão quando aplicada a uma base de dados, é capaz de: Permite alterar os tipos definidos nos meta-dados do SGBD. Permitir a criação de um conjunto de dados virtual para ser usados em consultas. Permitir a representação conceitualmente os dados de uma base de dados. Permitir ao usuário definir os dados que deseja ver no momento da criação de uma consulta. Permitir a implementação de uma nova tabela com dados oriundos de outras tabelas. Ref.: 201602484989 4a Questão 1. ______________ são objetos que apresentam auto-incremento. 2. ______________ uma pseudocoluna utilizada para extrair valores de uma sequence qualquer, sempre que for referenciada. 3. ______________ uma pseudocoluna utilizada para informar o último valor gerado por uma sequence. É sempre incrementada após um ______________ 4. Nextval e currval ___________ ser usados na cláusula VALUES de um comando INSERT 5. Nextval e currval ___________ ser usados dentro de uma subconsulta. As palavras que preenchem as lacunas corretamente estão representadas em: (1) sequences (2) currval - (3) nextval e nextval (4) não podem (5) podem (1) indices (2) nextval (3) currval e nextval (4) podem (5) não podem (1) sequences (2) currval (3) nextval e nextval (4) não podem (5) não podem (1) sequences (2) nextval (3) currval e nextval (4) podem (5) não podem (1) sequences (2) nextval (3) currval e nextval (4) podem (5) podem Ref.: 201603148312 5a Questão O comando SQL para criar uma visão chamada Eye, abrangendo os atributos A1 e A2 da tabela Pen, é: CREATE VIEW Eye AS SELECT A1, A2 FROM Pen COMPOSE FLASH Eye AS A1, A2 FROM Pen BUILD Eye AS INSERT A1, A2 FROM Pen COMPILE Eye AS INSERT A1, A2 FROM Pen CREATE DROP Eye FROM A1, A2 FROM Pen Ref.: 201602630291 6a Questão O comando para apagar um visão é: DELETE VIEW DROP VIEW DEL VIEW NEW VIEW CANCEL VIEW Ref.: 201602488291 7a Questão Para criarmos um índice para a tabela Fornecedor pelo Bairro e Cidade devemos dar o seguinte comando: Create Index Forn_Bairro_Cidade ON Fornecedor(Bairro, Cidade) Create Index Fornecedor BY Bairro, Cidade Create Index Fornecedor ON Forn_Bairro_Cidade(Bairro, Cidade) Create Index Forn_Bairro_Cidade ON Fornecedor BY Bairro, Cidade Create Index Forn_Bairro_Cidade From Fornecedor BY Bairro, Cidade Ref.: 201602630289 8a Questão São tipos de visões: Simples Simples e Complexas Complexas Abstratas Simples e Abstratas ////////////////////////////////////////////////////////////////////////////////////////// Ref.: 201602484973 1a Questão Analise as afirmações abaixo: I. Quando fazemos uma consulta em uma View podemos usar todos as clausulas do comando Select, tais como : Where, Group By, Having e Order By. II. Quando fazemos uma consulta em uma View podemos utilizar os operadores relacionais ( in, between, like, is null), os operadores lógicos ( and, or not) e as funções de grupo. III. Quando fazemos uma consulta em uma View podemos fazer junções com uma tabela IV. Quando fazemos uma consulta em uma View podemos fazer subconsultas e utilizar operadores de conjunto; São VERDADEIRAS: I, II e III. I e II. I, II, e IV. I, II, III e IV. I, III e IV. Ref.: 201602488288 2a Questão Dentre as regras de utilização de NEXTVAL e CURRVAL, qual das opções abaixo NÃO pode ser usada? Na cláusula WHERE de um comando DELETE Na cláusula SET de um comando UPDATE No SELECT da query principal de uma construção com subqueries Numa cláusula SELECT em tabelas (exceção a Views) Na cláusula VALUES de um comando INSERT Ref.: 201602488284 3a Questão Quanto a visões, é correto afirmar: I - Pode-se fazer uma consulta a uma view com as cláusulas Having e Group By. II - Pode-se fazer subconsultas e utilizar operadores de conjunto em uma view. III - Uma visão pode permitir, com restrições que os dados da tabela sejam manipulados em comando de INSERT, UPDATE e DELETE, porém, não armazena estes dados. Apenas as afirmações II e III são corretas. Apenas as afirmações I e II são corretas. Todas as afirmações estão corretas. Apenas as afirmações I e III são corretas. Apenas a afirmação III é correta. Ref.: 201602488291 4a Questão Para criarmos um índice para a tabela Fornecedor pelo Bairro e Cidade devemos dar o seguinte comando: Create Index Fornecedor BY Bairro, Cidade Create Index Forn_Bairro_Cidade ON Fornecedor(Bairro, Cidade) Create Index Forn_Bairro_Cidade ON Fornecedor BY Bairro, Cidade Create Index Forn_Bairro_Cidade From Fornecedor BY Bairro, Cidade Create Index Fornecedor ON Forn_Bairro_Cidade(Bairro, Cidade) Ref.: 201602630289 5a Questão São tipos de visões: Abstratas Simples e Complexas Simples Complexas Simples e Abstratas Ref.: 201602484989 6a Questão 1. ______________ são objetos que apresentam auto-incremento. 2. ______________ uma pseudocoluna utilizada para extrair valores de uma sequence qualquer, sempre que for referenciada. 3. ______________ uma pseudocoluna utilizada para informar o último valor gerado por uma sequence. É sempre incrementada após um ______________ 4. Nextval e currval ___________ ser usados na cláusula VALUES de um comando INSERT 5. Nextval e currval ___________ ser usados dentro de uma subconsulta. As palavras que preenchem as lacunas corretamente estão representadas em: (1) sequences (2) currval (3) nextval e nextval (4) não podem (5) não podem (1) sequences (2) currval - (3) nextval e
Compartilhar