gpt4 book ai didi

mysql - 将站点数据存储在列或行中

转载 作者:行者123 更新时间:2023-11-30 00:04:30 25 4
gpt4 key购买 nike

这是一个如何执行从网页存储数据的最佳实践的问题。如文本/图像网址/链接等。

我有一个 CMS,您可以在其中创建网页。在这里您可以编辑文本/上传图像。将来,“添加新元素”、添加 a 标签链接等也会很好。

我需要一个强大、灵活且具有良好性能的解决方案。在获取/接收此数据时。

假设我有 1000 个页面,每个页面上大约有 25 个可以更新并存储在数据库中的元素。

替代方案 1)

为这些页面上的每个元素创建一个表和 1 列,例如以下列:标题_1、标题_2、图像_1、图像_2。

这里我们有一组可以更新的列,我们可以在网页上使用这些列。

替代方案 2)

创建 1 个包含列(id、命名空间、page_id、数据)的表

对于页面上的每个元素,我添加与 page_id 关联的命名空间,以使数据输出唯一。在数据中我可以添加任何类型的信息;文本、链接等

对于这个问题,您有什么好的解决方案吗?我当然也愿意接受其他选择。

谢谢!

最佳答案

如果元素 id 确实具有可比性,我会推荐选项二,添加一个标识元素 id/或类型的列。也就是说,如果 anchor 文本(比如说)始终存储为元素 id = 4,那么您可能需要元素 id = 4,以便可以比较多个文档中的 anchor 文本。

另一方面,如果(这是我认为更有可能发生的情况),页面上可能有 1-25 个元素,并且每个元素都可能不同(例如,文档一个具有三个 anchor 文本和四个图像,文档二有一个 anchor 文本,没有图像等),添加一个存储有关元素类型的一些信息的 element_type_id 表是有意义的。这是假设您曾经有兴趣比较(例如)多个文档中的图像,或多个文档中的 anchor 文本等。

要考虑的另一件事:如果您可能会一遍又一遍地看到相同的元素,那么通过查找表有效地参数化这些元素实际上更有意义。因此,基本上将每个(比如说)唯一的 anchor 文本存储在一个表中,并在实际数据表中引用其 ID。

如果我可以添加一件事:SO 可能不是您所问的特定问题的最佳位置。我不完全确定这一点,也许我错了......但我会浏览 Stack Exchange 网络,看看其他论坛是否更密切地处理您提出的问题类型。至少,我发现你的问题相当模糊,目标是实现“强大而灵活的解决方案,并且在获取/接收这些数据方面也具有良好的性能。”仅仅通过征求有关 SO 的建议是不可能完成的。数据架构中有很多内容,当然,我自己认为在设计数据架构时很重要的许多细节并不存在于您的问题中。如果您不确定这些细节是什么,我不确定 SO 是否真的是开始学习它们的最佳场所。我认为https://softwareengineering.stackexchange.com/可能更适合这个问题。

这只是我的意见,我可能是错的。不管怎样,我会考虑学习一些关于数据库范式的知识(http://www.bkent.net/Doc/simple5.htm或谷歌它),并对构建数据库的设计考虑因素类型进行一些研究(一篇古老但仍然很好的SO文章)在这里: What are the most important considerations when designing a database? )

关于mysql - 将站点数据存储在列或行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24708496/

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