QuestLab Plataforma Inteligente de Questões
Banco público de questões

Questões para Concursos

Pesquise questões reais por disciplina, assunto, tópico, banca, órgão, cargo, ano e modalidade.

Questões por banca

29 bancas disponíveis. Clique para visualizar todas.

Encontre as questões que procura
Limpar filtros
605 questões encontradas

Os métodos de acesso utilizados em bancos de dados têm impacto direto no desempenho das consultas, destacando-se, entre os principais, as estruturas baseadas em árvores e o método de hashing . A esse respeito, assinale a opção correta.

A O uso de índices sempre impede a realização de varredura completa da tabela ( full scan ).
B Hashing e árvores B+ têm desempenho equivalente em qualquer tipo de consulta.
C O método de hashing é ideal para consultas que exigem ordenação dos resultados.
D Árvores B+ são inadequadas para realizar buscas sequenciais eficientes em grandes volumes de dados.
E Índices baseados em árvores B+ permitem acesso eficiente tanto para buscas pontuais quanto para intervalos ordenados.

Considerando que a modelagem conceitual com o modelo entidade-relacionamento é uma etapa essencial no projeto de bancos de dados relacionais, assinale a opção correta.

A A modelagem conceitual descreve como os dados serão fisicamente armazenados em disco.
B Uma entidade fraca é aquela que possui chave primária composta por mais de um atributo.
C A generalização permite que se abstraiam características comuns de entidades em uma entidade-pai mais genérica.
D Um relacionamento binário ocorre entre três ou mais entidades ao mesmo tempo.
E A agregação é usada para representar atributos multivalorados.

Em sistemas de gerenciamento de banco de dados, o controle de concorrência tem como objetivo garantir que múltiplas transações executadas simultaneamente não comprometam a integridade dos dados. Um dos principais protocolos utilizados nesses sistemas é o 2PL ( two-phase locking ). Acerca desse protocolo, assinale a opção correta.

A O protocolo 2PL estrito exige que todos os bloqueios sejam liberados após a fase de crescimento, antes do commit .
B O protocolo 2PL estrito garante serializabilidade ao manter os bloqueios até o final da transação.
C O 2PL básico impede completamente a ocorrência de interbloqueios ( deadlocks ).
D O protocolo 2PL não se aplica a bancos de dados que utilizam transações distribuídas.
E O uso de bloqueios pessimistas elimina a necessidade de controle de concorrência.

Assinale a opção correta acerca do protocolo 2PC ( two-phase commit ).

A O protocolo 2PC garante a atomicidade em transações distribuídas ao coordenar commit ou abort entre participantes.
B O referido protocolo elimina totalmente o risco de bloqueio em caso de falha do coordenador.
C Esse protocolo é utilizado apenas em sistemas baseados em bancos de dados relacionais centralizados.
D O uso desse protocolo impede a necessidade de logs nos participantes das transações.
E O protocolo 2PC exige que todos os participantes liberem seus bloqueios antes da fase de commit .

Para a garantia da consistência e da confiabilidade dos dados em um sistema de gerenciamento de banco de dados, as transações devem atender às propriedades ACID. Assim, na situação em que uma única transação envolva, simultaneamente, o débito de R$ 100 na conta corrente e o crédito do mesmo valor na conta poupança de um mesmo correntista, caso ocorra falha de sistema antes da confirmação ( commit ) da transação, a garantia de que nenhum débito/crédito será efetivado é assegurada

A pelos bloqueios.
B pela atomicidade.
C pela consistência.
D pela durabilidade.
E E pelo isolamento.

Em um ambiente de banco de dados de um sistema bancário, duas transações são executadas simultaneamente: uma delas adquire bloqueio exclusivo em A e, em seguida, em B; a outra adquire bloqueio exclusivo em B e, em seguida, em A. Ambas só liberam todos os bloqueios ao término da execução. Nesse cenário, é mais provável que ocorra

A starvation da transação mais lenta, sendo a melhor prevenção a implementação de um escalonador baseado em prioridades.
B violação de isolamento, sendo a melhor prevenção a elevação do nível de isolamento para serializable .
C detecção de deadlock por timeout , sendo a melhor prevenção a imposição de limites de tempo para a aquisição de bloqueios.
D deadlock , sendo a melhor prevenção a imposição de uma ordenação total aos recursos, exigindo-se que todas as transações adquiram bloqueios em uma mesma sequência predefinida.
E condição de corrida ( race condition ), sendo a melhor prevenção a utilização de bloqueios compartilhados em vez de exclusivos.

Assinale a opção em que são corretamente apresentados os comandos necessários para a criação, em um banco de dados relacional, da tabela de nome funcionários , contendo as colunas: id de inteiros e chave primária; nome com VARCHAR(100) , obrigatório; sa la rio com DECIMAL(10,2); e data_admissao de DATE .

A CREATE funcionarios (id INTEGER PRIMARY KEY, nome VARCHAR(100) NOT NULL, salario DECIMAL(10,2), data_admissao DATE);
B INSERT TABLE funcionarios (id INTEGER PRIMARY KEY, nome VARCHAR(100) NOT NULL, salario DECIMAL(10,2), data_admissao DATE);
C CREATE TABLE funcionarios (id INTEGER PRIMARY KEY, nome VARCHAR(100) NOT NULL, salario DECIMAL(10,2), data_admissao DATE);
D DEFINE TABLE funcionarios (id INTEGER PRIMARY KEY, nome VARCHAR(100) NOT NULL, salario DECIMAL(10,2), data_admissao DATE);
E CREATE TABLE funcionarios (id INTEGER KEY, nome VARCHAR(100) REQUIRED, salario DECIMAL(10,2), data_admissao DATE);

