gpt4 book ai didi

mysql - 管理和链接分层数据

转载 作者:行者123 更新时间:2023-11-29 16:34:12 24 4
gpt4 key购买 nike

因此,在我的应用程序数据库中,我有一个业务配置文件实体,其中包含:

  • 一个主要类别(例如餐厅、酒店、医院等)
  • 无限子类别(例如披萨餐厅、意大利餐厅等)
  • 无限产品(例如奶酪披萨、意大利辣香肠披萨等)
  • 无限服务(例如接送服务、送货服务等)

P.S.我以餐厅类别为例来演示其子类别/服务/产品实体,但是,它实际上可以是任何东西。

第一:我可以使用邻接列表模型之类的东西来定义无限的类别及其相应的子类别,但是服务和< strong>产品实体?知道服务产品子类别实体的子级,如何将它们相互链接?

目前我所拥有的是: Figure-1

第二:如何将每个商家资料与其类别/子类别/产品/服务映射?!这样我就知道每个业务资料属于什么类别,以及每个业务资料有哪些子类别/产品/服务。

这是我目前拥有的映射: Figure-2

我还是一个数据库设计新手,我正在努力使这个数据库尽可能高效,因为它将接收大量流量。我现在拥有的数据库方案是否有效,或者是否有任何数据库设计概念需要深入挖掘?

最佳答案

当我读到这个问题时,我担心这会有一个复杂的树结构,但到目前为止阅读你的工作,它非常干净和简单。

就我个人而言,我认为您的方向是正确的,并且会做一些笔记:

  • 将服务和产品链接到子类别并不难,您还可以轻松链接企业和产品/服务。我认为这不需要是一棵树。只需在创建记录时强制执行此限制即可。
  • 邻接列表模型对于任意深度的树很有意义,您需要轻松地找到子树,但我不确定这是否适合您的问题,特别是因为:

    1. 你没有任意的深度。您只有父类别和子类别。
    2. 对于诸如业务类别系统之类的系统,条目数量可能足够少,因此不值得增加额外的复杂性。读取整个表并将其保留在内存中可能非常快。

如果您希望将服务和产品链接到子类别和类别,最简单的方法可能是使用一个类别表,并让每个类别都有一个可能为空的 parent_id

关于mysql - 管理和链接分层数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53710696/

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