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

Projeto de banco de dados:1 tabela ou 2?


A diferença entre os dois projetos é principalmente de flexibilidade. Se a conta e os dados do usuário compartilharem uma única tabela, cada usuário deverá ter uma conta e cada conta poderá ter apenas um usuário (a menos que você adicione outra tabela para permitir que usuários filhos sejam adicionados além do usuário que mora com a conta dados, ou a menos que você adicione novos registros com detalhes de conta duplicados em cada um, o que é muito ruim e antitético ao que os bancos de dados devem fazer).

Com duas tabelas, você pode facilmente ter vários usuários em cada conta e também pode optar por permitir circunstâncias em que uma conta não tenha usuários ou um usuário não tenha uma conta, se isso beneficiar seu caso de uso.

A desvantagem é que, se você quiser fazer algo como determinar a conta de um usuário (ou o(s) usuário(s) em uma conta), precisará fazer uma junção se estiver usando duas tabelas. Se você tiver uma tabela, tudo o que você precisa fazer é buscar a linha para obter essas informações.