Questões de Concurso Sobre sql em banco de dados

Foram encontradas 4.619 questões

Q921773 Banco de Dados
Analise a definição das tabelas “candidato” e “pagamento”, bem como os registros que foram inseridos. Responda a questão, considerando o script 1.


Considerando os registros existentes na tabela “candidato”, qual consulta SQL seria necessária executar no PostgreSQL, versão 9.2, para que se obtenha EXATAMENTE o mesmo resultado da figura 1?
Imagem associada para resolução da questão
Alternativas
Q921493 Banco de Dados
Observe as tabelas a seguir, definidas em SQL (padrão SQL2 ou superior).
Create table PRODUTOS (codp integer not null, nomep varchar(60) not null, categoria varchar(30) default 'perfumaria' not null, preco numeric(5,2) default 0, estoque integer, primary key(codp));
create table PRODUTOSDESCONTINUADOS (codp integer not null, nomep varchar(60) not null, categoria varchar(30) default 'desconhecido' not null, preco numeric(5,2) default 0, primary key(codp));
Considere o conjunto de comandos SQL de inserção de tuplas nas tabelas abaixo (mesmo padrão) e suponha que não haja problemas com os valores fornecidos como chave-primária.
I - INSERT INTO PRODUTOS (codp, nomep, preco) VALUES (1, 'gasex', 100); II - INSERT INTO PRODUTOSDESCONTINUADOS SELECT codp, nomep, categoria from PRODUTOS WHERE estoque IS NULL; III- INSERT INTO PRODUTOSDESCONTINUADOS VALUES (30, 'biutiful', null, null);
Quais comandos SQL de inserção executam corretamente?
Alternativas
Q921492 Banco de Dados
Suponha a tabela ENSINO, descrita abaixo em SQL.
Create table ENSINO (matr integer not null, disciplina varchar(50) not null, professor varchar(60) not null, nota numeric(3,1), primary key (matr, disciplina));
Considere que sobre esta tabela existem as seguintes dependências funcionais não triviais, e apenas estas:
matr, disciplina professor, nota professor disciplina
Para cada forma normal apresentada abaixo, assinale com V (verdadeiro), se a tabela estiver nessa forma normal ou F (falso), se não estiver.
( ) Segunda Forma Normal ( ) Terceira Forma Normal ( ) Forma Normal Boyce-Codd
A ordem correta de preenchimento dos parênteses, de cima para baixo, é
Alternativas
Q921491 Banco de Dados
Considere uma empresa multinacional de TI, com sedes em diferentes países do mundo, cujos empregados estão distribuídos por essas sedes, desempenhando diferentes funções. Tal empresa precisa determinar quais empregados poderiam preencher posições em diferentes projetos. Com esse propósito, a empresa definiu as tabelas EMPREGADOS, POSICOES e PROJETOS especificadas a seguir em SQL (padrão SQL2 ou superior), e populou-as com instâncias, conforme a sequência de comandos INSERT abaixo.
  Imagem associada para resolução da questão

I - select * from empregados natural join posicoes natural join projetos;

II - select * from empregados left join posicoes using (funcao) left join projetos using (codp);

III- select * from empregados join posicoes using (funcao) right join projetos using (codp);

IV - select * from empregados join posicoes using (funcao) cross join projetos;


Assinale a alternativa que apresenta, na ordem correta (de cima para baixo), o número de instâncias resultante de cada comando SELECT.
Alternativas
Q921490 Banco de Dados
As tabelas ALUNOS, MATRICULAS e DISCIPLINAS a seguir representam os alunos de um curso, as disciplinas oferecidas e as matrículas de alunos nas disciplinas. As definições SQL (padrão SQL2 ou superior) destas tabelas estão especificadas abaixo.
Create table ALUNOS (matr char(2) not null primary key, nome varchar(60) not null);
Create table DISCIPLINAS (codd char(5) not null primary key, nomed varchar(60) not null);
Create table MATRICULAS (matr char(2) not null, codd char(5) not null, nota numeric(3,1), primary key(matr,codd), foreign key(matr) references ALUNOS, foreign key (codd) references DISCIPLINAS);
Observe as instâncias abaixo das tabelas ALUNOS e MATRICULAS.
Imagem associada para resolução da questão