Assinale a opção em que é corretamente apresentado o comando DDL que permite criar a tabela de nome itens_pedido e relacionar cada pedido a seus produtos, de modo que: pedido_id e produto_id sejam chaves estrangeiras que referenciem a tabela; quantidade seja um inteiro maior que zero; preco_unitario seja um decimal maior que zero; e a combinação ( pedido_id, produto_id ) seja a chave primária, garantindo unicidade e não null .

A CREATE TABLE itens_pedido ( pedido_id INTEGER REFERENCES pedidos(id), produto_id INTEGER REFERENCES produtos(id), quantidade INTEGER CHECK (quantidade > 0), preco_unitario DECIMAL(10,2)CHECK (preco_unitario > 0) , UNIQUE (pedido_id, produto_id) );
B CREATE itens_pedido ( pedido_id INTEGER REFERENCES pedidos(id), produto_id INTEGER REFERENCES produtos(id), quantidade INTEGER CHECK quantidade > 0, preco_unitario DECIMAL(10,2)CHECK preco_unitario > 0, PRIMARY KEY (pedido_id, produto_id ) );
C CREATE TABLE itens_pedido ( pedido_id INTEGER, produto_id INTEGER, quantidade INTEGER CHECK (quantidade > 0), preco_unitario DECIMAL(10,2)CHECK (preco_unitario > 0), FOREIGN KEY (pedido_id) pedidos(id), FOREIGN KEY (produto_id) produtos(id), PRIMARY KEY (pedido_id, produto_id) );
D CREATE TABLE itens_pedido ( pedido_id INTEGER REFERENCES pedidos(id), produto_id INTEGER REFERENCES produtos(id), quantidade INTEGER CHECK (quantidade > 0), preco_unitario DECIMAL(10,2)CHECK (preco_unitario > 0), PRIMARY KEY (pedido_id, produto_id) );
E CREATE TABLE itens_pedido ( item_id INTEGER PRIMARY KEY, pedido_id INTEGER REFERENCES pedidos(id), produto_id INTEGER REFERENCES produtos(id), quantidade INTEGER CHECK (quantidade > 0), preco_unitario DECIMAL(10,2)CHECK (preco_unitario > 0), UNIQUE (pedido_id, produto_id) );

Em um sistema de biblioteca, existem três tabelas com as seguintes colunas. • livros : com um identificador único ( id ) para cada livro, o título do livro, um campo autor_id , que indica o autor que cadastrou o livro, um campo categoria_id , que indica a que categoria o livro pertence, e um campo booleano disponível para indicar se o livro está disponível para empréstimo ( TRUE ) ou não ( FALSE ). • autores : com um identificador único (id) para cada autor, e o nome do autor. • categorias : com um identificador único (id) para cada categoria, e o nome da categoria. Há uma relação implícita entre livros.autor_id e e e ntr e livros.categoria_id e categorias.id, de modo que, para um livro válido, deve existir um autor correspondente e uma categoria correspondente. A partir das informações precedentes, assinale a opção em que é corretamente apresentada a consulta SQL que permite a obtenção apenas dos livros cujo campo disponivel seja TRUE , desde que já existam registros correspondentes em autores e categorias, e, além disso, filtre somente os livros cuja categoria tenha o nome Ficção Científica, e apresente como resultado exatamente três colunas: título do livro, nome do autor e nome da categoria.

A SELECT l.titulo, a.nome AS autor, c.nome AS categoria FROM livros AS l INNER JOIN autores AS a ON l.autor_id = a.id INNER JOIN categorias AS c ON l.categoria_id = c.id WHERE l.disponivel = TRUE AND c.nome = 'Ficção Científica';
B SELECT l. titulo, a.nome, c.nome FROM livros l LEFT JOIN autores a ON l.autor_id = a.id LEFT JOIN categorias c ON l.categoria_id = c.id WHERE l.disponivel = TRUE AND c.nome = 'Ficção Científica';
C SELECT l.titulo, a.nome, c.nome FROM livros l, autores a, categorias c WHERE l.autor_id = a.id AND l.categoria_id = c.id AND l.disponivel = TRUE AND c.nome LIKE '%Ficção Científica%';
D SELECT l.titulo, a.nome, c.nome FROM livros AS l INNER JOIN autores AS a ON l.autor_id = a.id INNER JOIN categorias AS c ON l.categoria_id = c.id WHERE l.disponivel = 'S' AND c.nome = 'Ficção Científica';
E SELECT l.titulo, a.nome AS autor, c.nome AS categoria FROM livros AS l INNER JOIN autores AS a ON l.autor_id = a.id INNER JOIN categorias AS c ON l.categoria_id = c.id WHERE l.disponivel = TRUE AND c.nome = 'Ficção Científica';

Na arquitetura de banco de dados relacional, a camada de abstração de dados tem como principal objetivo

A disponibilizar uma interface amigável ao administrador de dados.
B realizar o balanceamento de carga entre os servidores que são usados pelo banco de dados.
C facilitar a automatização de backups dos dados.
D tornar transparente a camada física, de modo que os usuários possam trabalhar com uma visão lógica dos dados.
E disponibilizar dados de consultas frequentes, armazenando-as de forma temporária.