P>

Capa SQl 33

Clique aqui para ler todos os artigos desta edição

Desafio SQL Magazine

Consultas em SQL: utilização de relacionamentos n:n, entidades fracas

e funções de agrupamento

 

     Nesta edição iremos propor um conjunto de consultas em SQL baseadas no modelo de dados modificado pelo desafio anterior. Desta vez exercitando a utilização de relacionamentos n:n, entidades fracas e funções de agrupamento.

     Antes disso, como de costume, vamos discutir as possibilidades de solução do desafio anterior, lembrando mais uma vez que não existe uma única solução correta.

     Vamos discutir primeiro o problema de associação de assuntos às obras. Para isso, deve-se acrescentar ao modelo conceitual uma entidade Assunto, contendo apenas

código e descrição. Como uma obra pode possuir diversos assuntos e um assunto pode estar vinculado a diversas obras, deve-se modificar o modelo conceitual acrescentando um relacionamento n:n entre estas entidades. A Figura 1 representa o fragmento do modelo conceitual para este problema.

 

Figura 1. Relacionamento n:n entre Obras e Assuntos

 

     Para transformar este modelo conceitual no modelo lógico, necessita-se fazer uma transformação substituindo o relacionamento por chaves estrangeiras. No caso do

sentido da tabela Obra para a tabela Assunto, deveria ser colocado um atributo multivalorado em Obra para apontar para seus diversos assuntos, o mesmo ocorrendo no sentido inverso, da tabela Assunto para a tabela Obra. Entretanto, relacionamentos n:n não são possíveis de serem representados no modelo relacional, uma vez que todos os atributos devem ser atômicos, ou seja, armazenar um único valor. Neste caso, a alternativa é a criação de uma terceira tabela no modelo relacional, conforme ilustrado na Figura 2.

 

...

Quer ler esse conteúdo completo? Tenha acesso completo