Ciência da Computação Banco de Dados

Suponha que as relações PACIENTE e MEDICO façam parte de um sistema de banco de dados distribuído e estão colocadas, respectivamente, no Site 1 e no Site 2. Nenhuma das relações está fragmentada e são descritas da seguinte forma:

Site 1:

PACIENTE(CPF, NOME, SOBRENOME, NASC, SEXO ENDERECO, TELEFONE, CRM_FK)

possui 10.000 registros

o tamanho de cada registro é de 100 bytes

o tamanho de cada atributo é:

· CPF = 10 bytes · NOME = 15 bytes · SOBRENOME = 15 bytes

· NASC = 10 bytes · SEXO = 5 bytes

· ENDERECO = 20 bytes

· TELEFONE = 15 bytes

· CRM_FK = 10 bytes

Site 2:

MEDICO(CRM, NOME_ COMPLETO)

possui 100 registros

o tamanho de cada registro é de 35 bytes

o tamanho de cada atributo é:

· CRM = 5 bytes

· NOME_COMPLETO = 30 bytes

Dadas as relações descritas, considere a seguinte consulta: “para cada paciente, recupere o nome e sobrenome do paciente e o nome do médico que o acompanha”.

O resultado dessa consulta incluirá 10.000 registros, dado que todo paciente está relacionado com um médico. A consulta é submetida a partir de um Site 3 distinto, que é chamado site de resultado. Existem 3 estratégias simples para executar esta consulta distribuída:

I. Transferir ambas as relações PACIENTE e MEDICO para o site de resultado e executar a junção no site 3.

II. Transferir a relação PACIENTE para o site 2, executar a junção no site 2 e enviar o resultado para o site 3.

III. Transferir a relação MEDICO para o site 1, executar a junção no site 1 e enviar o resultado para o site 3.

Se o critério de otimização das consultas é a quantidade de transferência de dados, pode-se afirmar:

  • A.

    I é a melhor estratégia.

  • B.

    II é a melhor estratégia.

  • C.

    III é a melhor estratégia.

  • D.

    II e III trafegam a mesma quantidade de dados e são as melhores estratégias.

  • E.

    I, II e III trafegam a mesma quantidade de dados.