Jump to content

Recommended Posts

Posted

Bom dia,

O meu problema é o seguinte: estou a construir uma base de dados para armazenar produtos. Os produtos têm categorias, e podem ter n sub-categorias.

Já fiz bases de dados em que tinha as entidades produtos, categorias e subcategorias. Relacionava os produtos com uma subcategoria, que por sua vez se relacionava com uma categoria. Desta forma, o produto estava sempre associado à entidade sub-categoria. Mas agora, o problema que se coloca é que um produto pode ter 0, 1 ou n subcategorias. Isto está a fazer-me confusão, porque no modelo relacional, se tenho uma tabela com os atributos id_produto, produto, id_subcategoria (chave estrangeira), não posso ter produtos com uma subcategoria, e outros não.

Alguém tem alguma sugestão para ultrapassar este problema?

CSS 3D Text - Partilha mensagens em 3D com os teus amigos no Facebook!

Portal de Informática it4life - Emprego, notícias, fórum, comunidade.

Posted

no modelo relacional tens:

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

+ Categoria

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

id_categoria

nome

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

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

+ SubCategoria

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

id_sub_categoria

id_categoria

nome

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

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

+ Produto

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

id_produto

nome

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

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

+ Relação Produto-SubCategorias

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

id_produto

id_sub_categoria

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

IRC : sim, é algo que ainda existe >> #p@p
Posted

Pois. Eu entendi o ponto de vista, mas acho que me expressei mal. Os produtos podem ter diferentes níveis de subcategorias.

Por exemplo:

Produto -> SubSubCat_1 -> SubCat_1 -> Cat_1

Produto -> Cat_2

Produto -> SubCat_2 -> Cat_2


Penso que encontrei uma solução que passa por criar apenas uma tabela de categorias. Cada categoria tem um pai. Se o pai já tiver um pai, então trata-se de uma subsubcategoria, e por aí fora. Penso que dá para entender a ideia. As listagens são feitas recursivamente, de forma a estruturar corretamente os diferentes níveis.

A tabela das categorias será algo do género:

id_categoria id_pai categoria
1 0 categoria_1
2 1 sub-categoria_1
3 2 sub-sub-categoria_1
4 3 sub-sub-sub-categoria_1

A categoria com o id 4 aponta para a categoria com o id 3, que é subcategoria da categoria 2, que é subcategoria da categoria 1. Penso que dá para entender a ideia.

CSS 3D Text - Partilha mensagens em 3D com os teus amigos no Facebook!

Portal de Informática it4life - Emprego, notícias, fórum, comunidade.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.