Questão de Banco de Dados — Transações (Locks, ACID, etc.) — FCC 2024
Banco de Dados›Transações (Locks, ACID, etc.)
Código
fc147207
Banca
FCC
Órgão
Pref J Guararapes
Ano
2024
Cargo
AGR ( )
Uma prefeitura está criando um banco de dados para gerenciar suas transações e contas de cidadãos. Para assegurar a precisão dos dados, implementaram várias regras para restringir os valores inseridos nas tabelas, como valores não nulos para certas colunas e correspondência entre chaves estrangeiras e primárias. Considerando o modelo de dados relacional, no contexto descrito, uma restrição de integridade
Aassegura a conformidade dos dados com regras especificas, como a unicidade e a validade dos valores.
Bassegura que as transações sejam revertidas em caso de falha, sendo as informações de erros armazenadas em logs de auditoria.
Cimpede a criação de índices na tabela e chaves primárias compostas na tabela ou multivaloradas.
Dimpede a atualização de qualquer registro no banco de dados sem uso de assinatura digital,
Egarante que todos 05 usuários tenham os mesmos privilégios de acesso provendo unicidade de acesso e transparência.
Revelar gabarito e comentário▾
GabaritoA — assegura a conformidade dos dados com regras especificas, como a unicidade e a validade dos valores.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Restrições de integridade no modelo relacional
Gabarito: letra A. Uma restrição de integridade assegura a conformidade dos dados com regras específicas, como a unicidade e a validade dos valores — exatamente o que o enunciado descreve ao mencionar valores não nulos e correspondência entre chaves estrangeiras e primárias. As demais alternativas confundem integridade com propriedades de transação (ACID), recuperação de falhas, segurança ou controle de acesso.
No modelo relacional, a integridade dos dados é garantida por um conjunto de regras que o SGBD impõe automaticamente para que os dados armazenados sejam sempre válidos e consistentes. Essas regras são chamadas de restrições de integridade e atuam como "guardiãs" do banco: qualquer operação de inserção, alteração ou exclusão que viole uma dessas regras é rejeitada pelo sistema. O enunciado cita dois exemplos clássicos: a restrição de não nulidade (uma coluna não pode ficar sem valor) e a integridade referencial (o valor de uma chave estrangeira deve existir como chave primária na tabela referenciada).
As principais restrições de integridade do modelo relacional são:
Integridade de entidade: garante que a chave primária de cada linha seja única e não nula — é o que impede duas linhas idênticas ou uma linha sem identificador.
Integridade referencial: garante que um valor de chave estrangeira em uma tabela corresponda a um valor de chave primária existente em outra tabela (ou seja nulo, se permitido).
Integridade de domínio: garante que os valores de uma coluna pertençam a um domínio válido (tipo de dado, faixa de valores, formato, etc.).
Restrições de unicidade (chaves candidatas) e checks (regras arbitrárias, como "salário > 0").
É importante não confundir restrição de integridade com as propriedades ACID das transações. As restrições de integridade são regras declaradas no esquema do banco (na definição das tabelas) e valem para qualquer operação, a qualquer momento. As propriedades ACID — Atomicidade, Consistência, Isolamento e Durabilidade — são garantias comportamentais das transações: a consistência, em particular, é a propriedade que assegura que uma transação leve o banco de um estado consistente para outro, respeitando justamente as restrições de integridade definidas. Ou seja, as restrições são o "que" deve ser respeitado; o ACID é o "como" o SGBD garante que isso aconteça durante transações concorrentes e falhas.
A pegadinha da questão está em misturar esses dois mundos: as alternativas B, C, D e E falam de coisas que não são restrições de integridade — são propriedades de transação, recuperação de falhas, segurança e controle de acesso. A alternativa A é a única que descreve com precisão o papel das restrições de integridade: assegurar a conformidade dos dados com regras específicas, como unicidade e validade.
Guarde a fronteira: restrição de integridade = regra declarada no esquema que valida os dados; ACID = propriedades que regem a execução de transações. É exatamente nessa fronteira que as alternativas se dividem.
Critério
Restrição de Integridade (A)
Propriedades ACID (B)
Segurança/Acesso (D, E)
O que garante
Conformidade dos dados com regras do esquema (unicidade, validade, não nulidade, chaves)
Atomicidade, consistência, isolamento e durabilidade das transações
Autenticidade (assinatura digital) e privilégios de acesso dos usuários
Onde é definida
No esquema do banco (DDL — CREATE TABLE, constraints)
No gerenciamento de transações do SGBD
Em mecanismos externos ao esquema (criptografia, controle de acesso)
Quando atua
A cada operação de inserção, alteração ou exclusão
Durante a execução de transações (commit, rollback, concorrência)
No momento do acesso/autenticação do usuário
Exemplo típico
NOT NULL, PRIMARY KEY, FOREIGN KEY, CHECK, UNIQUE
Commit/rollback, isolamento entre transações concorrentes
Certificado digital, GRANT/REVOKE de permissões
Relação com o enunciado
Valores não nulos e correspondência entre chaves estrangeiras/primárias
Não citado no enunciado — confunde com recuperação de falhas
Não citado no enunciado — confunde com segurança
Alternativa A — ✅ Correta ⟵ GABARITO
Esta alternativa descreve com precisão o conceito de restrição de integridade. Ela "assegura a conformidade dos dados com regras específicas" — ou seja, o SGBD verifica, a cada operação, se os dados respeitam as regras definidas no esquema. Os exemplos citados no enunciado (valores não nulos, correspondência entre chaves estrangeiras e primárias) são exatamente restrições de integridade: a não nulidade é uma restrição de domínio/entidade, e a correspondência entre chaves é a integridade referencial. A menção à "unicidade" remete à integridade de entidade (chave primária única) e às restrições de chave candidata; a "validade dos valores" remete à integridade de domínio (tipos, faixas, formatos). Tudo isso é o papel clássico das restrições de integridade no modelo relacional.
Alternativa B — ❌ Incorreta
Esta alternativa descreve a durabilidade (propriedade ACID) e o uso de logs de auditoria para recuperação de falhas — não uma restrição de integridade. A durabilidade garante que, após o commit, as alterações persistem mesmo com queda do sistema; o log (registro de transações) é o mecanismo usado para recuperação, não uma regra de validação de dados. A banca troca o conceito de integridade pelo de recuperação de falhas.
Alternativa C — ❌ Incorreta
Afirma que uma restrição de integridade "impede a criação de índices e chaves primárias compostas ou multivaloradas" — o que é falso. Restrições de integridade não impedem a criação de índices; pelo contrário, chaves primárias e únicas geralmente geram índices automaticamente. Chaves primárias compostas (com mais de uma coluna) são perfeitamente válidas no modelo relacional. O conceito de "multivalorada" se refere a atributos multivalorados, que são tratados na modelagem (normalização), não proibidos por restrições de integridade. A alternativa mistura conceitos de modelagem física com integridade.
Alternativa D — ❌ Incorreta
Esta alternativa fala de assinatura digital para atualização de registros — um mecanismo de segurança/autenticação, não de integridade de dados. Restrições de integridade validam a conformidade dos dados com regras do esquema; assinatura digital é um recurso criptográfico para garantir autoria e integridade de um documento/registro contra adulteração, mas não é uma restrição declarada no banco de dados. A banca troca integridade de dados por segurança da informação.
Alternativa E — ❌ Incorreta
Esta alternativa descreve controle de acesso (todos os usuários com os mesmos privilégios) — um aspecto de segurança, não de integridade. Na verdade, dar os mesmos privilégios a todos seria uma má prática de segurança (princípio do menor privilégio). Restrições de integridade não têm relação com privilégios de usuários; elas validam os dados independentemente de quem os acessa. A banca troca integridade por controle de acesso.
Gabarito: letra A — a única que descreve corretamente o papel das restrições de integridade no modelo relacional.