Considere a seguinte consulta SQL, que segue o padrão SQL2 (ou superior).
Select nome From ALUNOS NATURAL JOIN MATRICULAS WHERE nota >7 GROUP BY matr, nome HAVING COUNT(distinct nota) >1 ;
A consulta SQL acima retornará:
Alternativas
Q921488 Banco de Dados
Dada uma instalação de um sistema de gerência de dados baseado em SQL (padrão SQL2 ou superior), suponha que o administrador do banco de dados tenha criado os usuários U1, U2, U3 e U4 com os privilégios default do sistema. Suponha que o usuário U1 é dono da tabela TAB1 e deseja conceder privilégios de acesso a essa tabela para outros usuários. Considere os comandos abaixo executados pelos usuários U1 e U2 na sequência especificada (1, seguido de 2, seguido de 3).
1 – USUÁRIO U1 executa o comando GRANT SELECT, INSERT ON TAB1 TO U2 WITH GRANT OPTION; 2 – USUARIO U2 executa o comando GRANT SELECT ON TAB1 TO U3; 3 – USUARIO U1 executa o comando REVOKE INSERT ON TAB1 FROM U2;
Assumindo que os comandos acima, na sequência especificada, executaram sem erros, considere cada situação abaixo, assinalando V (verdadeiro) se o usuário tem a permissão de realizar o comando especificado, ou F (falso) se não tem essa permissão.
( ) usuário U3 consulta a tabela TAB1 usando o comando SELECT ( ) usuário U3 insere uma tupla na tabela TAB1 usando o comando INSERT
( ) Usuário U2 concede o privilégio de consultar a tabela TAB1 ao usuário U4 usando o comando GRANT
A sequência correta de preenchimento dos parênteses, de cima para baixo, é
Alternativas
Q921486 Banco de Dados
Quanto ao modelo de transações definido no padrão SQL (SQL2 ou superior), assinale com V (verdadeiro) ou F (falso) as afirmações abaixo.
( ) O comando SET TRANSACTION define as propriedades da próxima transação a ser executada e não tem efeito sobre transações já em execução. ( ) O comando ROLLBACK desfaz todas as mudanças realizadas sobre a base de dados, sempre desde o início da transação. ( ) Entre as propriedades que podem ser definidas em um comando SET TRANSACTION, estão o nível de isolamento e o nível de acesso.
A sequência correta de preenchimento dos parênteses, de cima para baixo, é
Alternativas
Q921485 Banco de Dados
Analise a tabela MEDICOS e as visões CIRURGIOES e CIRURGIOESSP, definidas pelos comandos SQL abaixo (padrão SQL2 ou superior).
Imagem associada para resolução da questão

Supondo que o modo auto-commit de execução esteja ativado, isto é, cada comando em isolado corresponde a uma transação, avalie as instruções SQL abaixo.
I - insert into cirurgioes values (2, 'pedro', 2000, 'SP'); II - insert into cirurgioesSP values (4, 'carla', 'RS'); III- insert into cirurgioesSP values (5, 'maria', 'SP');
Considerando o conceito de visão atualizável (updatable view) de SQL (mesmo padrão), qual dos comandos acima executa sem falha?
Alternativas
Q921482 Banco de Dados
As tabelas DISCIPLINAS, ALUNOS, e MATRICULAS, definidas abaixo, usando SQL (padrão SQL2 ou superior), representam alunos, disciplinas oferecidas em um curso e matrículas de alunos nestas disciplinas.
create table ALUNOS (coda integer not null primary key, nomea varchar(60) not null);
create table DISCIPLINAS (codd integer not null primary key, nomed varchar(100) not null, professor varchar(2) not null);
create table MATRICULAS (coda integer not null, codd integer not null, nota integer not null, primary key (coda, codd), foreign key (coda) references ALUNOS, foreign key (codd) references DISCIPLINAS);
Considere as seguintes consultas SQL no mesmo padrão, formuladas utilizando subconsultas.
I - SELECT distinct nomea, codd, nota FROM alunos natural join matriculas WHERE codd not in (SELECT distinct codd FROM disciplinas WHERE professor = 'joao da silva');
II - SELECT distinct nomea, codd, nota FROM alunos natural join matriculas WHERE coda not in (SELECT distinct coda FROM disciplinas natural join matriculas WHERE professor = 'joao da silva');
III- SELECT distinct nomea, codd, nota FROM alunos natural join matriculas WHERE coda in (SELECT distinct coda FROM matriculas WHERE nota = 10);
Quais dentre as consultas acima NÃO poderiam ser reescritas em termos das tabelas DISCIPLINAS, MATRICULAS E ALUNOS sem uso de subconsulta em nenhuma porção da consulta SQL, e sem utilizar a mesma tabela mais de uma vez na cláusula FROM?
Alternativas
Q921056 Banco de Dados
Um Auditor está executando operações em uma tabela chamada cidadao de um banco de dados aberto e em condições ideais. Para exibir os dados de todas as pessoas que possuem na segunda letra do campo nome a vogal a, deve-se utilizar a instrução SQL:
SELECT * FROM cidadao WHERE
Alternativas
Q919264 Banco de Dados
Em relação aos componentes do custo de execução de uma consulta SQL, analise as afirmativas a seguir.
I. O custo de acesso ao armazenamento secundário considera os custos de transferência (ler e gravar) blocos entre o armazenamento secundário e os buffers de memória principal. II. O custo de memória diz respeito ao número de buffers de memória principal necessário para a execução de uma consulta. III. O custo de comunicação diz respeito ao tempo de realizar as operações na memória em registros dentro dos buffers de dados.
Está correto o que se afirma em
Alternativas
Q919263 Banco de Dados
Durante o processo de otimização de consultas SQL, o otimizador utiliza várias condições simples em uma condição de seleção conjuntiva.
A condição que estabelece a razão entre o número de registros que satisfazem uma dada condição e o número total de registros no arquivo, é chamada de
Alternativas
Q918833 Banco de Dados

