为每个用户创建单独的表来存储数据还是使用一个统一的表?

3
我知道有很多与这个问题相关的查询,但我的问题不同。我想制作一个密码管理应用程序,为每个用户存储主机名、用户名、密码、备注等信息。由于每个用户的数据有多行,所以我不能将这些信息存储在用户的列中。
因此,在我的情况下,是为每个用户创建单独的表还是创建一个名为“Host”的单个表,并将所有密码添加到其中,使用外键“username”作为该表中的主键。每当执行任何查询时,它只显示特定用户的行。
哪种方法更有效,如果有更好的选择,请告诉我。这是我第一次在从这个网站获得很多东西之后发布我的问题,请原谅我的糟糕语法。
2个回答

4
一个正确的方法应该类似于这样:

Users
------
id | username | email | encryptedpassword | security_question | encryptedsecurityanswer

Hosts
------
id | user_id | name | notes 

创建用户和主机的表格,这些表格通过Users.id与Hosts.user_id关系连接。

是的,在“用户”表中保留用户应用程序相关数据,其他信息性数据则存储在不同的表中。 - Parth

1
创建每个用户的表格是一个不好的方法。如果您选择使用计划A,那么随着用户数量的增加会导致数据库负荷过大。
请使用计划B。
 Host Table:-username:s.no.:host name:host username:password:notes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接