BACKEND30 perguntas • ~12 min
Quiz de Modelagem de Banco de Dados
Teste seus conhecimentos sobre normalização, esquemas relacionais e modelagem de dados.
Quiz de Modelagem de Banco de Dados
Teste seus conhecimentos sobre normalização, esquemas relacionais e modelagem de dados.
1. Qual é o objetivo principal de uma chave primária em um banco de dados relacional?
- Ordenar linhas alfabeticamente
- Identificar de forma única cada registro em uma tabela
- Vincular duas tabelas entre si
- Aplicar a restrição NOT NULL em todas as colunas
2. O que uma chave estrangeira faz em um banco de dados relacional?
- Criptografa os valores das colunas para segurança
- Referencia a chave primária de outra tabela garantindo integridade referencial
- Acelera as consultas SELECT em tabelas grandes
- Previne linhas duplicadas dentro de uma única tabela
3. Qual das seguintes opções descreve melhor um banco de dados NoSQL?
- Um banco de dados que nunca utiliza índices
- Um banco de dados que armazena apenas números
- Um banco de dados não relacional que armazena dados em formatos como documentos, chave-valor ou grafos
- Um banco de dados que proíbe totalmente a sintaxe SQL
4. O que significa a sigla CRUD no contexto de operações em bancos de dados?
- Copiar, Substituir, Atualizar, Excluir (Copy, Replace, Update, Delete)
- Criar, Ler, Atualizar, Excluir (Create, Read, Update, Delete)
- Conectar, Recuperar, Carregar, Descartar (Connect, Retrieve, Upload, Drop)
- Criar, Restaurar, Desfazer, Implantar (Create, Restore, Undo, Deploy)
5. O que o valor NULL representa no SQL?
- Zero
- Uma string vazia
- A ausência de um valor ou um valor desconhecido
- Falso
6. Que tipo de relacionamento existe quando um registro na tabela A pode se relacionar com vários registros na tabela B, e um registro na tabela B também pode se relacionar com vários registros na tabela A?
- Um para Um (1:1)
- Um para Muitos (1:N)
- Muitos para Muitos (M:N)
- Autorrelacionamento
7. O que é normalização de banco de dados?
- Converter todos os nomes de colunas para letras minúsculas
- Organizar os dados para reduzir a redundância e melhorar a integridade
- Mesclar todas as tabelas em uma única tabela plana para ganho de desempenho
- Fazer backup dos dados em um servidor secundário
8. Qual propriedade das transações ACID garante que uma transação seja totalmente concluída ou não produza nenhum efeito?
- Consistência
- Isolamento
- Atomicidade
- Durabilidade
9. Qual é a principal diferença entre os modelos de consulta SQL e NoSQL?
- O SQL usa JSON, enquanto o NoSQL usa XML
- O SQL usa uma linguagem estruturada de consulta sobre esquemas predefinidos; bancos NoSQL usam modelos flexíveis com consultas baseadas em APIs
- O SQL só pode ser executado em servidores Windows
- Bancos de dados NoSQL nunca suportam índices
10. Qual é o objetivo de uma migração de banco de dados?
- Mover o servidor de banco de dados para um data center diferente
- Exportar dados para um arquivo CSV
- Aplicar alterações incrementais e versionadas no esquema do banco de dados ao longo do tempo
- Migrar de SQL para NoSQL
11. Qual forma normal exige que todo atributo não chave seja totalmente dependente de forma funcional de toda a chave primária (eliminando dependências parciais)?
- Primeira Forma Normal (1FN)
- Segunda Forma Normal (2FN)
- Terceira Forma Normal (3FN)
- Forma Normal de Boyce-Codd (FNBC)
12. O que a Primeira Forma Normal (1FN) exige?
- Nenhuma dependência transitiva entre colunas não chave
- Todas as colunas devem conter valores atômicos (indivisíveis) e cada coluna deve armazenar valores de um único tipo de dado
- Todas as chaves estrangeiras devem referenciar registros existentes
- A tabela deve possuir uma chave primária composta
13. Qual das seguintes opções é uma razão válida para desnormalizar intencionalmente um banco de dados?
- Para satisfazer restrições de chave estrangeira
- Para melhorar a performance de consultas de leitura, reduzindo a quantidade de joins
- Para impor regras de integridade de dados mais rigorosas
- Para garantir que cada tabela esteja na 3FN
14. O que é uma chave substituta (surrogate key)?
- Uma chave derivada de dados de negócio, como um endereço de e-mail
- Uma chave gerada pelo sistema (como um inteiro autoincrementável ou UUID) sem significado de negócio intrínseco
- Uma chave que abrange múltiplas colunas
- Uma chave estrangeira que referencia a si mesma
15. Em um diagrama entidade-relacionamento (DER), o que indica uma linha dupla (participação total) no lado de uma entidade em um relacionamento?
- A entidade possui uma chave primária composta
- Toda instância dessa entidade deve participar do relacionamento
- O relacionamento é do tipo Muitos para Muitos
- A entidade é uma entidade fraca
16. De acordo com o teorema CAP, um banco de dados distribuído pode garantir no máximo quantas das três propriedades simultaneamente?
- Todas as três: Consistência, Disponibilidade e Tolerância a Partições
- Apenas uma
- Quaisquer duas
- Nenhuma: elas estão sempre em conflito
17. Qual é a principal distinção entre cargas de trabalho OLTP e OLAP?
- OLTP armazena apenas dados estruturados; OLAP armazena apenas dados não estruturados
- OLTP lida com muitas operações transacionais curtas de leitura/escrita; OLAP processa consultas analíticas complexas sobre grandes volumes de dados históricos
- OLAP requer transações ACID; OLTP não requer
- OLTP é exclusivo na nuvem; OLAP é apenas local (on-premises)
18. Qual nível de isolamento de transação impede leituras sujas (dirty reads), mas ainda permite leituras não repetíveis (non-repeatable reads)?
- Read Uncommitted
- Read Committed
- Repeatable Read
- Serializable
19. Qual é a diferença entre uma exclusão lógica (soft delete) e uma exclusão física (hard delete)?
- A exclusão lógica remove o registro imediatamente; a física adiciona um timestamp
- A exclusão lógica marca o registro como excluído (por exemplo, com a flag is_deleted) sem removê-lo; a física remove o registro definitivamente da tabela
- A exclusão lógica aplica-se apenas a índices; a física aplica-se a registros
- São nomes diferentes para a mesma operação SQL DELETE
20. O que significa 'schema-on-write' em comparação com 'schema-on-read'?
- Schema-on-write valida o esquema no momento da gravação; schema-on-read aplica o esquema no momento da consulta
- Schema-on-write é utilizado apenas por bancos de dados NoSQL
- Schema-on-read exige definições estritas de colunas antes de inserir qualquer dado
- São equivalentes: ambos impõem o esquema no momento da inserção
21. No particionamento baseado em hash (hash-based sharding), qual é a principal vantagem em relação ao particionamento por faixa (range-based sharding)?
- O sharding por hash torna as consultas por faixa mais rápidas
- O sharding por hash distribui os dados de forma mais homogênea entre os shards, reduzindo pontos de concentração (hotspots)
- O sharding por hash permite criar shards ilimitados sem necessidade de rebalanceamento
- O sharding por hash não requer uma chave de partição (shard key)
22. Qual é o principal trade-off da replicação síncrona em comparação com a replicação assíncrona?
- A replicação síncrona é mais rápida, porém perde dados em caso de falha
- A replicação síncrona garante ausência de perda de dados, mas eleva a latência de escrita porque o nó primário aguarda a confirmação da réplica
- A replicação assíncrona garante perda zero de dados
- A replicação síncrona só funciona com bancos de dados orientados a documentos
23. O que distingue o Event Sourcing de um modelo de dados CRUD tradicional?
- O Event Sourcing armazena apenas o estado mais recente; o CRUD armazena um log completo de eventos
- O Event Sourcing armazena um log imutável de todos os eventos de alteração de estado; o estado atual é obtido pela reprodução desses eventos
- O Event Sourcing exige um banco de dados relacional; o CRUD funciona com qualquer banco
- Eles são funcionalmente idênticos, diferindo apenas na sintaxe SQL
24. Qual problema o padrão CQRS (Command Query Responsibility Segregation) resolve principalmente?
- Ele elimina a necessidade de índices no banco de dados
- Ele separa o modelo de escrita (comandos) do modelo de leitura (consultas), permitindo que cada um seja otimizado de forma independente
- Ele substitui transações por consistência eventual
- Ele impõe normalização estrita na 3FN em todas as tabelas
25. Qual é a diferença fundamental entre bloqueio otimista (optimistic locking) e bloqueio pessimista (pessimistic locking)?
- O bloqueio otimista impede todas as leituras concorrentes; o bloqueio pessimista as permite
- O bloqueio otimista assume que conflitos são raros e valida conflitos no momento do commit; o bloqueio pessimista obtém travas antecipadamente para impedir alterações concorrentes
- O bloqueio pessimista só está disponível em bancos de dados NoSQL
- Eles diferem apenas na sintaxe, e não no comportamento
26. Qual é a diferença entre particionamento horizontal (sharding) e particionamento vertical?
- O particionamento horizontal divide as linhas entre múltiplos nós; o particionamento vertical divide as colunas em tabelas ou armazenamentos separados
- O particionamento horizontal divide as colunas; o particionamento vertical divide as linhas
- Eles são o mesmo conceito com nomes diferentes
- O particionamento vertical se aplica exclusivamente a bancos de dados NoSQL
27. Qual problema o protocolo Two-Phase Commit (2PC) resolve em bancos de dados distribuídos?
- Ele acelera consultas de leitura através de múltiplos shards
- Ele coordena um commit atômico entre múltiplos nós participantes, garantindo que todos façam commit ou todos sofram abort
- Ele replica dados do nó primário para as réplicas de leitura
- Ele compacta os logs de transação para economizar espaço em disco
28. Qual técnica de modelagem de dados é mais adequada para dados de séries temporais com alta taxa de escrita e consultas por faixa de tempo?
- Armazenar todos os eventos em uma única linha normalizada por entidade
- Utilizar uma tabela append-only particionada por intervalo de tempo, com timestamp monotonicamente crescente como parte da chave primária
- Utilizar uma tabela de junção Muitos para Muitos
- Aplicar normalização 3FN para eliminar toda e qualquer redundância
29. Em uma aplicação SaaS multi-tenant, qual é a principal vantagem da estratégia de isolamento 'banco de dados por cliente' (database-per-tenant) em relação a um esquema compartilhado?
- Consome menos espaço total de armazenamento do que um esquema compartilhado
- Garante isolamento de dados mais rigoroso, simplifica backups individuais por cliente e previne disputa de recursos por consultas concorrentes (noisy neighbor)
- Dispensa migrações de esquema ao adicionar novos clientes
- É a única abordagem que suporta transações ACID
30. De que maneira o padrão Saga trata a consistência de transações distribuídas sem a necessidade de usar 2PC?
- Ele bloqueia todos os serviços envolvidos até que a transação termine
- Ele divide a transação distribuída em uma sequência de transações locais que publicam eventos; transações compensatórias desfazem etapas concluídas em caso de falha
- Ele depende de um coordenador central para manter um bloqueio global
- Ele mantém em memória todas as gravações até que a operação inteira tenha sucesso
Sobre este quiz
Este quiz interativo foi desenvolvido para oferecer uma experiência dinâmica, rápida e envolvente. Cada pergunta traz alternativas em ordem aleatória, e seu resultado é calculado imediatamente no final. Você pode refazer o teste quantas vezes desejar e compartilhar o resultado com seus amigos!
Destaques do quiz:
- ✓100% gratuito e sem necessidade de cadastro
- ✓Perguntas objetivas com feedback instantâneo
- ✓Gere card personalizado e compartilhe seus resultados
Perguntas frequentes
Ao responder cada pergunta, o sistema calcula automaticamente suas preferências e escolhas para definir seu resultado final de forma precisa e instantânea.