Como você modela atributos personalizados de entidades?

Digamos que estamos tendo um aplicativo que deve ser capaz de armazenar todos os tipos de produtos. Cada produto possui pelo menos umID eName mas todos os outros atributos podem ser definidos pelo próprio usuári

Por exemplo. Ele poderia criar um grupo de produtos Ipods que conteria atributoscapacidad egeraçãPor exemplo. Ele poderia criar um grupo de produtosCamiseta com os atributosTamanh eco Precisamos armazenar a definição de um produto e os próprios produtos de concret Queremos garantir que seja possível agregar facilmente (GROUP BY) por atributos do produto. Por exemplo. selecione a soma total de capacidade para cada geração de ipods A solução não deve exigir alterações de esquema (requisito adicional devido a informações de Bill Karwin - veja também a resposta!)

Como você modelaria seu esquema em relação aos requisitos acima?

Nota O requisito 4. é importante!

Obrigado a todos por contribuir e discutir a abordagem. Vi algumas soluções para esse problema no passado, mas nenhuma delas facilitou o agrupamento:

questionAnswers(5)

yourAnswerToTheQuestion