数据库设计

发布于 2024-10-15 12:45:08 字数 620 浏览 0 评论 0原文

例如,我有表 users,其中有 3 个字段:

id - login - password
---------------------
1  | john   |  *****
2  | jack   |  *****
3  | jane   |  *****

现在我希望每个用户都可以有自己的设置。 那么,我是否需要创建三个不同的表,例如

user_N_settings:

id |  key        | value
-------------------------
1  | save_data   | True

或者我应该为所有用户创建一个大表?

用户设置

id     | key       |    value   |    user_id
---------------------------------------------
1      | save_data |   True     |        2
2      | some_opt  |   False    |        3

for example i have table users, which have 3 fields:

id - login - password
---------------------
1  | john   |  *****
2  | jack   |  *****
3  | jane   |  *****

now i want that each user could have his own settings.
So, do i need to create three different tables, like

user_N_settings:

id |  key        | value
-------------------------
1  | save_data   | True

or i should create one big table for all users instead?

users_settings:

id     | key       |    value   |    user_id
---------------------------------------------
1      | save_data |   True     |        2
2      | some_opt  |   False    |        3

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

翻身的咸鱼 2024-10-22 12:45:08

一张表供所有用户使用。每个用户一个表将是非常错误的。

One table for all users. A table per user would be very wrong.

稚气少女 2024-10-22 12:45:08

一张桌子。如果所有设置值都属于同一类型,那么为每个设置创建一行可能是有意义的。如果属性差异很大,则为每个设置创建一列。

One table. If all the setting values are of the same type then it may make sense to create one row per setting. If the attributes are all very different then create one column per setting.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文