SóProvas


ID
3234481
Banca
CESGRANRIO
Órgão
UNIRIO
Ano
2019
Provas
Disciplina
Banco de Dados
Assuntos

A notação a seguir é uma forma alternativa de descrever esquemas de bancos de dados relacionais, sem que seja necessário fazê-lo por meio de comandos SQL.
• Uma tabela é descrita por meio de um nome e um conjunto de colunas, separadas por vírgulas.
• Por serem irrelevantes para a questão, os tipos de dados das colunas não são especificados.
• Colchetes são usados para representar colunas que admitem o valor nulo.
• Colunas sublinhadas representam a chave primária de uma tabela.
• Chaves estrangeiras são representadas por meio da cláusula REF:
 <lista_de_colunas> REF <nome_de_tabela>

Um analista de banco de dados transformou um modelo conceitual de dados no seguinte esquema relacional, empregando, para isso, a notação descrita acima:

E(e1,e2,g1,g2)
F(f1,f2)
R(e1,f1,r1)
 e1 REF E
 f1 REF F
Sabendo-se que o esquema relacional preservou a semântica do modelo conceitual, qual diagrama E-R deu origem a esse esquema relacional?

Alternativas
Comentários
  • Esta questão foi transcrita com erro de formatação.

    E(e1,e2,g1,g2)

    F(f1,f2)

    R(e1,f1,r1)

    e1 REF E

    f1 REF F

  • Alguém explica essa questão.

  • Usei o seguinte racioncínio (Se algum colega quiser melhorar isso faça o favor):

    1. R(e1,f1,r1): O fato de só a chave e1 ser parte da PK de R indica que não é um relacionamento NxN. Daí eliminam-se a A, D e E

    2. E(e1,e2,g1,g2): No caso, g1 e g2 são atributos simples de E. Em nenhum momento há sinal de multiplicidade > 1, logo fico de letra C.

    *Analisando com calma cheguei a esse racioncínio, mas quando estava fazendo marquei a D. Procurei a alternativa que tivesse o lado (1, N) em E e nem li o resto. Enfim, tem que ir sem pressa hehe

  • E(e1,e2,g1,g2) essa tabela indica que houve uma fusão de duas tabelas e o O Relacionamento 1:1 ao implementa acontece a fusão das tabelas logo você terá tabela E(e1,e2,g1,g2) com os atributos da Tabela G

    OBS: veja que a tabela G tem dois atributos e não tem chave

    Com isso eliminamos a a letra B, D e E ficando somente a A e C

    R(e1,f1,r1) e1 REF E f1 REF F veja que na tabela R existe somente uma chave primaria, no relacionamento N:N a implementação é a criação de uma tabela com as chave primas das duas tabelas, logo R(e1,f1,r1) não pode ser N:N pois tem somente uma chave primaria, com isso eliminamos a letra a ficando com a letra C

  • ALTERNATIVA C

    Eu estudei que:

    Quando o relacionamento for 1:N e o lado 1 for obrigatório (1,1) NÃO é permitido o uso de tabela própria, tendo como única opção a adição da chave estrangeira no lado N

    Então, seguindo a semântica do modelo conceitual da Alternativa C o relacionamento R não poderia ser transformado em tabela própria.

    Alguém pode esclarecer isso???

  • De acordo com a notação descrita no enunciado, temos o seguinte modelo relacional:

    E(e1,e2,g1,g2)

    F(f1,f2)

    R(e1,f1,r1)

    e1 REF E

    f1 REF F

    Dele, podemos extrair as seguintes informações, que irão nos ajudar a identificar o modelo conceitual adequado para descrever esse cenário:

    - Os atributos próprios das tabelas têm o nome do tipo Nome da tabela + um número. Por exemplo, os atributos de F ficam como f1 e f2. Levando essa lógica em consideração, podemos ver que na tabela E temos dois atributos g1 e g2. Isso nos leva a crer que esses atributos vieram de uma entidade G que se fundiu com E. Essa fusão entre tabelas costuma ocorrer quando temos, no modelo conceitual, duas entidades ligadas por um relacionamento em que a cardinalidade mínima e máxima é 1 (1, 1), de ambos os lados da relação. Assim, temos um relacionamento S do tipo:

    Veja que esse cenário aparece nas alternativas A e C.

    - R é uma tabela que parece ser usada para representar o relacionamento entre E e F, pois tem chaves estrangeiras apontando para ambos os lados (e1 e f1), além de seu único atributo próprio r1. À primeira vista, poderíamos achar que esse seria o caso de um relacionamento M:N, mas note que e1, chave estrangeira que referencia E, também é chave primária de R, os valores desse atributo não poderão se repetir. 

    Se os valores de e1 não se repetem, isso quer dizer que cada ocorrência E só poderá estar ligada a no máximo uma ocorrência de F. Para que um E pudesse se ligar a múltiplos F, ele precisaria aparecer várias vezes na tabela, o que não é possível. Logo, a cardinalidade máxima desse lado do relacionamento é 1!

    - A chave estrangeira f1 também fica na tabela de ligação R, fazendo referência a F. Como sabemos, salvo no caso de haver uma restrição unique ou restrição de chave primária, os atributos de uma chave estrangeira poderão ter valores repetidos. Isso faz com que a cardinalidade máxima seja N nesse lado do relacionamento.

    Veja que a única alternativa que atende a esses critérios é a letra C!

    Ah, professor, mas é a participação/cardinalidade mínima? Note que, com as informações providas pela questão, não podemos inferir nada sobre a participação em nenhum dos dois lados do relacionamento R. Quando temos um relacionamento 1:N, nós conseguimos inferir a cardinalidade mínima do lado N da relação através da obrigatoriedade ou não do preenchimento da chave estrangeira. No caso em que há uma tabela de ligação (tabela R na questão), isso não é possível.

    Nesse cenário, a participação de determinado registro de E ou F no relacionamento é dada pela presença de um registro correspondente na tabela de ligação, e isso não pode ser inferido somente com as regras de chave primária/estrangeira/unique. 

    Tome como exemplo a chave estrangeira e1, que é chave primária da tabela de ligação. Isso quer dizer que e1 não pode ter valores nulos e seus valores não podem se repetir – ou seja, um registro de E não pode ser referenciado mais de uma vez na tabela de ligação. No entanto, nada impede que algum registro de E simplesmente não seja referenciado por nenhum registro da tabela de ligação. A mesma coisa acontece com F! Assim, qualquer cardinalidade mínima (0 ou 1) pode ser inferida do modelo conceitual da alternativa C, que é a resposta.

    Eu acho esse tipo de questão dos mais difíceis que a banca pode vir a cobrar em prova a respeito desse assunto. Se você conseguiu resolver com sucesso, pode considerar que está aprendendo bem os conceitos dessa conversão do modelo conceitual em modelo lógico relacional!