Questão de Banco de Dados — SGBD - Sistema de Gerenciamento de Banco de Dados — FCC 2017
Banco de Dados›SGBD - Sistema de Gerenciamento de Banco de Dados
Código
fc036850
Banca
FCC
Órgão
DPE-RS
Ano
2017
Nível
Médio
Cargo
Técnico - Informática
Considere o seguinte caso hipotético:A Defensora Pública Ana Paula está atuando simultaneamente em defesa de várias pessoas que não têm condições financeiras para contratar um advogado particular. Em dois dos processos, ela atua juntamente com seus colegas, os advogados Marco Aurélio e Paulo Sérgio. Na Defensoria Pública não é incomum os advogados trabalharem juntos em mais de um processo.Solicitou-se a um Técnico criar e relacionar as tabelas DefensorPublico e Cliente, utilizando um Sistema Gerenciador de Banco de Dados - SGBD relacional. Após ler o caso acima, o Técnico afirma corretamente que
Ao nome do cliente é uma boa escolha para chave primária da tabela Cliente, pois representa uma informação que melhor identifica o cliente.
Bo número da OAB não poderá ser utilizado como chave primária da tabela DefensorPublico porque contém caracteres alfanuméricos.
Csó seria possível relacionar as tabelas se cada cliente for defendido por apenas um Procurador Público, pois não há como criar relacionamentos muitos-para-muitos em SGBDs.
DDefensorPublico e Cliente estabelecem uma relação n:m e será necessário criar uma tabela de ligação entre estas tabelas.
Enão será possível relacionar as tabelas porque o fato de vários Procuradores Públicos poderem atuar em um mesmo processo infringe as regras de integridade referencial.
Revelar gabarito e comentário▾
GabaritoD — DefensorPublico e Cliente estabelecem uma relação n:m e será necessário criar uma tabela de ligação entre estas tabelas.
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”.
Gabarito: letra D. No cenário descrito, um Defensor Público pode atuar em vários processos e um mesmo processo pode envolver vários Defensores, o que caracteriza um relacionamento muitos-para-muitos (n:m) entre as entidades DefensorPublico e Cliente. Em bancos de dados relacionais, esse tipo de associação exige a criação de uma tabela de ligação (tabela associativa) para representar corretamente a cardinalidade.
Critério
Alternativa A
Alternativa B
Alternativa C
Alternativa D (Gabarito)
Alternativa E
Avaliação
❌ Incorreta
❌ Incorreta
❌ Incorreta
✅ Correta
❌ Incorreta
Justificativa
Nome não é único nem imutável; não serve como chave primária.
Caracteres alfanuméricos não impedem uso como chave primária.
SGBDs relacionais suportam n:m com tabela de ligação.
Relação n:m exige tabela associativa para implementação.
Integridade referencial é mantida com tabela de ligação; não é violada.
Alternativa A — ❌ Incorreta
O nome do cliente não é uma boa escolha para chave primária pois nomes podem se repetir (homônimos) e não são garantidamente únicos. Chaves primárias devem ser únicas e imutáveis; o ideal é usar um identificador artificial (como um código numérico auto-incrementado) ou um atributo natural que seja inambiguamente único (ex.: CPF).
Alternativa B — ❌ Incorreta
A existência de caracteres alfanuméricos (letras e números) em uma coluna não impede que ela seja chave primária. Bancos de dados relacionais aceitam chaves primárias de diversos tipos, incluindo strings. A OAB do defensor é um identificador natural único e pode perfeitamente ser a chave primária da tabela DefensorPublico.
Alternativa C — ❌ Incorreta
SGBDs relacionais suportam relacionamentos muitos-para-muitos por meio de uma tabela intermediária (também chamada de tabela associativa ou tabela de ligação). A afirmação de que só seria possível relacionar as tabelas se a cardinalidade fosse 1:n é falsa — a modelagem relacional resolve n:m com a criação de uma nova tabela que contém chaves estrangeiras referenciando as tabelas originais.
Alternativa D — ✅ Correta ⟵ GABARITO
A relação entre DefensorPublico e Cliente é de muitos-para-muitos (n:m): um defensor pode defender vários clientes e um cliente pode ser defendido por vários defensores. Para implementar isso em um banco relacional, é necessária uma tabela de ligação (ex.: Atuacao) que armazene, por exemplo, o par (id_defensor, id_cliente), ou incluindo um identificador de processo, conforme a necessidade do domínio. Essa modelagem respeita as regras de integridade referencial.
Alternativa E — ❌ Incorreta
A existência de múltiplos defensores atuando no mesmo processo não viola as regras de integridade referencial. A integridade referencial garante que os valores das chaves estrangeiras correspondam a chaves primárias das tabelas referenciadas. Com uma tabela de ligação adequada, é perfeitamente possível representar essa situação sem infringir nenhuma regra.