Dúvida sobre modelagem

Bom dia, pessoal.

Tenho o seguinte cenário:

  • Uma empresa possui diversos produtos que comercializa (produto a, produto b, produto c…)
  • Estes produtos são agrupados em pacotes (planos de assinatura) (Pacote 1 = produto a + produto b, Pacote 2 = produto b + produto c…)
  • Cada pacote possui um valor e um período de assinatura

Minha dúvida é a seguinte:

Qual seria a melhor forma de associar produtos-pacote-assinatura numa tabela

Pensei em uma estrutura da seguinte forma:

Ex:

Tabela produtos

  • codigo
  • nome
  • descricao do produto
  • valor unitario

Tabela pacotes (eis minha dúvida - como associar um tipo de pacote a N produtos?)

  • codigo
  • codigo do produto

Tabela assinatura

  • codigo
  • codigoAssinante
  • codigoPacote
  • valor
  • codigoFormaPagamento

Fico no aguardo de sugestões! :slight_smile:

Um pacote pode ter N produtos. Cada produto pode estar em N pacotes. Opa, relação N : M. Ou seja, tabela associativa pacotes_produtos, contendo, no mínimo, 2 colunas FK, uma para o código do produto e outra para o código do pacote.
Assinatura contém um pacote (?) e um pacote pode estar em várias assinaturas. 1 : N clássico.

É isso.