gpt4 book ai didi

mysql - 社交网站的数据库设计。帮助!

转载 作者:行者123 更新时间:2023-11-29 06:15:56 25 4
gpt4 key购买 nike

我正在寻找一种解决方案,以最有效的方式为社交网站设计表(使用 mySQL)。这是我当前的表格设置:

User_ID  Peer_ID   Message   001      002       msg from 001 to 002001      003       msg from 001 to 003001      004       msg from 001 to 004001      005       msg from 001 to 005002      001       msg from 002 to 001002      003       msg from 002 to 003002      004       msg from 002 to 004002      005       msg from 002 to 005003      001       msg from 003 to 001003      002       msg from 003 to 002003      004       msg from 003 to 003003      005       msg from 003 to 005and so on...

(最多约 10,000 名成员,向每个成员发送 9,999 条消息。即 1 亿行)

我知道规范化的首要规则之一已被破坏,因为 User_ID 列具有重复值。
我宁愿为 User_ID 有一个唯一的键索引列,并在新用户注册时使用 Auto_Increment,从而形成矩阵格式。 IE。列中的 User_ID 和标题行中的 Peer_ID。
然而,在这种情况下,最多需要 10,000 列(对于每个 Peer_ID),并且无法在新用户注册时自动生成新列。见下文:

User_ID  001             002             003             004            005001      NA              msg:001 to 002  msg:001 to 003  msg:001 to 004 msg:001 to 005002      msg:002 to 001  NA              msg:002 to 003  msg:002 to 004 msg:002 to 005003      msg:003 to 001  msg:003 to 002  NA              msg:003 to 004 msg:003 to 005004      msg:004 to 001  msg:004 to 002  msg:004 to 003  NA             msg:004 to 005005      msg:005 to 001  msg:005 to 002  msg:005 to 003  msg:005 to 004 NAand so on...

关于如何创建更高效​​的表格设计有什么想法吗?
提前致谢...

最佳答案

您的第一个表设计很好,从行到行重复值没有任何问题。我认为您误解了重复组的概念,它指的是列到列的重复。 (您的第二个设计采用的。)

参见 http://en.wikipedia.org/wiki/First_normal_form

关于mysql - 社交网站的数据库设计。帮助!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6514632/

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