Questão nº 67
Questão de Tecnologia da Informação · FGV ALEP 2024 (nº 67)
Considere o esquema de banco de dados relacional a seguir:
```
LOCALIDADE ( id_loc <PK>, nome_localidade, cidade, estado )
COORDENADOR ( id_coord <PK>, nome_coord, id_loc <FK> )
```
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
- Ahíbrida.
- Bhorizontal derivada. (alternativa correta)
- Chorizontal primária.
- Dvertical.
- Ereplicação.
Resposta comentada
Gabarito Alternativa B
A fragmentação em bancos de dados distribuídos é o processo de dividir uma tabela em partes menores, chamadas fragmentos, que podem ser armazenadas em diferentes locais. Existem diferentes formas de fazer essa divisão.
- (A) Incorreta: A fragmentação híbrida combina fragmentação horizontal e vertical. Neste caso, estamos dividindo apenas as linhas (tuplas) da tabela, não as colunas.
- (B) Correta: A fragmentação horizontal derivada ocorre quando a fragmentação de uma tabela (a tabela filha,
COORDENADORneste caso) é baseada na fragmentação de outra tabela (a tabela pai,LOCALIDADE) com a qual ela tem um relacionamento de chave estrangeira. A tabelaLOCALIDADEé fragmentada horizontalmente (primária) peloestado. Como a tabelaCOORDENADORserá distribuída "em função do critério de localidade", ou seja, seguindo a distribuição das localidades às quais os coordenadores estão associados viaid_loc, sua fragmentação é derivada da fragmentação deLOCALIDADE. - (C) Incorreta: A fragmentação horizontal primária ocorre quando uma tabela é fragmentada com base em um predicado (condição) aplicado diretamente a um de seus próprios atributos. A tabela
LOCALIDADEsofre fragmentação horizontal primária (peloestado). No entanto, a tabelaCOORDENADORnão é fragmentada por um predicado em seus próprios atributos, mas sim em função da fragmentação deLOCALIDADE. A armadilha é confundir o fato de que a divisão é de linhas (horizontal) com ser primária; paraCOORDENADOR, ela é horizontal, mas não primária, pois depende de outra tabela. - (D) Incorreta: A fragmentação vertical divide a tabela em fragmentos que contêm um subconjunto de suas colunas (atributos). O problema especifica a "divisão de suas tuplas (linhas)", não de colunas.
- (E) Incorreta: Replicação é o processo de criar cópias de dados e armazená-las em múltiplos locais para aumentar a disponibilidade ou desempenho. Não é um método de divisão inicial dos dados, mas sim de cópia de fragmentos já existentes.
Fonte: FGV ALEP 2024 Analista Legislativo - Desenvolvedor de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.