Considere os comandos SQL abaixo em um sistema de gerência de banco de dados relacional.


I - create table TAB1 (a integer not null primary key);

II - create table TAB2 (a integer check(a IS NOT NULL and a > 0));

III - alter table TAB1 add constraint c1 check(a > 10);

IV - create assertion C2 as CHECK (not exists (select * from TAB1 where a < 0));


Quais instruções resultarão na criação de uma ou mais restrições (constraints) no dicionário de dados (catálogo)?

Alternativas
Q918831 Banco de Dados

Uma agência de intercâmbios deseja mapear os interesses de estudantes que pretendem residir em uma dada cidade no exterior, com as famílias disponíveis para acolhê-los. Para isso, definiu as tabelas ESTUDANTES e RESIDENCIAS, descritas abaixo em SQL, contendo respectivamente estudantes com a cidade pretendida e as famílias com cidades de residência.


create table ESTUDANTES

(nome varchar(120) not null primary key,

cidade varchar(30) not null);


create table RESIDENCIAS

(familia varchar(120) not null primary key,

cidade varchar(30) not null);


Considere que estas tabelas possuem como conteúdo as instâncias resultantes dos oito comandos INSERT definidos em SQL abaixo.


insert into ESTUDANTES values ('clara', 'londres');

insert into ESTUDANTES values ('joao', 'londres');

insert into ESTUDANTES values ('magda', 'sidney');

insert into ESTUDANTES values ('pedro', 'paris');


insert into RESIDENCIAS values ('f1', 'londres');

insert into RESIDENCIAS values ('f2', 'paris');

insert into RESIDENCIAS values ('f3', 'toronto');

insert into RESIDENCIAS values ('f4', 'toronto');


A agência decidiu cruzar as informações das duas tabelas para investigar as opções de alojamento disponíveis. Considere as quatro consultas SQL abaixo, que representam opções de cruzamento de dados entre tabelas.


I - select *

from ESTUDANTES left join RESIDENCIAS using(cidade);

II - select *

from ESTUDANTES right join RESIDENCIAS using(cidade);

III - select *

from ESTUDANTES cross join RESIDENCIAS;

IV - select *

from ESTUDANTES inner join RESIDENCIAS using (cidade);


Quantas instâncias são recuperadas por cada comando SELECT acima, na ordem em que os comandos aparecem?

Alternativas
Q918830 Banco de Dados

Observe a tabela PRODUTOS abaixo.


create table PRODUTOS

(codp integer not null primary key,

nome varchar(120) not null,

preco numeric(5,2) not null,

desconto integer,

precoDoConcorrente numeric(5,2));


Considere as visões definidas abaixo usando SQL. Assuma que não existem gatilhos definidos sobre a tabela, nem para estas visões.


I - CREATE VIEW V1 AS

SELECT DISTINCT CODP, NOME, PRECO

FROM PRODUTOS

WHERE DESCONTO >0;

II - CREATE VIEW V2 AS

SELECT PRECO

FROM PRODUTOS

GROUP BY PRECO

HAVING COUNT(*) > 3;

III - CREATE VIEW V3 AS

SELECT CODP, NOME, PRECO

FROM PRODUTOS

WHERE PRECODOCONCORRENTE - PRECO >0;


Através de quais visões é possível inserir uma tupla na tabela PRODUTOS, usando um comando INSERT compatível com o respectivo esquema da visão?

Alternativas
Q918829 Banco de Dados

Observe as tabelas abaixo definidas em SQL.


create table EMPREGADOS

(matr integer not null primary key,

nome varchar(120) not null,

salario numeric(7,2) not null,

funcao varchar(35) not null,

feriasAVencer date);


create table AFASTAMENTOS

(code integer not null primary key,

nome varchar(120) not null,

salario numeric,

funcao varchar(35) not null,

tempo integer);


Considere abaixo a atuação dos comandos SQL de inserção.


I - INSERT INTO AFASTAMENTOS VALUES (1, 'joao', 'gerente');

