gpt4 book ai didi

mysql - 创建另一个表只是为了存储一些选项?

转载 作者:行者123 更新时间:2023-11-29 06:17:04 26 4
gpt4 key购买 nike

我正在创建一个包含各种表的数据库。我们以用户表为例。它具有婚姻状况和系统角色等字段。每个字段都有预定义的选项。为每个字段创建两个新表是否有意义,这样当用户添加到系统时,就可以进行选择,例如单例、已婚、离婚?就一个额外的查询而言,这似乎有点过分了。这是最好的方法还是我还有其他选择?

最佳答案

我肯定会创建单独的表来存储这些不同列的可用选项。就标准化而言,这是一件好事,而且当您需要添加、删除、禁用或更改任何选项时,也可以为您省去麻烦。此外,如果不创建单独的表并直接在用户表中填充值,您最终可能需要执行诸如 select differentRelationshipStatus from User 之类的操作来获取可用选项,这不是与从单独的表中选择 10 个或任意多个值一样高效。

正如有人评论的那样,过度标准化有时可能会很痛苦,但我发现不将某些东西标准化作为快速解决方法的方法几乎总是会困扰你。

User
----
ID
RelationshipStatusId
...other columns


RelationshipStatus
------------------
ID
Value
Description

关于mysql - 创建另一个表只是为了存储一些选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5827227/

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