← Voltar para a lista de provas Banco do Estado do Rio Grande do Sul S.A. (BANRISUL) · Técnico em Tecnologia da Informação II — Área 1: Administração de Banco de Dados 50 questões nesta prova · página 2 de 3 · 49 com gabarito Gabarito disponível A generalização abstrai características comuns em uma entidade mais genérica. Na generalização do modelo ER estendido, atributos e relacionamentos comuns de entidades são reunidos em uma superclasse (entidade-pai). A) Descreve modelagem física, não conceitual. B) Entidade fraca depende de outra para sua identificação, não é definida por chave composta. D) O relacionamento binário envolve duas entidades; três ou mais é ternário/n-ário. E) Agregação trata relacionamentos como entidades, não atributos multivalorados. Referência: Silberschatz; Elmasri & Navathe – Modelo ER estendido. Resolução comentada do VaiConcursos. Gabarito disponível O 2PL estrito mantém bloqueios até o final e garante serializabilidade. O 2PL (inclusive o estrito, que retém os bloqueios exclusivos até commit/abort) garante escalonamentos serializáveis por conflito. A) No estrito, os bloqueios são liberados somente no fim da transação, não antes do commit. C) O 2PL básico não evita deadlocks. D) Aplica-se a ambientes distribuídos também. E) Bloqueios pessimistas são justamente uma forma de controle de concorrência. Referência: Elmasri & Navathe – Protocolo 2PL. Resolução comentada do VaiConcursos. Gabarito disponível O 2PC garante atomicidade em transações distribuídas coordenando commit ou abort. Na fase de preparação o coordenador consulta os participantes; se todos votarem sim, decide commit, senão abort. Assim, todos os participantes tomam a mesma decisão, garantindo atomicidade. B) O 2PC é bloqueante: falha do coordenador pode deixar participantes bloqueados. C) É usado em sistemas distribuídos. D) Exige logs nos participantes para recuperação. E) Os bloqueios são mantidos até o fim do protocolo. Referência: Elmasri & Navathe; Silberschatz – Commit em duas fases. Resolução comentada do VaiConcursos. Gabarito disponível Falha antes do commit sem efeito parcial: atomicidade. A atomicidade garante tudo ou nada: se a transação não for confirmada, nem débito nem crédito são efetivados (rollback na recuperação). A) Bloqueios são mecanismo de concorrência. C) Consistência leva de um estado válido a outro, respeitando regras. D) Durabilidade garante persistência após o commit. E) Isolamento trata da interferência entre transações concorrentes. Referência: Propriedades ACID – Elmasri & Navathe. Resolução comentada do VaiConcursos. Gabarito disponível Bloqueios cruzados em A e B causam deadlock, prevenido por ordenação dos recursos. Cada transação segura um recurso e espera pelo outro (espera circular), configurando deadlock. Impondo uma ordem total de aquisição dos bloqueios, elimina-se a espera circular, que é uma das condições necessárias. A) Não é starvation, e sim espera circular. B) Não há violação de isolamento; os bloqueios o preservam. C) O timeout é uma forma de detecção/tratamento, não prevenção, e o cenário típico é o deadlock. E) Não é race condition, pois os bloqueios exclusivos evitam isso. Referência: Elmasri & Navathe – Deadlock: prevenção, detecção e timeout. Resolução comentada do VaiConcursos. Gabarito disponível O comando de criação de tabela é CREATE TABLE. A sintaxe correta é CREATE TABLE com as colunas e restrições PRIMARY KEY e NOT NULL, como em C. A) Falta a palavra TABLE. B) INSERT TABLE não existe. D) DEFINE TABLE não é SQL padrão. E) KEY e REQUIRED não são sintaxe válida para chave primária e obrigatoriedade. Referência: SQL – DDL, CREATE TABLE. Resolução comentada do VaiConcursos. Gabarito disponível CREATE TABLE com REFERENCES, CHECK e PRIMARY KEY composta. A alternativa D declara as duas chaves estrangeiras por REFERENCES, os CHECK de quantidade e preço maiores que zero e PRIMARY KEY (pedido_id, produto_id), que garante unicidade e não nulidade. A) UNIQUE não impede NULL e não define chave primária. B) Falta TABLE e o CHECK está sem parênteses. C) FOREIGN KEY sem a palavra REFERENCES é sintaxe inválida. E) Cria outra chave primária (item_id), e a combinação fica apenas UNIQUE. Referência: SQL – DDL, restrições de integridade. Resolução comentada do VaiConcursos. Gabarito disponível A única consulta correta com INNER JOIN, filtros e aliases das colunas é a E. A E usa INNER JOIN (exige registros correspondentes), filtra disponivel = TRUE e a categoria 'Ficção Científica', e retorna exatamente três colunas com aliases que eliminam a ambiguidade entre os dois campos nome. A) Colunas ambíguas (nome) sem prefixo e coluna disponivel/titulo sem qualificação. B) LEFT JOIN não garante a existência de registros correspondentes. C) LIKE '%...%' não corresponde ao filtro de nome igual e é junção implícita. D) Compara disponivel com 'S', e não TRUE. Referência: SQL – JOINs e aliases. Resolução comentada do VaiConcursos. Gabarito disponível Consulta com GROUP BY e RANK() sobre SUM(valor) produz o resultado pedido. A soma por vendedor/região é obtida com GROUP BY vendedor, regiao, e RANK() OVER (PARTITION BY regiao ORDER BY SUM(valor) DESC) classifica dentro da região, com empates na mesma posição e salto de posições (característica do RANK). Funções de janela são avaliadas após o agrupamento, então é válido usar SUM(valor) no ORDER BY. A) Funciona sintaticamente em alguns SGBDs, mas usa SUM como janela aninhada em outra janela, o que é inválido/inadequado e depende de DISTINCT. C) Usa DENSE_RANK (não pula postos) e mistura GROUP BY com janelas sem agregar. D) Usa ROW_NUMBER (sem empates) e PARTITION BY só vendedor. E) Usa ROW_NUMBER, que não atribui a mesma posição em empates. Referência: SQL – funções de janela RANK(), DENSE_RANK(), ROW_NUMBER(). Resolução comentada do VaiConcursos. Gabarito disponível Procedures têm parâmetros IN/OUT/INOUT e agrupam DML e controle de fluxo. Os itens I e II descrevem corretamente as stored procedures. O III é falso: procedures não retornam necessariamente conjuntos de resultados, o que é típico de funções/consultas. O IV é falso: procedures são invocadas com CALL/EXEC, não dentro de SELECT. B, D e E incluem III e/ou IV, que estão errados; C exclui o item I (correto) e inclui o IV (errado). Referência: Padrão SQL/PSM; documentação de SGBDs. Resolução comentada do VaiConcursos. Gabarito disponível Views podem receber privilégios próprios, restringindo colunas sem dar acesso às tabelas. Pode-se conceder SELECT sobre a view sem conceder acesso às tabelas-base, expondo apenas colunas (e linhas) escolhidas. É um mecanismo clássico de segurança. A) Removida a tabela-base, a view deixa de funcionar. C) A view reflete as alterações das tabelas-base a cada consulta. D) Views restringem tanto colunas quanto linhas (WHERE). E) Views podem conter junções e subconsultas. Referência: Elmasri & Navathe – Views e segurança. Resolução comentada do VaiConcursos. Gabarito disponível BEFORE INSERT pode ajustar NEW; AFTER INSERT ocorre após a gravação e verificação das restrições. Triggers BEFORE INSERT disparam antes da gravação da linha e podem modificar valores via NEW. Triggers AFTER INSERT disparam depois que a linha foi gravada e as restrições verificadas. A alternativa C descreve isso. A) TRUNCATE não é por linha e não apaga linha a linha; a descrição é imprecisa. B) AFTER DELETE ocorre depois da remoção. D) BEFORE UPDATE executa antes da atualização, não depois. E) Triggers de TRUNCATE não têm acesso a OLD, pois não operam por linha. Referência: Documentação de triggers (PostgreSQL/MySQL). Resolução comentada do VaiConcursos. Gabarito disponível GRANT por coluna aplica-se a INSERT, SELECT e UPDATE. Em SQL, privilégios no nível de coluna podem ser concedidos para SELECT, INSERT, UPDATE (e REFERENCES), indicando a lista de colunas entre parênteses. DELETE atua sobre linhas inteiras, e CREATE não é privilégio de coluna. A, B, C e E incluem DELETE e/ou CREATE, que não admitem especificação de colunas. Referência: Padrão SQL – GRANT; documentação do PostgreSQL/MySQL. Resolução comentada do VaiConcursos. Gabarito disponível Independência de dados: dados compreensíveis sem depender de aplicação específica. A independência de dados é a imunidade das aplicações a mudanças na estrutura de armazenamento e acesso; os dados são descritos pelo SGBD (catálogo) e independem de programas específicos para serem entendidos. Segundo o gabarito, é não precisar de alguma aplicação para entender os dados. A) Refere-se à segurança. B) Refere-se ao controle de concorrência. D) Refere-se à linguagem de manipulação/definição de dados. E) Refere-se à integridade (chaves e domínios). Referência: Elmasri & Navathe; Silberschatz, Korth & Sudarshan – Independência de dados. Resolução comentada do VaiConcursos. Gabarito disponível Recuperação em um ponto específico do tempo é o point-in-time recovery. O point-in-time recovery (PITR) combina um backup completo com a reaplicação de logs de transações até o momento desejado, restaurando o banco exatamente àquele instante. A) Log recovery é termo genérico de recuperação via log, sem a ideia de ponto escolhido. B) Full restore restaura o backup completo, no momento em que foi feito. C) Incremental backup é um tipo de backup, não de recuperação. D) Automatic backup refere-se ao agendamento automático. Referência: Documentação de SGBDs (PostgreSQL, SQL Server, Oracle) sobre PITR. Resolução comentada do VaiConcursos. Gabarito disponível Elementos básicos do modelo relacional: tabelas, colunas e linhas. Um banco relacional organiza os dados em relações (tabelas), formadas por colunas (atributos) e linhas (tuplas). Esses são os três elementos estruturais principais. B, C, D e E incluem índices ou views, que são estruturas auxiliares de acesso/consulta e não elementos fundamentais do modelo relacional. Referência: Modelo relacional (Codd); Elmasri & Navathe. Resolução comentada do VaiConcursos. Gabarito disponível O bloqueio com read_lock, write_lock e unlock é o compartilhado (ternário). No bloqueio binário há apenas dois estados (locked/unlocked). O bloqueio compartilhado/exclusivo, também chamado ternário ou multimodo, possui três estados: read_lock (compartilhado), write_lock (exclusivo) e unlock. Por isso é o utilizado no 2PL. A) 'Bloqueio de protocolo' não é uma modalidade de bloqueio. B) O binário só tem locked e unlocked. C) A conversão (upgrade/downgrade) é uma operação sobre bloqueios, não um tipo com esses três estados. E) 'Unitário' não é uma modalidade padrão. Referência: Elmasri & Navathe, Sistemas de Banco de Dados – Controle de concorrência com bloqueios binários e compartilhados/exclusivos. Resolução comentada do VaiConcursos. Gabarito disponível Dump é a cópia e transferência de grandes volumes de dados entre sistemas. No contexto de backup, o 'dump' é a extração completa dos dados (ou de parte deles) para um arquivo que pode ser transferido e restaurado em outro sistema. A) Export refere-se a uma ferramenta ou ação de exportação específica, e não ao termo escolhido pelo gabarito. B) Create é um comando de criação. D) Log registra transações e eventos. E) Copy é um termo genérico, não o designado pela banca. Referência: Conceitos de backup e recuperação em SGBDs (ex.: mysqldump, pg_dump). Resolução comentada do VaiConcursos. Gabarito disponível Tablespace é a estrutura que armazena objetos como tabelas e índices. A tablespace é a unidade lógica de armazenamento que agrupa objetos do banco, como tabelas e índices, e é mapeada em arquivos físicos. A) File é o arquivo físico, não a estrutura lógica. B) Site refere-se a um local/nó. C) Metadata são dados sobre dados. E) Directory é um local do sistema de arquivos ou um objeto de acesso a ele. Referência: Documentação Oracle/PostgreSQL sobre tablespaces. Resolução comentada do VaiConcursos. Gabarito disponível A replicação padrão do MySQL 8 é assíncrona. Por padrão, a origem grava no log binário e continua, sem aguardar confirmação das réplicas, ou seja, a replicação é assíncrona. A semissíncrona exige plugin e configuração adicionais. A) 'Por evento' não é um modo de sincronização. B) Síncrona não é o padrão do MySQL (ocorre em soluções como NDB Cluster). C) Semissíncrona requer plugin ativado. E) Replicação por trigger não é o mecanismo nativo do MySQL. Referência: MySQL 8 Reference Manual – Replication. Resolução comentada do VaiConcursos.BANRISUL — Concurso 2025 (Edital nº 1, de 12/03/2025) — Técnico em Tecnologia da Informação II — Área 1: Administração de Banco de Dados — Prova Objetiva — Con…
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Nesse cenário, é mais provável que ocorraResolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
• 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 autores.id e entre 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.Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
I podem ter parâmetros de entrada (IN), saída (OUT) e de entrada/saída (INOUT).
II permitem agrupar múltiplas instruções DML (INSERT, UPDATE, DELETE) e controle de fluxo (IF, LOOP, EXCEPTION).
III apresentam diretamente conjuntos de resultados (tabelas) sempre que são executados.
IV podem ser chamados dentro de uma cláusula SELECT como se fossem funções escalares.
Estão certos apenas os itensResolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
Resolução comentada
Análise das alternativas
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.
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.
Assinale a opção correta acerca do protocolo 2PC (two-phase 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
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.
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; salario com DECIMAL(10,2); e data_admissao de 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.
Em um sistema de biblioteca, existem três tabelas com as seguintes colunas.
Considerando que, em um sistema de vendas, haja a tabela de nome vendas_completo(vendedor, regiao, valor), em que cada linha registre uma venda feita por determinado vendedor em sua região, assinale a opção em que é corretamente apresentada a consulta SQL que, sem usar JOIN, apresenta como resultado exatamente as seguintes quatro colunas: vendedor; regiao; total_vendas, correspondente à soma de valor por vendedor; e ranking_regiao, de modo que empates estejam na mesma posição e “pulem” postos.
Em bancos de dados relacionais, stored procedures
Em sistemas de gerenciamento de banco de dados relacionais, uma view
Em sistemas de gerenciamento de banco de dados relacionais, triggers
Em bancos de dados relacionais, o comando GRANT permite a definição de colunas específicas para as instruções de
No projeto de um SGBD relacional, devem ser implementadas diversas funcionalidades, como a independência de dados, que consiste em
Na política de backup, o procedimento que permite recuperar o banco de dados em um ponto específico do tempo é conhecido como
Os três principais elementos de um banco de dados relacional são
De acordo com a técnica de duas fases para controle de concorrência, o bloqueio que possui os estados de read_lock, write_lock e unlock é o bloqueio
No processo de backup, a etapa que consiste em copiar e transferir grandes volumes de informações de um sistema para outro é denominada
Nos bancos de dados relacionais, a estrutura que armazena objetos, tais como tabelas e índices, é conhecida como
Por padrão, a replicação do MySQL v8 é