Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Design de banco de dados:3 tipos de usuários, separados ou uma tabela?


O que você precisa considerar ao projetar tabelas não é necessariamente o que eles terão acesso e como isso é semelhante/diferente, mas sim como os próprios níveis de usuário são semelhantes/diferentes.

Por exemplo, se os tipos de usuário tiverem os mesmos atributos (nome, email, data de nascimento etc.), eles pertencem a uma tabela junto com uma coluna indicando seu nível de privilégio.

Isso também facilita a alteração dos níveis de privilégio de um usuário, por meio do qual você pode transformar um funcionário comum em um administrador, por exemplo, apenas atualizando o registro na tabela de usuários.

Se os fornecedores forem um tipo de objeto diferente com atributos diferentes dos outros dois, os fornecedores podem pertencer à sua própria tabela.

Ou, mais uma coisa a considerar:você pode usar um users tabela que contém apenas informações muito limitadas sobre usuários de todos os três tipos, e se os tipos tiverem atributos estendidos que não se relacionam bem entre si, você pode armazená-los em outras tabelas com uma chave estrangeira de volta aos usuários principais de users tabela.