Questões de Concurso
Sobre sql em banco de dados
Foram encontradas 4.618 questões
(a) SELECT C.sobrenome, C.renda FROM clientes C WHERE C.codc <> ALL (SELECT V.codc FROM vendas V WHERE V.valor > 1000);
(b) SELECT C.sobrenome, C.renda FROM clientes C WHERE NOT EXISTS (SELECT 1 FROM vendas V WHERE V.valor > 1000 and V.codc = C.codc);
Considere as assertivas abaixo sobre a otimização baseada em desaninhamento de subconsultas no Oracle:
I. O recurso fundamental do desaninhamento de subconsultas é a conversão da subconsulta com processamento relacionado em outra equivalente com processamento não relacionado. II. No caso de uma subconsulta ALL, o desaninhamento explora semi-join. III. No caso de uma subconsulta NOT EXISTS, o desaninhamento explora o anti-join.
Quais estão corretas?

Create table ABASTECIMENTO (nbomb int not null, capac int not null, data_hora timestamp not null, placa char(7) not null, descr varchar(50) not null, ano_fab date not null, litros int not null, primary key (nbomb, data_hora));
A DBA analisou essa proposta e observou que não seguia as formas normais. Com base na descrição dos atributos acima, assinale com V, se a dependência funcional é responsável pelo fato da tabela não estar na terceira forma normal, ou com F, em caso contrário.
( ) nbomb, data-hora → capac ( ) nbomb, data-hora → placa ( ) nbomb, data-hora → ano-fab
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:

insert into ESPECIALIDADES values (1,'cardiologia'); insert into ESPECIALIDADES values (2,'oftalmologia'); insert into ESPECIALIDADES values (3,'pediatria'); insert into MEDICOS values (1, 'joao', 1, 'ufrgs'); insert into MEDICOS values (2, 'maria', 1, 'pucrs'); insert into MEDICOS values (3, 'pedro', 2, 'ufsm');
Considere a sequência de comandos SQL abaixo, em que cada comando deve ser considerado uma transação separada:
I. delete from ESPECIALIDADES where nomee = 'pediatria'; II. update ESPECIALIDADES set code = 4 where nomee = 'oftalmologia'; III. delete from ESPECIALIDADES where nomee = 'cardiologia';
Após a execução das transações I, II e III, é possível afirmar que:
• A tabela ESPECIALIDADES tem __________ tupla(s); • Na tabela MEDICOS, no registro em que MEDICOS.codm = 1, o valor do atributo MEDICOS.code é _________; • Na tabela MEDICOS, no registro em que MEDICOS.codm = 3, o valor do atributo MEDICOS.code é _________.
Assinale a alternativa que preenche, correta e respectivamente, as lacunas do trecho acima.
CREATE NONCLUSTERED INDEX IDX1 ON TAB1 (codcomp, dataInicial) WHERE DataFinal IS NOT NULL;
Sobre isso, analise as assertivas abaixo:
I. Esse comando cria um índice filtrado. II. O índice criado por esse comando contribui à melhoria do desempenho de consultas principalmente quando a condição (DataFinal IS NOT NULL) é observada em um grande número de tuplas dessa tabela. III. O formato de armazenamento primário do índice criado por esse comando é columnstore.
Quais estão corretas?

UPDATE AREA SET ID_AREA_SUPERIOR = 5 WHERE ID_AREA_SUPERIOR BETWEEN 0 AND 3;

SELECT COUNT(ID) FROM AREA WHERE NOME LIKE 'D%';

I. A estratégia de modificação de consulta altera a consulta da visão em uma consulta na tabela base. A desvantagem é que pode ser ineficiente para visões com consultas complexas, que são demoradas de serem executadas. II. A materialização de visão cria fisicamente uma tabela temporária quando a visão é consultada pela primeira vez e mantém essa tabela com a suposição de que outras consultas à visão acontecerão em seguida. III. Na atualização incremental, pode-se determinar quais novas tuplas devem ser inseridas, excluídas ou modificadas em uma visão materializada quando uma atualização é realizada na tabela base. IV. Uma atualização em uma visão definida sobre uma única tabela com funções de agregação pode ser mapeada para uma atualização direta sobre a tabela base.
Quais estão corretas?

No código acima, são mostrados os comandos necessários para:
Analise o trecho de código a seguir, escrito em SQL:

Com base nesse código, é correto afirmar que:
Nesse contexto, considere uma tabela T com colunas A e B, que podem conter valores nulos. T possui 100 registros e, em 50% das linhas, há pelo menos uma coluna preenchida com o valor NULL. Considere a consulta a seguir:
SELECT * FROM T t1 WHERE t1.A = NULL or t1.B = NULL
O número máximo de linhas de resultados que seriam retornadas pela consulta é igual a
Assinale a opção que apresenta o tipo de store que privilegia velocidade, capacidade de leitura e escrita e estruturas de dados flexíveis, sem a necessidade de esquemas estabelecidos previamente.
Os principais Sistemas Gerenciadores de Bancos de Dados oferecem total suporte à linguagem SQL; um aspecto importante da implementação do SQL é o tratamento para valores nulos, quando a lógica admite três estados.
T – true
F – false
? – unknown
Nesse contexto, considere as expressões lógicas a seguir.
I. (T OR F) AND (? OR T)
II. T AND ((? OR F) OR ?)
III. NOT (? AND (? AND ?))
Com relação às expressões acima, está correto afirmar que o valor final é unknown (?) em
No âmbito de bancos dados, especialmente NoSQL, o Teorema CAP sustenta que há três requerimentos básicos que existem numa relação especial quando se projeta uma aplicação com uma arquitetura distribuída. Basicamente, respalda a tese de que não se pode obter os três simultaneamente.
Esses três requerimentos são
Num banco de dados relacional, considere a tabela Vencedores, cuja instância é exibida a seguir, com duas colunas, Tenista e Torneio, que representam alguns torneios que já foram vencidos por alguns tenistas.
Tenista Torneio
Roger Federer Australian Open
Roger Federer Roland Garros
Roger Federer Wimbledon
Roger Federer US Open
Pete Sampras US Open
Pete Sampras Wimbledon
Pete Sampras Australian Open
Bjorn Borg Roland Garros
Bjorn Borg Wimbledon
Maria precisa escrever um comando SQL que liste os tenistas que venceram todos os torneios mencionados na coluna Torneio. O comando deve valer para qualquer instância válida da tabela, que pode conter diferentes tenistas e diferentes torneios.
Assinale o comando que Maria deve usar.