Artigo SQL Magazine 35 - Desafio SQL Magazine - Modelagem de dados: Utilização de Auto-Relacionamentos e Relacionamentos Ternários

Artigo da Revista SQL Magazine - Edição 35.

Nesta edição continuamos o conjunto de desafios iniciados na edição 31 e, além de apresentar a solução do desafio anterior que consistia de um conjunto de consultas utilizando relacionamentos n:n, entidades fracas e funções de agrupamento, também será proposto um novo desafio, desta vez modificando o modelo de dados do sistema de biblioteca para incluir funcionalidades que exercitem a utilização de auto-relacionamentos e relacionamentos ternários.

Antes disso, precisamos discutir as possibilidades de solução do desafio anterior, onde a Figura 1 representa o modelo de dados atual do sistema de biblioteca.

Figura 1. O modelo de dados do sistema de biblioteca

A seguir seguem cada uma das consultas propostas, com suas soluções e comentários.

  1. Listar os títulos de todas as obras cuja descrição do assunto seja “Ficção” ou “Romance” ou “Poesia”, ordenadas por assunto. Resolva esta questão de duas formas diferentes (ver Listagens 1 e 2).
    select assunto.descricao_assunto, obra.titulo from obra, assunto, obra_assunto where obra.cod_obra = obra_assunto.cod_obra and assunto.cod_assunto = obra_assunto.cod_assunto and (assunto.descricao_assunto = ‘Ficção’ or assunto.descricao_assunto = ‘Romance’ or assunto.descricao_assunto = ‘Poesia’) order by assunto.descricao_assunto
    Listagem 1. Primeira resposta do exercício 1
    select assunto.descricao_assunto, obra.titulo from obra, assunto, obra_assunto where obra.cod_obra = obra_assunto.cod_obra and assunto.cod_assunto = obra_assunto.cod_assunto and assunto.descricao_assunto in (‘Ficção’, ‘Romance’, ‘Poesia’) order by assunto.descricao_assunto "
    [...] continue lendo...

Artigos relacionados