Pular para o conteúdo principal

Questão de Banco de Dados — Modelo relacional — FGV 2024

Banco de DadosModelo relacional
Código
fg075128
Banca
FGV
Órgão
AL-PR
Ano
2024
Nível
Superior
Cargo
Analista Legislativo - Desenvolvedor de Sistemas
Considere o esquema de banco de dados relacional a seguir:LOCALIDADE ( id_loc , nome_localidade, cidade, estado )COORDENADOR ( id_coord , nome_coord, id_loc )Restrições de integridade:Tabela LOCALIDADE: id_loc é chave primária; nome_localidade ≠ NULO; cidade ≠ NULO; estado = {‘PR’ ou ‘SC’ ou ‘RS’}.Tabela COORDENADOR: id_coord é chave primária; nome_coord ≠ NULO; id_loc é chave estrangeira e referencia LOCALIDADE(id_loc).A equipe que administra o banco de dados em tela decidiu convertê-lo de uma versão centralizada para uma distribuída. Para isso, decidiu que a divisão dos dados será guiada pelo critério do estado ao qual a localidade pertence. Ou seja, após distribuir os registros de localidade por fragmentos, os dados da tabela COORDENADOR serão distribuídos em função do critério de localidade apresentado.No que concerne à divisão a ser realizada na tabela COORDENADOR, a fragmentação de suas tuplas (linhas) dever ser classificada como
  1. Ahíbrida.
  2. Bhorizontal derivada.
  3. Chorizontal primária.
  4. Dvertical.
  5. Ereplicação.
Revelar gabarito e comentário

GabaritoB — horizontal derivada.

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”.

Fragmentação de tabelas em bancos de dados distribuídos

Gabarito: letra B — fragmentação horizontal derivada. A tabela COORDENADOR possui chave estrangeira id_loc que referencia LOCALIDADE. Como a fragmentação de LOCALIDADE é feita por estado (horizontal primária), as tuplas de COORDENADOR serão distribuídas de acordo com o fragmento da localidade correspondente. Isso caracteriza fragmentação horizontal derivada: a fragmentação de uma tabela é determinada pela fragmentação de outra tabela referenciada.

A fragmentação horizontal derivada é uma técnica usada para manter a integridade referencial em bancos distribuídos, garantindo que tuplas relacionadas (por chave estrangeira) fiquem no mesmo fragmento, evitando junções remotas. A fragmentação horizontal primária dividiria COORDENADOR com base em seus próprios atributos (ex.: por faixa de id_coord), o que não é o caso aqui.

NÃO CAIA NESSA!

A banca explora a diferença entre fragmentação horizontal primária (baseada nos próprios atributos da tabela) e derivada (baseada em atributos de uma tabela referenciada). Como o critério de divisão vem da tabela LOCALIDADE (pela chave estrangeira), a classificação correta é derivada. Quem confunde os dois conceitos pode marcar "horizontal primária" (alternativa C), que seria o caso se a fragmentação fosse por estado diretamente na tabela COORDENADOR — mas estado não é atributo de COORDENADOR.

Alternativa A — ❌ Incorreta

Fragmentação híbrida combina horizontal e vertical na mesma tabela. Não há qualquer fragmentação vertical envolvida no enunciado, apenas divisão por linhas.

Alternativa B — ✅ Correta ⟵ GABARITO

Derived horizontal fragmentation. A distribuição de COORDENADOR segue a fragmentação de LOCALIDADE através da chave estrangeira id_loc. Cada tupla de COORDENADOR é alocada no mesmo fragmento que sua localidade correspondente, conforme o estado.

Alternativa C — ❌ Incorreta

Fragmentação horizontal primária ocorre quando a própria tabela é particionada por seus atributos (ex.: dividir COORDENADOR por faixas de id_coord). Aqui o critério é externo (estado da localidade), portanto não é primária.

Alternativa D — ❌ Incorreta

Fragmentação vertical divide colunas (atributos) em diferentes fragmentos. A questão trata de divisão de linhas (tuplas), não de colunas.

Alternativa E — ❌ Incorreta

Replicação copia todos os dados para todos os sites. O enunciado fala em distribuir os registros, não replicá-los, o que implica fragmentação.

Gabarito: letra B.

Link permanente: /questoes/fg075128