{"subject_id":"3a3cc48d0099813c8e48fe442405ce96","topico":"Relacional: tabelas, esquema rígido, ACID, níveis de isolamento","stems":["A respeito de bancos de dados relacionais e de bancos de dados NoSQL, julgue os itens que se seguem.","A respeito de linguagens de bancos de dados e administração de bancos de dados, julgue os itens subsequentes.","Julgue os itens a seguir, a respeito dos conceitos de dado, informação, conhecimento e inteligência.","Em relação a banco de dados, julgue os itens a seguir.","Acerca dos níveis de isolamento do Oracle 21C, julgue os itens que se seguem.","Acerca das tecnologias que atendem a PDPJ-Br, julgue os próximos itens.","A respeito de arquitetura de bancos de dados, julgue os itens a seguir.","Julgue os itens que se seguem, em relação a banco de dados.","A respeito de banco de dados, julgue os itens que se seguem.","A respeito de propriedades de um banco de dados relacional, julgue o item a seguir.","Acerca do modelo de transação ACID de banco de dados, julgue os itens a seguir.","Considerando o Oracle, julgue o próximo item.","Acerca das linguagens procedurais para programação de stored procedures, bem como de técnicas de otimização de consultas SQL e NoSQL, julgue os itens subsecutivos.","No que se refere ao modelo de dados relacional, julgue os próximos itens.","A respeito de banco de dados, julgue os próximos itens.","No que se refere à recuperação após falha, julgue os itens seguintes.","Julgue os itens a seguir, relativos a sistema gerenciador de banco de dados (SGBD).","A respeito de banco de dados, julgue os itens a seguir.","A respeito de banco de dados, julgue os seguintes itens.","Com relação a conceitos de modelos de dados e de modelagem de dados, julgue os itens subsecutivos.","A respeito de propriedades e transações de bancos de dados, julgue os itens subsequentes.","No que se refere às características de um banco de dados relacional, julgue os itens que se seguem.","A respeito de banco de dados, julgue os itens subsequentes.","Em relação a projeto, modelagem e administração de banco de dados, julgue os itens subsequentes.","Julgue o item a seguir, a respeito do conceito de modelo relacional de dados.","No que se refere ao conceito de transações de bancos de dados, julgue o item seguinte.","Julgue os itens que se seguem, a respeito de gestão de processos, padrão IEEE 802.11, serviços em nuvem e sistemas gerenciadores de bancos de dados.","Acerca dos conceitos de otimização de consultas SQL e técnicas de análise de desempenho, julgue os próximos itens.","A respeito dos conceitos de banco de dados, normalização, controle de concorrência e modelagem, julgue os itens subsecutivos.","Com relação a sistemas gerenciadores de bancos de dados (SGBD), julgue os próximos itens.","No que diz respeito aos fundamentos de banco de dados, julgue os itens a seguir.","Julgue os itens que se seguem, relativos a modelagem de dados."],"questions":[{"id":"73ec48bbb177","number":27,"stem":0,"statement":"Por limitações técnicas, aplicações que utilizam bancos de dados NoSQL não podem utilizar SGBD relacional no mesmo módulo.","answer":"E","source":{"slug":"TCE_RS_25","ano":2025},"explanation":{"verdict_reason":"Não há impedimento técnico algum: usar no mesmo sistema um SGBD relacional e um banco NoSQL, cada um onde é melhor, é prática consolidada e recebe o nome de persistência poliglota. A aplicação apenas mantém conexões distintas. A impossibilidade e a causa técnica que a sustentaria foram inventadas pelo item.","distortion_type":"generalizacao","distorted_span":"não podem utilizar SGBD relacional no mesmo módulo","corrected_statement":"Aplicações que utilizam bancos de dados NoSQL podem utilizar SGBD relacional no mesmo módulo, prática conhecida como persistência poliglota.","concept":"Persistência poliglota: relacional e NoSQL convivem na mesma aplicação","citation":null,"trap_note":"Relacional e NoSQL são apresentados como escolha exclusiva em itens errados e como complementos em itens certos. A banca quase nunca premia a leitura de que um exclui o outro."}},{"id":"7028a9e6e102","number":75,"stem":1,"statement":"Quando ocorre deadlock em uma tabela, o SGBD aciona o processo chamador para receber mais instruções de como proceder.","answer":"E","source":{"slug":"TELEBRAS_25","ano":2025},"explanation":{"verdict_reason":"O tratamento de deadlock é responsabilidade do próprio SGBD: ele detecta o ciclo no grafo de espera, escolhe uma das transações como vítima e desfaz o trabalho dela para liberar os bloqueios. A aplicação chamadora recebe apenas o erro da transação abortada, e não uma consulta sobre como proceder. A ação descrita é real, mas atribuída a quem não decide.","distortion_type":"atribuicao_errada","distorted_span":"o SGBD aciona o processo chamador para receber mais instruções de como proceder","corrected_statement":"Quando ocorre deadlock em uma tabela, o SGBD escolhe uma das transações envolvidas como vítima e desfaz o trabalho dela para quebrar o impasse.","concept":"Deadlock é detectado e resolvido pelo SGBD, com escolha de vítima","citation":null,"trap_note":"Pergunte sempre quem decide. Em controle de concorrência quem decide é o SGBD; a aplicação só é informada do resultado. Item que transfere a decisão para o cliente está invertendo os papéis."}},{"id":"50d10ec721bd","number":103,"stem":2,"statement":"O modelo relacional de dados é organizado em uma estrutura em árvore, na qual cada registro tem uma única raiz (“pai”) e pode ter várias ramificações (“filhos”).","answer":"E","source":{"slug":"FUB_25","ano":2025},"explanation":{"verdict_reason":"Estrutura em árvore, com um único pai e vários filhos, é a descrição do modelo hierárquico, o do IMS. O modelo relacional não tem pai nem raiz: organiza os dados em tabelas e expressa os relacionamentos por valores compartilhados entre chaves. A descrição está certa, sob o nome do modelo errado.","distortion_type":"troca_de_termo","distorted_span":"O modelo relacional de dados é organizado em uma estrutura em árvore","corrected_statement":"O modelo hierárquico de dados é organizado em uma estrutura em árvore, na qual cada registro tem uma única raiz (“pai”) e pode ter várias ramificações (“filhos”).","concept":"Hierárquico é árvore; relacional é tabela","citation":null,"trap_note":"Três descrições circulam trocadas entre si: árvore com pai único é hierárquico, grafo com nós e arcos é rede, tabela com chave estrangeira é relacional. Identifique a estrutura descrita e só então leia o nome que o item deu a ela."}},{"id":"331438d18a20","number":105,"stem":2,"statement":"Um banco de dados representa aspectos do mundo real, é projetado, construído e povoado por dados e atende a uma proposta específica.","answer":"C","source":{"slug":"FUB_25","ano":2025},"explanation":{"verdict_reason":"É a definição corrente de banco de dados: uma coleção de dados que representa algum aspecto do mundo real, o minimundo, projetada, construída e povoada com uma finalidade e um público determinados. As três condições — representar, ser projetado e atender a um propósito — são as que separam um banco de dados de um amontoado de arquivos.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Definição de banco de dados: minimundo, projeto e propósito","citation":null,"trap_note":"Definições clássicas reproduzidas quase literalmente costumam ser Certas. Vale ler procurando um acréscimo, e não uma imprecisão de estilo."}},{"id":"825c8d64b5b7","number":52,"stem":3,"statement":"Na atomicidade, uma transação deve ser tratada como uma unidade única e indivisível, garantindo que todas as operações dentro dela sejam concluídas com sucesso, independentemente de uma falha no sistema.","answer":"E","source":{"slug":"TCE_AC_24","ano":2024},"explanation":{"verdict_reason":"A primeira metade está correta: a transação é unidade única e indivisível. A segunda inverte o sentido da propriedade. A atomicidade não assegura que todas as operações se concluam com sucesso apesar da falha; ela assegura que, havendo falha, nenhuma das operações permaneça aplicada, o que é obtido pelo desfazimento integral.","distortion_type":"generalizacao","distorted_span":"garantindo que todas as operações dentro dela sejam concluídas com sucesso, independentemente de uma falha no sistema","corrected_statement":"Na atomicidade, uma transação deve ser tratada como uma unidade única e indivisível, garantindo que, havendo falha no sistema, nenhuma das operações dentro dela permaneça aplicada.","concept":"Atomicidade é tudo ou nada, não é garantia de conclusão","citation":null,"trap_note":"Compare com o item que afirma que a atomicidade não garante a conclusão de todas as operações: aquele é Certo, este é Errado. O 'independentemente de uma falha' é o sinal de que a banca transformou tudo ou nada em tudo."}},{"id":"82ebe7c5cec2","number":58,"stem":4,"statement":"O nível de isolamento REPEATABLE READ é suscetível ao problema de “fantasmas”, que ocorre quando novas linhas inseridas por outras transações podem não ser visíveis para a transação atual.","answer":"C","source":{"slug":"TCE_AC_24","ano":2024},"explanation":{"verdict_reason":"Repeatable read protege as linhas já lidas contra alteração, mas não protege o conjunto de linhas que satisfaz um predicado: outra transação pode inserir linhas novas que passam a atender à condição, e uma segunda execução da mesma consulta as veria. É exatamente o fenômeno do fantasma, que só o nível serializable elimina.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Repeatable read ainda admite leitura fantasma","citation":"ISO/IEC 9075 (SQL), níveis de isolamento","trap_note":"A célula mais cobrada da tabela de isolamento é esta: repeatable read barra a leitura não repetível e não barra o fantasma. Se o item disser que repeatable read elimina fantasmas, está errado; se disser que os admite, está certo."}},{"id":"ca99a5ab5425","number":59,"stem":4,"statement":"No nível de isolamento SERIALIZABLE, uma transação em andamento pode visualizar as alterações realizadas por outras transações, independentemente delas terem sido confirmadas ou não.","answer":"E","source":{"slug":"TCE_AC_24","ano":2024},"explanation":{"verdict_reason":"Enxergar alterações ainda não confirmadas é leitura suja, o fenômeno admitido apenas em read uncommitted. Serializable é o extremo oposto: a transação trabalha sobre uma visão consistente e o resultado precisa equivaler ao de alguma execução serial, de modo que nem dados não confirmados nem alterações confirmadas depois do seu início lhe aparecem. O item descreve o nível mais baixo com o nome do mais alto.","distortion_type":"inversao","distorted_span":"pode visualizar as alterações realizadas por outras transações, independentemente delas terem sido confirmadas ou não","corrected_statement":"No nível de isolamento SERIALIZABLE, uma transação em andamento não visualiza as alterações realizadas por outras transações, ainda que já confirmadas, após o início da sua execução.","concept":"Serializable não admite leitura suja; quem admite é read uncommitted","citation":"ISO/IEC 9075 (SQL), níveis de isolamento","trap_note":"Item de nível de isolamento se resolve conferindo se a anomalia descrita cabe naquele nível. Leitura de dado não confirmado só existe em read uncommitted; atribuí-la a qualquer outro nível é erro certo."}},{"id":"294c51a91d89","number":62,"stem":5,"statement":"O banco de dados PostgreSQL possui um tratamento automático para resolver situações de deadlock, embora seja difícil prever qual das transações conflitantes será interrompida.","answer":"C","source":{"slug":"CNJ_24","ano":2024},"explanation":{"verdict_reason":"O PostgreSQL detecta automaticamente o impasse depois de expirado o deadlock_timeout, aborta uma das transações do ciclo e devolve erro ao cliente, que precisa repetir a operação. A documentação registra que não há como prever qual delas será a vítima, o que o item reproduz.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Detecção automática de deadlock no PostgreSQL","citation":"Documentação do PostgreSQL, Concurrency Control — Deadlocks","trap_note":"Detecção automática com vítima imprevisível é o comportamento padrão dos SGBDs comerciais. Item que promete escolha determinística da vítima, ou que devolve a decisão à aplicação, é errado."}},{"id":"59e11a4049eb","number":69,"stem":6,"statement":"O esquema do banco de dados é alterado a cada comando de INSERT, UPDATE ou DELETE em uma de suas tabelas.","answer":"E","source":{"slug":"MP_TO_24_SERVIDOR","ano":2024},"explanation":{"verdict_reason":"Esquema é a descrição da estrutura do banco — tabelas, colunas, tipos e restrições — definida no projeto e alterada apenas por comandos DDL como CREATE e ALTER. INSERT, UPDATE e DELETE são DML e mudam o estado, ou instância, do banco: os dados guardados, não a estrutura que os descreve.","distortion_type":"troca_de_termo","distorted_span":"O esquema do banco de dados é alterado a cada comando","corrected_statement":"O estado (ou instância) do banco de dados é alterado a cada comando de INSERT, UPDATE ou DELETE em uma de suas tabelas.","concept":"Esquema (intensão) × estado ou instância (extensão)","citation":null,"trap_note":"Esquema muda com DDL e é estável; estado muda com DML e varia o tempo todo. Toda vez que o item ligar esquema a INSERT, UPDATE ou DELETE, a troca é essa."}},{"id":"5fd54bda75f5","number":70,"stem":7,"statement":"SQL é uma linguagem utilizada para declarar e acessar tabelas em um banco de dados relacional, caracterizando-se como um padrão para especificar o esquema das tabelas e o acesso aos dados.","answer":"C","source":{"slug":"PREF_CACHOEIRO_24_ADM","ano":2024},"explanation":{"verdict_reason":"A SQL reúne, no mesmo padrão, a definição do esquema (DDL: CREATE, ALTER, DROP) e o acesso aos dados (DML e DQL: INSERT, UPDATE, DELETE, SELECT). O item descreve esse duplo papel, que é o que a torna a linguagem padrão dos bancos relacionais.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"SQL reúne definição do esquema e manipulação dos dados","citation":"ISO/IEC 9075 (SQL)","trap_note":"SQL não é só consulta. Item que a reduz a uma única função, ou que a chama de linguagem procedimental, está estreitando o padrão."}},{"id":"2a7b0a735cb9","number":72,"stem":8,"statement":"Uma transação pode incluir múltiplas operações de acesso ao banco de dados, sejam elas para consulta ou modificação.","answer":"C","source":{"slug":"PREF_CACHOEIRO_24_ADM","ano":2024},"explanation":{"verdict_reason":"Transação é a unidade lógica de processamento e pode reunir quantas operações forem necessárias, de leitura ou de escrita, desde que todas sejam efetivadas ou desfeitas em bloco. Uma transação com uma única operação é apenas o caso mais simples, não a regra.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Transação como unidade lógica com várias operações","citation":null,"trap_note":"Item que apenas descreve o que uma transação pode conter é quase sempre Certo. O erro aparece quando o item restringe: apenas escrita, apenas uma operação, apenas em banco relacional."}},{"id":"411488d512ea","number":75,"stem":9,"statement":"A atomicidade garante que uma transação seja completamente realizada ou completamente revertida, enquanto o isolamento assegura que as transações sejam realizadas sem interferir umas nas outras, mesmo quando executadas simultaneamente.","answer":"C","source":{"slug":"TCE_AC_24","ano":2024},"explanation":{"verdict_reason":"As duas definições estão no lugar certo: atomicidade é a execução completa ou a reversão completa da transação; isolamento é a garantia de que transações simultâneas não interfiram umas nas outras, como se cada uma rodasse sozinha. O item é o par correto, sem troca.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Atomicidade × isolamento, cada um na sua definição","citation":null,"trap_note":"Quando o item define duas propriedades do ACID na mesma frase, leia-as em ordem: a banca costuma acertar a primeira e trocar a segunda, ou simplesmente inverter as duas."}},{"id":"5218d5108444","number":75,"stem":10,"statement":"A propriedade de atomicidade não garante que todas as operações em uma transação sejam concluídas com sucesso.","answer":"C","source":{"slug":"TRF6_24","ano":2024},"explanation":{"verdict_reason":"Atomicidade é tudo ou nada, não é tudo. Ela garante que não reste efeito parcial: se alguma operação falhar, a transação é desfeita por completo. Nada nela assegura que as operações terminem com sucesso — esse é justamente o caso em que o desfazimento entra em cena. O item é a leitura rigorosa da propriedade.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Atomicidade garante tudo ou nada, não garante sucesso","citation":null,"trap_note":"Este item e o que diz que a atomicidade assegura a conclusão de todas as operações mesmo diante de falha são a mesma pergunta com gabaritos opostos. Quem promete sucesso está errado; quem nega a promessa está certo."}},{"id":"932e96f23382","number":84,"stem":11,"statement":"O nível de isolamento serializable garante que uma transação opere como se fosse executada isoladamente, o que previne leituras sujas, leituras não repetíveis e leituras fantasmas.","answer":"C","source":{"slug":"TRF6_24","ano":2024},"explanation":{"verdict_reason":"Serializable é o nível mais alto do padrão SQL: a execução concorrente deve produzir o mesmo resultado de alguma execução serial das transações. Por isso ele elimina as três anomalias previstas no padrão — leitura suja, leitura não repetível e leitura fantasma. O item enumera exatamente essas três.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Serializable previne leitura suja, não repetível e fantasma","citation":"ISO/IEC 9075 (SQL), níveis de isolamento","trap_note":"Memorize a tabela por linhas: read uncommitted admite as três anomalias, read committed barra só a leitura suja, repeatable read barra também a não repetível e ainda admite fantasma, serializable barra as três. A banca costuma mover exatamente uma célula dessa tabela."}},{"id":"2782af50ffdc","number":95,"stem":12,"statement":"A divisão de tabelas maiores em partições menores é geralmente indicada no contexto do gerenciamento de espaço de armazenamento dos bancos de dados, porém evitá-la constitui medida técnica significativa para aprimorar a otimização de consultas SQL em dados localizados de grandes tabelas.","answer":"E","source":{"slug":"MPO_24","ano":2024},"explanation":{"verdict_reason":"O particionamento não serve apenas à gestão de espaço: ele é uma técnica de otimização de consultas, porque permite ao otimizador descartar partições inteiras que não podem conter as linhas procuradas. Evitá-lo, portanto, piora o desempenho em consultas sobre dados localizados de grandes tabelas. O item afirma o contrário do efeito real.","distortion_type":"inversao","distorted_span":"porém evitá-la constitui medida técnica significativa para aprimorar a otimização de consultas SQL","corrected_statement":"A divisão de tabelas maiores em partições menores é geralmente indicada no contexto do gerenciamento de espaço de armazenamento dos bancos de dados, e adotá-la constitui medida técnica significativa para aprimorar a otimização de consultas SQL em dados localizados de grandes tabelas.","concept":"Particionamento também otimiza consulta, por eliminação de partições","citation":null,"trap_note":"Quando o item concede a primeira metade e vira com 'porém', o erro costuma estar na segunda. Aqui a virada transforma uma técnica de otimização em algo a ser evitado."}},{"id":"98983e067dd0","number":108,"stem":13,"statement":"No modelo relacional, as operações de união e interseção entre duas relações são válidas somente se ambas as relações forem definidas com o mesmo esquema de atributos, incluindo o mesmo número, nome e domínio dos atributos correspondentes.","answer":"E","source":{"slug":"FUNPRESP_24_EXE","ano":2024},"explanation":{"verdict_reason":"União e interseção exigem compatibilidade de união: mesmo grau, isto é, mesmo número de atributos, e domínios correspondentes iguais posição a posição. O nome dos atributos não entra nessa exigência — duas relações com atributos de nomes diferentes mas domínios compatíveis podem ser unidas, e o resultado herda convencionalmente os nomes da primeira. O item acrescenta um requisito que a regra não impõe.","distortion_type":"escopo_ampliado","distorted_span":"incluindo o mesmo número, nome e domínio dos atributos correspondentes","corrected_statement":"No modelo relacional, as operações de união e interseção entre duas relações são válidas somente se ambas as relações forem definidas com o mesmo esquema de atributos, incluindo o mesmo número e domínio dos atributos correspondentes.","concept":"Compatibilidade de união exige grau e domínio, não nome","citation":null,"trap_note":"Quando a banca lista os requisitos de uma regra, confira item por item se algum foi acrescentado. Aqui a lista verdadeira tem dois elementos (número e domínio) e o item entrega três."}},{"id":"156fcd8e93f4","number":113,"stem":14,"statement":"Esquema de banco de dados é um conjunto de tabelas, registros e campos que representam uma entidade do mundo real.","answer":"E","source":{"slug":"FUNPRESP_24_EXE","ano":2024},"explanation":{"verdict_reason":"Esquema é a descrição da estrutura do banco: as tabelas, seus campos, tipos e restrições. Registros não fazem parte do esquema — são o conteúdo, e mudam a cada operação de DML. Além disso, o que representa uma entidade do mundo real é a tabela, ou a relação, e não o esquema inteiro do banco, que descreve todas elas.","distortion_type":"troca_de_termo","distorted_span":"um conjunto de tabelas, registros e campos que representam uma entidade do mundo real","corrected_statement":"Esquema de banco de dados é a descrição das tabelas, dos campos e das restrições do banco, definida no projeto e raramente alterada.","concept":"Esquema descreve a estrutura, não contém os registros","citation":null,"trap_note":"Se a definição de esquema mencionar registros, linhas ou valores, está errada: esquema é descrição, instância é conteúdo."}},{"id":"3b9991465763","number":118,"stem":14,"statement":"Em um banco de dados relacional, cada linha na tabela é um registro com um identificador, cada coluna da tabela representa um atributo dos dados e cada registro, geralmente, tem um valor para cada atributo.","answer":"C","source":{"slug":"FUNPRESP_24_EXE","ano":2024},"explanation":{"verdict_reason":"É a descrição elementar de uma tabela relacional: a linha, ou tupla, é o registro identificado por uma chave; a coluna, ou atributo, é a propriedade; e cada registro traz um valor para cada atributo, admitido o nulo quando o valor é desconhecido ou inaplicável. O advérbio 'geralmente' preserva justamente essa exceção.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Linha é tupla, coluna é atributo, célula é valor","citation":null,"trap_note":"Repare no 'geralmente': o item que admite a exceção do nulo costuma ser Certo, enquanto o que promete valor para todo atributo em todo registro é errado."}},{"id":"5094afddf1cb","number":61,"stem":15,"statement":"Na recuperação baseada em log, o identificador de item de dados é o identificador exclusivo da transação que realizou a operação WRITE.","answer":"E","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"Um registro de log de escrita guarda quatro informações: o identificador da transação, o identificador do item de dados, o valor antigo e o valor novo. O identificador do item de dados aponta para o dado alterado, tipicamente sua localização em disco; quem identifica a transação que executou o WRITE é outro campo do mesmo registro. O item dá a um campo a definição do outro.","distortion_type":"troca_de_termo","distorted_span":"o identificador de item de dados é o identificador exclusivo da transação que realizou a operação WRITE","corrected_statement":"Na recuperação baseada em log, o identificador de item de dados é o identificador exclusivo do item de dados alterado pela operação WRITE.","concept":"Campos do registro de log: transação, item de dados, valor antigo, valor novo","citation":null,"trap_note":"Quando o item define um campo de uma estrutura, verifique se a definição não pertence ao campo vizinho da mesma estrutura. É a troca mais barata que a banca faz e a mais fácil de passar despercebida."}},{"id":"041a5633e79d","number":62,"stem":15,"statement":"O esquema de recuperação do banco de dados independe do esquema de controle de concorrência, uma vez que, no restauro a partir dos esquemas baseados em log, o valor é recuperado a partir de informação de UNDO em um registro e no log.","answer":"E","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"Recuperação e controle de concorrência são interdependentes. O que se pode desfazer depende do que o esquema de concorrência permitiu enxergar: se bloqueios exclusivos só são liberados no COMMIT, basta desfazer a transação abortada; se leituras não confirmadas foram permitidas, o desfazimento de uma transação obriga a desfazer as que leram dela, em rollback em cascata. O item afirma uma independência que não existe.","distortion_type":"inversao","distorted_span":"independe do esquema de controle de concorrência","corrected_statement":"O esquema de recuperação do banco de dados depende do esquema de controle de concorrência, uma vez que, no restauro a partir dos esquemas baseados em log, o valor é recuperado a partir de informação de UNDO em um registro e no log.","concept":"Recuperação depende do esquema de controle de concorrência","citation":null,"trap_note":"Itens que declaram dois subsistemas independentes costumam ser errados: em banco de dados, concorrência, recuperação e log estão amarrados. Desconfie de 'independe de' tanto quanto de 'sempre'."}},{"id":"f53e222bbbeb","number":77,"stem":16,"statement":"A fim de garantir o desfazimento das operações em um SGBD, o ciclo iniciado pelo comando BEGIN TRANSACTION necessita do complemento dos comandos COMMIT, ROLLBACK e CATCH.","answer":"E","source":{"slug":"CNPQ_23","ano":2023},"explanation":{"verdict_reason":"O ciclo de uma transação se fecha com COMMIT, que efetiva, ou com ROLLBACK, que desfaz. CATCH não é comando de transação: é o bloco de tratamento de exceção do TRY...CATCH do Transact-SQL, útil para capturar o erro e decidir pelo ROLLBACK, mas não exigido pelo ciclo transacional. A lista está correta até o terceiro nome.","distortion_type":"troca_de_termo","distorted_span":"COMMIT, ROLLBACK e CATCH","corrected_statement":"A fim de garantir o desfazimento das operações em um SGBD, o ciclo iniciado pelo comando BEGIN TRANSACTION necessita do complemento dos comandos COMMIT e ROLLBACK.","concept":"Comandos de controle de transação: BEGIN, COMMIT, ROLLBACK, SAVEPOINT","citation":null,"trap_note":"Em listas de comandos, confira cada nome contra a categoria anunciada. Aqui entrou um recurso de tratamento de erro no lugar de um comando de controle de transação (o que faltaria seria SAVEPOINT)."}},{"id":"6d29bcce58b3","number":107,"stem":17,"statement":"A atomicidade é uma característica exclusiva de bancos de dados relacionais.","answer":"E","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"Atomicidade é propriedade de transação, não de modelo de dados. Bancos não relacionais a oferecem em graus variados: o MongoDB garante atomicidade por documento e, desde as versões recentes, também em transações multidocumento; sistemas como Cassandra a garantem por linha ou por partição. A exclusividade afirmada pelo item é do redator, não da teoria.","distortion_type":"generalizacao","distorted_span":"é uma característica exclusiva de bancos de dados relacionais","corrected_statement":"A atomicidade é uma característica típica de bancos de dados relacionais, presente também, em graus variados, em bancos não relacionais.","concept":"ACID não é privativo do modelo relacional","citation":null,"trap_note":"Palavras como 'exclusivo', 'somente' e 'imune' quase sempre são do redator do item, e não da fonte. Pergunte de quem é o absoluto antes de julgar o conteúdo."}},{"id":"951cabd0739c","number":117,"stem":18,"statement":"As propriedades ACID de uma transação garantem atomicidade, confidencialidade, isolamento e durabilidade na sua execução.","answer":"E","source":{"slug":"CAPES_23","ano":2023},"explanation":{"verdict_reason":"ACID é atomicidade, consistência, isolamento e durabilidade. Confidencialidade é atributo de segurança da informação e não integra o modelo de transações. Três dos quatro nomes estão certos; o segundo foi substituído por um termo de outra disciplina.","distortion_type":"troca_de_termo","distorted_span":"atomicidade, confidencialidade, isolamento e durabilidade","corrected_statement":"As propriedades ACID de uma transação garantem atomicidade, consistência, isolamento e durabilidade na sua execução.","concept":"ACID: atomicidade, consistência, isolamento, durabilidade","citation":null,"trap_note":"A letra C do ACID é a mais atacada: entram no lugar dela confidencialidade, concorrência, confiabilidade e completude. Soletre a sigla antes de ler o resto do item."}},{"id":"af8da9c5b222","number":119,"stem":19,"statement":"Na abordagem relacional, a propriedade de fechamento garante que a saída de qualquer operação possa ser usada como entrada de outra operação.","answer":"C","source":{"slug":"SEFIN_FORTALEZA_CE_23","ano":2023},"explanation":{"verdict_reason":"O fechamento é a propriedade de a álgebra relacional ser fechada sobre relações: toda operação recebe relações e devolve uma relação. Por isso a saída de uma seleção pode ser a entrada de uma projeção ou de uma junção, o que permite aninhar expressões indefinidamente e é o fundamento das subconsultas e das visões em SQL.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Propriedade de fechamento da álgebra relacional","citation":null,"trap_note":"Fechamento é sobre o tipo do resultado, não sobre desempenho nem sobre integridade. Se o item liga fechamento a chave, a bloqueio ou a restrição, é troca de termo."}},{"id":"2133bb2faff1","number":127,"stem":20,"statement":"Sistemas gerenciadores de banco de dados (SGBD) utilizam o recurso do bloqueio como forma de controlar a concorrência aos dados armazenados, porém esses bloqueios podem gerar deadlocks, que precisarão ser tratados.","answer":"C","source":{"slug":"SEFIN_FORTALEZA_CE_23","ano":2023},"explanation":{"verdict_reason":"O bloqueio é o mecanismo padrão de controle de concorrência: a transação que vai usar um item o bloqueia e só o libera ao terminar. O efeito colateral conhecido desse esquema é o impasse — duas transações que já detêm bloqueios e esperam uma pelo bloqueio da outra formam um deadlock, que o SGBD precisa detectar, por grafo de espera ou por tempo limite, e resolver abortando uma delas. O item apenas encadeia o mecanismo e esse custo.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Bloqueio como controle de concorrência e o deadlock que ele gera","citation":null,"trap_note":"Bloqueio serve ao isolamento e produz deadlock. Quando o item descreve esse par sem prometer nada a mais, costuma ser Certo; a distorção vem quando trocam a propriedade garantida (atomicidade no lugar de isolamento) ou quando devolvem a decisão do impasse para a aplicação."}},{"id":"1b14ae57f67e","number":128,"stem":20,"statement":"Pode-se considerar que uma transação que atingiu o seu ponto de COMMIT garantiu suas propriedades de atomicidade e durabilidade.","answer":"C","source":{"slug":"SEFIN_FORTALEZA_CE_23","ano":2023},"explanation":{"verdict_reason":"O ponto de COMMIT é o instante em que a transação termina todas as suas operações e grava no log a decisão de efetivá-las. Daí em diante a atomicidade já está resolvida, porque não há mais a possibilidade de um efeito parcial, e a durabilidade passa a ser obrigação do SGBD, que refaz a transação a partir do log mesmo que as páginas ainda não tenham chegado ao disco quando ocorrer a falha.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Ponto de COMMIT: atomicidade resolvida e durabilidade assumida","citation":null,"trap_note":"Antes do COMMIT o que protege é o UNDO; depois do COMMIT o que protege é o REDO. Itens sobre recuperação quase sempre se resolvem localizando a transação em relação ao seu ponto de COMMIT."}},{"id":"06401cdf8e0e","number":129,"stem":20,"statement":"No processamento de transações em um sistema de banco de dados, o uso de bloqueios (locks) tem o objetivo de garantir a propriedade da atomicidade das transações.","answer":"E","source":{"slug":"SEFIN_FORTALEZA_CE_23","ano":2023},"explanation":{"verdict_reason":"Bloqueio é técnica de controle de concorrência e o que ele assegura é o isolamento: impedir que transações simultâneas enxerguem ou sobrescrevam os resultados intermediários umas das outras. A atomicidade é obtida por outro mecanismo, o log de transações com UNDO, que desfaz o trabalho parcial de uma transação abortada. A primeira metade do item está certa; a propriedade nomeada é a de outro mecanismo.","distortion_type":"troca_de_termo","distorted_span":"tem o objetivo de garantir a propriedade da atomicidade das transações","corrected_statement":"No processamento de transações em um sistema de banco de dados, o uso de bloqueios (locks) tem o objetivo de garantir a propriedade do isolamento das transações.","concept":"Bloqueio garante isolamento; log garante atomicidade e durabilidade","citation":null,"trap_note":"Associe cada letra do ACID ao seu mecanismo: isolamento vem de bloqueio ou de versionamento, atomicidade e durabilidade vêm do log, consistência vem das restrições de integridade. Item que liga bloqueio a atomicidade inverte esse mapa."}},{"id":"352cdf57cdf4","number":80,"stem":21,"statement":"No modelo relacional, as estruturas de dados lógicas não são separadas das estruturas de armazenamento físico, o que significa que os administradores de banco de dados não podem gerenciar o armazenamento de dados físicos sem afetar o acesso a esses dados como uma estrutura lógica.","answer":"E","source":{"slug":"SEPLAN_RR_22","ano":2022},"explanation":{"verdict_reason":"O modelo relacional foi construído justamente sobre a independência de dados física: a estrutura lógica, formada por tabelas e colunas, é separada da forma de armazenamento. Por isso o administrador pode mover arquivos, criar índices, reparticionar ou mudar o tablespace sem alterar as consultas que enxergam a estrutura lógica. O item nega a separação e, com ela, a independência física, invertendo a característica.","distortion_type":"inversao","distorted_span":"não são separadas das estruturas de armazenamento físico","corrected_statement":"No modelo relacional, as estruturas de dados lógicas são separadas das estruturas de armazenamento físico, o que significa que os administradores de banco de dados podem gerenciar o armazenamento de dados físicos sem afetar o acesso a esses dados como uma estrutura lógica.","concept":"Independência de dados física no modelo relacional","citation":null,"trap_note":"Independência lógica e independência física são vantagens anunciadas do modelo relacional. Item que as nega, com ou sem justificativa, é errado; leia o 'não' antes de julgar o resto da frase."}},{"id":"a1cf666aefb8","number":81,"stem":21,"statement":"Atomicidade, uma das propriedades cruciais em transações de banco de dados relacional, é a chave para manter os dados precisos no banco de dados e garantir que eles estejam em conformidade com regras, regulamentos e políticas da empresa.","answer":"C","source":{"slug":"SEPLAN_RR_22","ano":2022},"explanation":{"verdict_reason":"A atomicidade impede que uma transação deixe efeito pela metade: ou todas as suas operações valem, ou nenhuma. É por isso que ela é apontada como a propriedade que mantém os dados exatos e em conformidade com as regras do negócio — sem ela, uma transferência poderia debitar sem creditar, deixando o banco em um estado que nenhuma regra da empresa admite.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Atomicidade como tudo ou nada da transação","citation":null,"trap_note":"A definição de atomicidade é sempre alguma forma de 'tudo ou nada'. O que varia é a consequência atribuída a ela; consequência plausível costuma ser aceita pela banca, desde que o núcleo da definição esteja certo."}},{"id":"fb1b72363c1a","number":85,"stem":22,"statement":"O bloqueio binário impede o acesso, seja de leitura, seja de gravação, de mais de uma operação ao mesmo registro da tabela.","answer":"C","source":{"slug":"BANRISUL_22","ano":2022},"explanation":{"verdict_reason":"O bloqueio binário tem apenas dois estados, bloqueado e desbloqueado, e não distingue a intenção de leitura da intenção de gravação. Enquanto uma transação o mantém, nenhuma outra operação alcança o item, seja para ler, seja para escrever. Permitir leituras simultâneas é característica do bloqueio de modo múltiplo, com modos compartilhado e exclusivo.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Bloqueio binário × bloqueio compartilhado/exclusivo","citation":null,"trap_note":"Binário é tudo ou nada; compartilhado/exclusivo deixa várias leituras conviverem e só serializa a escrita. Item que promete leitura concorrente sob bloqueio binário trocou os dois tipos."}},{"id":"71ef20681084","number":90,"stem":23,"statement":"Os esquemas de um banco de dados dividem fisicamente as tabelas, evitando o acesso cruzado entre objetos de diferentes esquemas.","answer":"E","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"Esquema, no sentido de schema do SGBD, é um espaço de nomes lógico, não uma divisão física de armazenamento — quem cuida de onde os dados ficam é o tablespace ou o arquivo de dados. E o acesso cruzado entre esquemas é normal: basta qualificar o nome do objeto e ter privilégio sobre ele. O item troca lógico por físico e ainda cria um isolamento que não existe.","distortion_type":"troca_de_termo","distorted_span":"dividem fisicamente as tabelas, evitando o acesso cruzado entre objetos de diferentes esquemas","corrected_statement":"Os esquemas de um banco de dados dividem logicamente as tabelas, sem impedir o acesso cruzado entre objetos de diferentes esquemas.","concept":"Esquema é agrupamento lógico; tablespace é alocação física","citation":null,"trap_note":"Sempre que aparecer 'fisicamente' junto de um conceito de organização (esquema, visão, índice lógico), verifique se o conceito não é apenas lógico. Essa é uma das trocas mais frequentes em banco de dados."}},{"id":"e7e79fbe1969","number":102,"stem":24,"statement":"Um modelo de dados relacional, cujo esquema é visto como um gráfico em que os tipos de relacionamento são arcos e os tipos de objetos são nós, é um modelo de banco de dados projetado como uma abordagem flexível para representar objetos e seus relacionamentos.","answer":"E","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"O esquema visto como grafo, com tipos de objeto nos nós e tipos de relacionamento nos arcos, descreve o modelo em rede — e, na leitura moderna, o modelo de grafos. O modelo relacional não representa relacionamentos como arcos: ele os representa por valores, com chaves estrangeiras dentro das próprias tabelas. A descrição está correta, mas pertence a outro modelo.","distortion_type":"troca_de_termo","distorted_span":"Um modelo de dados relacional","corrected_statement":"Um modelo de dados em rede, cujo esquema é visto como um gráfico em que os tipos de relacionamento são arcos e os tipos de objetos são nós, é um modelo de banco de dados projetado como uma abordagem flexível para representar objetos e seus relacionamentos.","concept":"Relacional representa relacionamento por valor; rede e grafo, por ligação","citation":null,"trap_note":"Nó e arco são vocabulário de rede e de grafo; tabela, tupla e chave estrangeira são vocabulário do relacional. Quando o vocabulário de um modelo aparece sob o nome de outro, o item é errado."}},{"id":"0dd215522fa3","number":109,"stem":25,"statement":"Em sistemas de bancos de dados, uma transação é a estrutura do banco de dados destinada a garantir que o valor que aparece em uma relação para dado conjunto de atributos também apareça em determinado conjunto de atributos em outra relação.","answer":"E","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"A estrutura que obriga um valor presente em uma relação a existir também em determinado conjunto de atributos de outra relação é a chave estrangeira, e a regra correspondente é a integridade referencial. Transação é a unidade lógica de trabalho, um conjunto de operações executado como um todo. O item descreve uma restrição de integridade e a batiza de transação.","distortion_type":"troca_de_termo","distorted_span":"uma transação é a estrutura do banco de dados destinada a garantir","corrected_statement":"Em sistemas de bancos de dados, a chave estrangeira é a estrutura do banco de dados destinada a garantir que o valor que aparece em uma relação para dado conjunto de atributos também apareça em determinado conjunto de atributos em outra relação.","concept":"Transação × chave estrangeira e integridade referencial","citation":null,"trap_note":"Restrição de integridade é sobre valores entre tabelas; transação é sobre operações no tempo. Se a frase não menciona começo, fim, efetivação ou desfazimento, não está falando de transação."}},{"id":"d578aae90985","number":117,"stem":26,"statement":"Uma das características dos sistemas de gerenciamento de banco de dados (SGBD) multiusuários é a capacidade de fornecer controle de concorrência para assegurar que atualizações de dados simultâneas resultem em modificações corretas nos dados manuseados.","answer":"C","source":{"slug":"SECONT_ES_22","ano":2022},"explanation":{"verdict_reason":"Controlar a concorrência é uma das funções clássicas de um SGBD multiusuário: garantir que atualizações simultâneas produzam o mesmo efeito de alguma execução serial, evitando atualização perdida, leitura suja e resumo incorreto. O item descreve exatamente essa função, sem prometer exclusividade nem negar nada.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Controle de concorrência em SGBD multiusuário","citation":null,"trap_note":"Itens que apenas descrevem uma função do SGBD costumam ser Certos. O erro entra quando a descrição correta é atribuída ao componente errado ou quando a função é negada."}},{"id":"c66032589f87","number":99,"stem":27,"statement":"Álgebra relacional é um conjunto de operações sobre relações, sendo gerada dessas operações uma relação de saída.","answer":"C","source":{"slug":"FUB_18","ano":2018},"explanation":{"verdict_reason":"A álgebra relacional é um conjunto de operações — seleção, projeção, união, diferença, produto cartesiano, junção — cujos operandos são relações e cujo resultado é sempre uma nova relação. O item é a definição, e a segunda parte é apenas o enunciado da propriedade de fechamento.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Álgebra relacional: operações sobre relações que produzem relações","citation":null,"trap_note":"Álgebra relacional é procedimental (diz como obter) e o cálculo relacional é declarativo (diz o que se quer). Itens que trocam esses dois adjetivos são frequentes."}},{"id":"c6997ef1b7bf","number":59,"stem":28,"statement":"Atomicidade é a propriedade que garante que as transações não sejam afetadas pelo funcionamento umas das outras nem tenham acesso aos resultados parciais entre si.","answer":"E","source":{"slug":"TRF1_17_SERVIDOR","ano":2017},"explanation":{"verdict_reason":"A definição apresentada — transações não afetadas pelo funcionamento umas das outras e sem acesso aos resultados parciais alheios — é a do isolamento. Atomicidade é outra coisa: a transação é uma unidade indivisível, e ou todas as suas operações são efetivadas ou nenhuma permanece. O conteúdo da frase está correto; apenas está sob o nome errado.","distortion_type":"troca_de_termo","distorted_span":"Atomicidade é a propriedade que garante","corrected_statement":"Isolamento é a propriedade que garante que as transações não sejam afetadas pelo funcionamento umas das outras nem tenham acesso aos resultados parciais entre si.","concept":"Atomicidade × isolamento","citation":null,"trap_note":"O par atomicidade/isolamento é o mais trocado do ACID. Leia a definição primeiro e só depois o nome: se a frase fala em transações concorrentes, é isolamento; se fala em tudo ou nada dentro de uma única transação, é atomicidade."}},{"id":"e02e542152dc","number":55,"stem":29,"statement":"O SGBD deve possuir um controle de concorrência que garanta a manipulação controlada de um mesmo dado por múltiplos usuários, a fim de assegurar que os resultados das atualizações sejam corretos.","answer":"C","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"Controle de concorrência é função obrigatória de um SGBD multiusuário: disciplinar o acesso simultâneo ao mesmo dado para que o efeito das atualizações seja equivalente ao de alguma execução serial. Sem ele aparecem atualização perdida, leitura suja e leitura não repetível. O item descreve a função sem acrescentar restrição.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Controle de concorrência como função do SGBD","citation":null,"trap_note":"Descrever uma função do SGBD tende a Certo; negar uma função ou reservá-la a um só tipo de banco tende a Errado."}},{"id":"a86370f32ddc","number":87,"stem":30,"statement":"Um banco de dados do tipo relacional é aquele composto por um conjunto de relações conhecidas como tabelas.","answer":"C","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"No modelo relacional de Codd, a estrutura única é a relação, implementada como tabela. Um banco relacional é, portanto, um conjunto de relações com nome, cada uma com seu esquema de atributos. O item é a definição literal.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Banco relacional é um conjunto de relações (tabelas)","citation":null,"trap_note":"Relação, tabela e arquivo são o mesmo nível; tupla, linha e registro também; atributo, coluna e campo também. Itens que embaralham níveis diferentes dessas três trincas são errados."}},{"id":"e8a715a349ba","number":106,"stem":31,"statement":"Projeção é uma operação binária que realiza a junção de duas tabelas e gera, como resultado, uma tabela com todas as combinações dos atributos de entrada.","answer":"E","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"Projeção é operação unária: opera sobre uma única relação e devolve apenas as colunas escolhidas, eliminando as duplicatas. Quem é binária e gera todas as combinações das tuplas de entrada é o produto cartesiano; a junção é o produto cartesiano restrito por uma condição. O item descreve outra operação com o nome de projeção.","distortion_type":"troca_de_termo","distorted_span":"Projeção é uma operação binária que realiza a junção de duas tabelas","corrected_statement":"Produto cartesiano é uma operação binária que combina duas tabelas e gera, como resultado, uma tabela com todas as combinações dos atributos de entrada.","concept":"Projeção é unária (colunas); seleção é unária (linhas); junção é binária","citation":null,"trap_note":"Guarde a aridade antes do resto: seleção e projeção são unárias, união, diferença, produto e junção são binárias. Um item que chama projeção ou seleção de binária já está errado na primeira palavra."}},{"id":"bb848891a8e4","number":110,"stem":31,"statement":"No modelo relacional de dados, uma tabela é um conjunto ordenado de campos.","answer":"E","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"No modelo relacional, a relação é um conjunto de tuplas, e conjunto não tem ordem: nem as linhas nem os atributos têm posição significativa, e é por isso que uma consulta precisa nomear as colunas em vez de contá-las. O item erra duas vezes: atribui ordem à tabela e a descreve como conjunto de campos, quando os elementos de uma tabela são suas tuplas.","distortion_type":"troca_de_termo","distorted_span":"uma tabela é um conjunto ordenado de campos","corrected_statement":"No modelo relacional de dados, uma tabela é um conjunto não ordenado de tuplas.","concept":"Relação é conjunto não ordenado de tuplas","citation":null,"trap_note":"Toda vez que aparecer 'ordenado' descrevendo tabela, linha ou coluna do modelo relacional, é erro: a ordem é irrelevante por definição, e ordenação só existe no resultado de uma consulta com ORDER BY."}}]}