Pergunta

Estou criando um site, blog on-line e para cada post, eu gostaria de ter o usuário ser capaz de criar / editar / apagar a sua própria categoria para que eles possam categorizar seu post.

O que é geralmente considerado um projeto de banco de dados bom para usuários categorias gerados?

Este é meu projeto tabela proposta. (Existe um nome para este tipo de db?)

user_table
user_id (pk), user_name

CATEGORY_TABLE
category_id (pk), category_name

USER_CATEGORIES
user_id (fk), category_id (fk)

Obrigado por ajudar. Estou confiante de que há um algum lugar post sobre isso, mas eu era incapaz de encontrá-lo. Se este é um joguete por favor me avise e eu irá remover esta questão.

Foi útil?

Solução

Este é um de muitos para muitos relação. Isso permitiria que cada usuário, potencialmente, ter muitas categorias diferentes e cada categoria de potencialmente ter muitos usuários diferentes. Este parece ser um modelo útil para o que você está tentando fazer.

Outras dicas

Eu acho que sua aparência esquema bom. Você está mantendo os rótulos de categoria em uma tabela para evitará a duplicação e depois é só atribuir suas identificações para os usuários.

Se o que você está tentando fazer é ter categorias "privados" para cada usuário, então isso é bom. Se nas outras categorias mão é suposto ser público (sth como tags em stackoverflow), então você pode considerar uma outra opção - não armazenar usuário <-> relação de categoria, em vez adicionar use_counter campo para gatilhos mesa e usar de categoria para incrementá-lo quando categoria é a ser utilizado (entrada do blog é categorizado) ou diminuir quando é "libertado" (entrada do blog é excluído / sua categoria é removido). Quando o use_counter atinge 0 -. Remover a categoria

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top