SóProvas


ID
1458310
Banca
CESGRANRIO
Órgão
PETROQUÍMICA SUAPE
Ano
2012
Provas
Disciplina
Engenharia de Software
Assuntos

Seja o conjunto de tabelas abaixo, as quais representam um banco de dados relacional.

AVALIADOR (id, nome, email)
AVALIADOR_TELEFONE (idAvaliador, telefone)
CONSULTOR (id, nome, email, nomeConsultoria)
PROJETO (id, descricao, investimento, idCoordenador)
COORDENADOR (id, nome, orgaoOrigem)
AVALIACAO (idAvaliador, idProjeto, dataInicio, dataFim)
ATUACAO (idConsultor, idProjeto)

E as seguintes restrições:

• Os campos sublinhados representam as chaves primárias das relações.
• O campo idAvaliador da tabela AVALIADOR_TELEFONE referencia o campo id da tabela AVALIADOR.
• O campo idCoordenador referencia o campo id da tabela COORDENADOR.
• O campo idAvaliador da tabela AVALIACAO referencia o campo id da tabela AVALIADOR.
• O campo idProjeto da tabela AVALIACAO referencia o campo id da tabela PROJETO.
• O campo idConsultor da tabela ATUACAO referencia o campo id da tabela CONSULTOR.
• O campo idProjeto da tabela ATUACAO referencia o campo id da tabela PROJETO.

Considerando que o esquema relacional foi mapeado de um diagrama de classes da UML, então

Alternativas
Comentários
  • Gabarito letra A.

    Atributo Multivalorado

    O seu conteúdo é formado por mais de um valor.

    Exemplo: Telefone. Uma pessoa poderá ter mais de um número de telefone. É indicado colocando-se um asterisco precedendo o nome do atributo. O atributo multivalorado serão tratados com mais detalhes na normalização de dados.

    Este tipo de atributo é aceito conceitualmente, mas ele pode ser um problema no banco de dados. Há duas possibilidades para tratar com ele. A primeira é mantê-lo como multivalorado e permitir que mais de um dado seja inserido no mesmo campo, como por exemplo: dois números de telefone. A segunda alternativa é aplicar o processo de normalização de dados e transformá-lo em uma entidade a parte ou uma tabela no banco de dados e relacioná-la com a tabela principal.

    -----------------------------------------------------------------------------------

    A primeira alternativa é mais simples, mas teríamos o problema da consulta de dados, caso precisássemos fazer uma consulta pelo número de um dos telefones apenas. A segunda é mais trabalhosa, porém é mais eficaz.

    O que ele está dizendo na letra `a` é que no modelo de CLASSES UML, terá uma CLASSE Avaliador que terá o atributo Telefone como sendo multivalorado.

    É por isso que nesse modelo relacional descrito na questáo, ele teve que tratar esse atributo multivalorado que estava na classe Avaliador da UML, fazendo uma tabela a parte (de nome Avaliador_telefone) e relacionando-a à tabela Avaliador.