gpt4 book ai didi

mysql - 我应该创建一个只有 id 和 name 并且属于一对一用户表的表吗?

转载 作者:搜寻专家 更新时间:2023-10-30 20:17:31 27 4
gpt4 key购买 nike

我是 sql 的新手,我需要帮助来设计我的表。这是一种情况:

我有一个用户表。每个用户只能属于大约 600 个社区中的一个社区。在用户表中,我将有一个 community_id。在网站上获取用户信息时,我将获取 community_id。以下哪个选项更好:

  1. 我是否应该有一个将 community_id 映射到特定社区名称的 javascript 对象。这样我就不需要在 SQL 中创建表了?

  2. 我是否应该在 sql 中创建另一个表,并从表关联中获取 community_name?一用户一社区(users表外键为community_id)

  3. 或者不在用户表中保存为 community_id,我应该只存储 community_name 字符串。按社区字符串搜索比按整数搜索更难吗?

这是一个坏主意吗?进行此类操作的最佳做​​法是什么?大多数情况下,我会做大量的阅读而不是写作?

请不要删除这个问题,因为我对如何构建数据库感到很困惑。从最优秀的人那里获得帮助真的很有帮助。

最佳答案

选项 1 不好。每次添加社区时都需要更改代码。

选项 2 是最佳选项。要添加社区,您只需插入一行。您甚至可以制作一个管理窗口来执行此操作,因此您甚至不必直接在数据库中执行此操作。SQL 中的连接很容易创建,并且可以很容易地使用外键约束强制执行关系。

选项 3 不好。如果社区名称更改,您将必须更新该社区中的所有用户。在一个适当规范化的数据库中,社区将存储在一个单独的表中。很可能您还要为社区添加额外的字段,并且您不希望将它们全部添加到用户表中。

关于mysql - 我应该创建一个只有 id 和 name 并且属于一对一用户表的表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30688345/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com