gpt4 book ai didi

sql-server - 数据库设计-下拉输入框问题

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

我正在尝试创建一个交友网站。我遇到的问题是,当用户加入网站时,他们必须填写表格。此表单有许多用户必须填写的固定下拉项。这是其中一个下拉列表的示例。

放下(最喜欢的宠物)​​

最喜欢的宠物中的元素

 1. Dog
2. Cat
3. Bird
4. Hampster

将此信息存储在数据库中的最佳方式是什么。现在,配置文件表为每个固定下拉列表都有一列。这是正确的数据库设计吗?参见示例:

User ID | Age | Country       | Favorite Pet | Favorite Season 
--------------------------------------------------------------
1 | 29 | United States | Bird | Summer

这是正确的数据库设计吗?现在我大概有 30 多个专栏。大多数列是固定的,因为它们是下拉的,用户必须选择其中一个选项。

解决这个问题的正确方法是什么?

p.s. 我也考虑过为每个下拉列表创建一个表,但这确实会使查询变得复杂并导致产生大量表。

另一种方法

个人资料

ID | username | age
-------------------
1 | jason | 27

profileDropDown 表:

ID | userID | dropdownID
------------------------
1 | 1 | 2
2 | 1 | 7

下拉表格:

ID | dropdown | option
---------------------
1 | pet | bird
2 | pet | cat
3 | pet | dog
4 | pet | Hampster
5 | season | Winter
6 | Season | Summer
7 | Season | Fall
8 | Season | spring

最佳答案

“最佳方法”或“正确方法”将在这里展开大量讨论,这可能会导致这个问题被关闭。我建议创建一个下拉表,其中包含一个名为“TYPE”或“NAME”的列。然后,您可以在该列中放置下拉列表的唯一标识符以标识该集合。然后有另一个名为“VALUE”的列,用于保存下拉值。

例如:

ID |  TYPE  | VALUE
1 | PET | BIRD
2 | PET | DOG
3 | PET | FISH
4 | SEASON | FALL
5 | SEASON | WINTER
6 | SEASON | SPRING
7 | SEASON | SUMMER

然后为了让您的 PET 下拉,您只需从此表中选择所有 type = 'PET'

关于sql-server - 数据库设计-下拉输入框问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27450409/

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