II - INSERT INTO AFASTAMENTOS (code, nome, tempo, funcao) VALUES (2, 'pedro', 4, 'contador');

III - INSERT INTO AFASTAMENTOS

SELECT matr, nome, salario, funcao

FROM EMPREGADOS

WHERE funcao = 'indefinido';

IV - INSERT INTO AFASTAMENTOS VALUES (3, 'maria',

3000, 'gerente', 1), (4, 'carla', 1500, 'auxiliar', 2).


Quais comandos executam sem falhas?

Alternativas
Q918828 Banco de Dados

Observe a tabela PRODUTOS definida em SQL. Considere que existe uma tabela PARTES e que a tabela PRODUTOS possui 50 instâncias.


CREATE TABLE PRODUTOS

(CODP INTEGER NOT NULL,

NOMEP VARCHAR(60) NOT NULL,

PRECO NUMERIC(5,2),

TIPO INTEGER NOT NULL,

PROD_PK PRIMARY KEY(CODP),

FOREIGN KEY (TIPO) REFERENCES PARTES);


Considere que o projetista deseja fazer as seguintes modificações nesta tabela.


I - Remover a chave estrangeira definida sobre o atributo TIPO.

II - Adicionar um novo atributo QT_MIN INTEGER com valor obrigatório (NOT NULL).

III - Remover a chave primária.

IV - Adicionar uma restrição de nome VERIFICA_PRECO, que verifica se o preço é nulo ou maior que 0.


Quais destas alterações podem ser realizadas através de um comando ALTER TABLE aplicado sobre a tabela PRODUTOS?

Alternativas
Q918826 Banco de Dados

Observe as tabelas FUNCIONARIOS, PROJETOS e PARTICIPACOES definidas abaixo, usando SQL, que representam funcionários e a participação destes em projetos.


Create table PROJETOS

(codp char(2) not null primary key,

cliente varchar(100) not null,

orcamento numeric(15,2) not null,

pais char(2) not null);


create table FUNCIONARIOS

(matr char(2) not null primary key,

nomef varchar(100) not null,

salario numeric(8,2) not null,

pais char(2) not null);


create table PARTICIPACOES

(codp char(2) not null,

matr char(2) not null,

horas integer not null,

primary key (codp, matr),

foreign key (codp) references PROJETOS,

foreign key (matr) references FUNCIONARIOS);


Considere a consulta SQL abaixo.


Imagem associada para resolução da questão


O que essa consulta SQL recupera?

Alternativas
Q918825 Banco de Dados

Oberve as tabelas MEDICOS, PACIENTES e CONSULTAS definidas abaixo, usando SQL, que representam médicos, pacientes e as consultas entre estes.


create table ESPECIALIDADES

(code integer not null primary key,

nome varchar(60) not null);


Create table MEDICOS

(codm char(5) not null primary key,

nome varchar(100) not null,

code integer not null,

salario numeric(8,2) not null,

foreign key (code) references ESPECIALIDADES);


Create table CONSULTAS

(codm char(5) not null,

dataHora date not null,

paciente char(5) not null,

primary key (codm, dataHora),

foreign key (codm) references MEDICOS);


Considere as consultas abaixo, formuladas utilizando subconsultas.


Imagem associada para resolução da questãoI


Quais consultas poderiam ser reescritas usando apenas as cláusulas SELECT-FROM-WHERE, sem usar subconsulta em nenhuma porção da instrução?

Alternativas
Q918824 Banco de Dados

Observe as tabelas FUNCIONARIOS, PROJETOS e PARTICIPACOES definidas abaixo, usando SQL, que representam funcionários e a participação destes em projetos.


create table PROJETOS

(codp char(2) not null primary key,

cliente varchar(100) not null,

orcamento numeric(15,2) not null,

pais char(2) not null);


create table FUNCIONARIOS

(matr char(2) not null primary key,

nomef varchar(100) not null,

salario numeric(8,2) not null,

pais char(2) not null);


create table PARTICIPACOES

(codp char(2) not null,

matr char(2) not null,

horas integer not null,

primary key (codp, matr),

foreign key (codp) references PROJETOS,

foreign key (matr) references FUNCIONARIOS);


Observe as instâncias destas tabelas.


Imagem associada para resolução da questão


Considere a consulta SQL abaixo, que segue o padrão SQL2.


SELECT cliente

FROM projetos natural left join participacoes natural join funcionarios

GROUP BY codp, cliente

HAVING count(*) > 1;


A consulta SQL acima recuperará

Alternativas
Respostas
2421: E
2422: A
2423: B
2424: D
2425: B
2426: B
2427: B
2428: A
2429: E
2430: B
2431: D
2432: C
2433: C
2434: D
2435: C
2436: B
2437: E
2438: C
2439: A
2440: B