Qual a forma correta de cadastrar e listar um produto com mais de uma categoria

18/01/2016

1

exemplo exite um filme que tem os gêneros ação/aventura e exite as categorias de filmes de ação e filmes de aventura, eu queria listrar esse filme nas duas categorias
Responder

Post mais votado

18/01/2016

Não existe "forma correta", pois a beleza da modelagem e desenvolvimento é justamente que um problema pode ser resolvido de várias formas.

No caso da modelagem pode acontecer de que algumas soluções podem comprometer a performance ou o uso, mas não procure por "receitas", pois não existem.

A solução proposta pelo Moisés é uma forma de abordar a questão, porém não dá a flexibilidade desejada, pois um filme poderia pertencer a mais de duas categoria.

Eu vejo que uma solução mais flexível seria cria um tabela relacionando filmes e categorias que pode ser feito de duas formas:

Filme:
--ID_filme

Categoria/Filme
--ID_filme
--ID_Categoria

Categoria
--ID_Categoria

Categoria/Filme teria uma chave composta das duas chaves estrangeiras.
E se relaciona com Filme e Categoria

Ou da forma a seguir:

Filme:
--ID_filme

Categoria/Filme
--ID
--ID_filme
--ID_Categoria

Categoria
--ID_Categoria

Neste caso Categoria/Filme tem um ID próprio e faz-se o relacionamento das chaves com Filme e Categoria.

Então isto é somente a minha visão outras pessoas pode sugerir algo diferente.
Responder

Mais Posts

18/01/2016

Moisés

Erik, sou meio novo no mundo da programação, mas creio que vc poderia cria mais categorias como por exemplo:
Ação = Categoria 1
Aventura = 2
Ação e Aventura = 3
....

quando for fazer a consulta por ação vc pede trazer categoria 1 e Categoria 3 quando for aventura categoria 2 e 3 creio q assim por diante. mas pode ter inúmeras maneiras de fazer isso depende apenas da logica de cada programador.
Responder

18/01/2016

Erik Silva

essa forma eu já pensei também mas eu acho que não e correto, porque eu vou ter que criar uma mais colunas na tabela de produtos para cada categoria ?
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira