Questão de Banco de Dados — Modelagem e Mapeamento ER-relacional — INSTITUTO AOCP 2024
Banco de Dados›Modelagem e Mapeamento ER-relacional
Código
qa630638
Banca
INSTITUTO AOCP
Órgão
MGI
Ano
2024
Cargo
Esp ( )
João exerce o cargo de especialista em desenvolvimento de software pelo Ministério da Gestão e da Inovação e foi incumbido de liderar o desenvolvimento de um sistema de gerenciamento de projetos. Durante a fase de modelagem de dados, é essencial garantir que o banco de dados relacional seja bem projetado para suportar a eficiência e a integridade dos dados. Sua equipe propôs um modelo de dados que inclui tabelas para Projetos, Tarefas e Funcionários, e João ficou responsável por revisar esse modelo. Com base nos conceitos de modelagem de dados relacional, qual das seguintes alternativas apresenta corretamente uma prática eficaz para o modelo de dados do sistema de gerenciamento de projetos?
AArmazenar todos os dados em uma única tabela para simplificar o esquema do banco de dados e facilitar as consultas.
BEvitar o uso de chaves primárias nas tabelas para reduzir a complexidade do banco de dados e melhorar a performance.
CUtilizar campos textuais para armazenar datas e valores numéricos, garantindo flexibilidade no armazenamento dos dados.
DCriar uma tabela separada para armazenar os detalhes das Tarefas, relacionando-a com a tabela de Projetos usando uma chave estrangeira.
EArmazenar informações redundantes em múltiplas tabelas para garantir que os dados estejam sempre disponíveis, mesmo em caso de falha de uma tabela.
Revelar gabarito e comentário▾
GabaritoD — Criar uma tabela separada para armazenar os detalhes das Tarefas, relacionando-a com a tabela de Projetos usando uma chave estrangeira.
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”.
Modelagem de dados relacional: boas práticas de projeto
Gabarito: letra D. A prática eficaz é criar uma tabela separada para as Tarefas e relacioná-la à tabela de Projetos por meio de uma chave estrangeira — é assim que o modelo relacional representa relacionamentos entre entidades, garantindo integridade referencial e evitando redundância. As demais alternativas violam princípios fundamentais do modelo relacional, como a atomicidade dos dados, a obrigatoriedade de chaves e a eliminação de redundância.
A modelagem de dados relacional é o processo de representar graficamente como os dados serão armazenados, organizados em tabelas (relações) compostas por linhas (tuplas) e colunas (atributos). O modelo relacional, proposto por Edgar Codd, representa o banco de dados como uma coleção de relações, e cada relação é uma tabela com estrutura simples e plana. O objetivo é reduzir problemas durante o desenvolvimento e facilitar o trabalho da equipe, garantindo eficiência e integridade.
Um dos pilares do modelo relacional é a chave primária, que identifica de forma única cada linha da tabela. A chave estrangeira é uma coluna (ou conjunto de colunas) que referencia a chave primária de outra tabela, estabelecendo a ligação lógica entre as relações. Essa é a forma correta de representar relacionamentos entre entidades — por exemplo, uma tarefa pertence a um projeto, então a tabela Tarefas deve conter uma coluna que referencie a chave primária da tabela Projetos.
Outro princípio essencial é a normalização, que busca eliminar redundâncias e anomalias de atualização, dividindo os dados em tabelas menores e relacionadas. Armazenar dados redundantes em múltiplas tabelas é uma prática condenada, pois gera inconsistência e desperdício de espaço. Da mesma forma, armazenar todos os dados em uma única tabela viola a atomicidade e dificulta a manutenção.
A banca explora exatamente essas boas práticas: a alternativa correta é a que segue o modelo relacional de forma adequada, enquanto as demais propõem práticas que comprometem a integridade e a eficiência do banco de dados. Guarde o critério: no modelo relacional, cada entidade vira uma tabela, e os relacionamentos são representados por chaves estrangeiras — é nesse ponto que as alternativas se dividem.
Critério
Alternativa A (tabela única)
Alternativa B (sem chave primária)
Alternativa C (texto para datas/números)
Alternativa D (tabela separada + FK)
Alternativa E (redundância)
Atomicidade dos dados
❌ Viola (atributos compostos/ambíguos)
✅ Não afeta diretamente
❌ Viola (tipos inadequados)
✅ Preserva
❌ Viola (duplicação)
Integridade de entidade
❌ Comprometida (sem identificação clara)
❌ Violada (sem PK)
✅ Não afeta
✅ Garantida (PK em cada tabela)
✅ Não afeta
Integridade referencial
❌ Impossível (sem separação)
❌ Impossível (sem PK para referenciar)
✅ Não afeta
✅ Garantida (FK para PK de Projetos)
❌ Comprometida (inconsistência)
Normalização
❌ Violada (redundância e anomalias)
❌ Não resolve
❌ Não resolve
✅ Aplicada (decomposição correta)
❌ Violada (redundância proposital)
Eficiência de consultas
❌ Degradada (dados misturados)
❌ Degradada (sem índices confiáveis)
❌ Degradada (conversões constantes)
✅ Otimizada (junções por FK)
❌ Degradada (atualizações múltiplas)
Alternativa A — ❌ Incorreta
Armazenar todos os dados em uma única tabela é o oposto da boa modelagem. Isso viola a atomicidade (cada atributo deve ser atômico) e a normalização, gerando redundância, anomalias de atualização e dificuldade de manutenção. O modelo relacional preza pela decomposição em tabelas menores e relacionadas, não pela concentração em uma única estrutura.
Alternativa B — ❌ Incorreta
Evitar chaves primárias é um erro grave. A chave primária é obrigatória no modelo relacional, pois garante a identificação única de cada tupla e é a base para a integridade de entidade. Sem chave primária, não é possível referenciar linhas de forma confiável, comprometendo a integridade referencial e a própria estrutura do banco.
Alternativa C — ❌ Incorreta
Utilizar campos textuais para armazenar datas e valores numéricos viola a integridade de domínio. Cada atributo deve ter um tipo de dado adequado (DATE, INT, DECIMAL etc.), garantindo que apenas valores válidos sejam armazenados e permitindo operações corretas (comparações, cálculos). Armazenar tudo como texto gera inconsistências e dificulta consultas e validações.
Alternativa D — ✅ Correta ⟵ GABARITO
Criar uma tabela separada para Tarefas e relacioná-la à tabela de Projetos usando uma chave estrangeira é exatamente a prática correta no modelo relacional. Isso representa o relacionamento entre as entidades (um projeto pode ter várias tarefas), garante a integridade referencial (toda tarefa deve pertencer a um projeto existente) e evita redundância, seguindo os princípios de normalização.
Alternativa E — ❌ Incorreta
Armazenar informações redundantes em múltiplas tabelas é uma prática condenada pela normalização. A redundância gera inconsistência (o mesmo dado pode ser atualizado em um lugar e não em outro), desperdício de espaço e anomalias de atualização. A disponibilidade dos dados é garantida por mecanismos de backup e recuperação, não por duplicação descontrolada.
PEGA ESSA DICA!
Na prova, identifique a alternativa que segue os princípios do modelo relacional: tabelas separadas por entidade, chave primária em cada tabela, chave estrangeira para relacionamentos e tipos de dados adequados. As alternativas que propõem "simplificar" com uma única tabela, "evitar" chaves ou "flexibilizar" com texto são sempre distratores.