gpt4 book ai didi

php - 规范化一个简单的 SQL 表

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

我有两个不同的表,我不确定将其从第一范式转换为第二范式的最佳方法。第一个表包含用户信息,而第二个表是与帐户关联的产品。如果我这样做,我知道它只在 NF1 中,并且 User_ID 的外键将在表 2 中重复多次。请参见下表。

Table 1
|User_ID (primary)| Name | Address | Email | Username | Password |

Table 2
| Product_ID (Primary Key) | User_ID (Foreign Key) |

这是制作用户 ID 不重复的表二的更好方法吗?我考虑过在数据库中为每个用户创建一个单独的表,但从我在 StackOverFlow 上阅读的所有其他问题来看,这不是一个好主意。

我使用的约束是 1-1000 个用户,表二每个用户大约有 1-1000 个索引。有没有更好的方法来创建这组表?

最佳答案

我没有看到违反 NF2。它指出:

a table is in 2NF if it is in 1NF and no non-prime attribute is dependent on any proper subset of any candidate key of the table.

引自维基百科文章“第二范式”,2016-11-26

表2只有一个候选键,主键。主键仅包含一列。因此,不存在候选键的适当子集。因此,除非不满足 NF1,否则不能违反 NF2。

关于php - 规范化一个简单的 SQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40820697/

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