繁体   English   中英

具有多对多关系的递归关系 MySQL 表

[英]Recursive relationship MySQL table with many-to-many relationship

我正在创建一个包含属性列表的数据库结构。 每个列表都包含我需要存储的各种便利设施,在listing_amenities表中。

listing_amenities表将包含递归记录。 例如。 上市便利设施可能是“互联网”。 在此记录下,我们需要存储子记录,例如它是哪种互联网(ADSL、Fiber 等)、速度(20mbs、50mbs 等)以及 ISP。

我的问题是递归 model 是否是正确的解决方案,以及我将如何 go 来构建数据库结构,或者是否有更好的解决方案来解决此类问题。 换句话说,将所有便利设施及其子属性简单地存储在列表表上的大 JSON blob 列中会更好吗?

创建递归表的原因是为了更好地查询,以便最终我们可以轻松地查询具有 ADSL 互联网的房产列表,并按位置对其进行排序,以便我们可以针对特定区域进行营销以升级到光纤.

首先,我建议不要使用 JSON BLOB,因为这样查询起来并不容易且可靠。

如果您确定将 sub_properties 分解为有限数量的级别,例如 amenity 和 sub_property 的两个级别,这将更容易处理。

使用一个表,自引用子或超属性的原因是支持无限数量的级别,您可以将其分解。 但是,这可能很麻烦,因为您永远不知道有多少级别,因此您不知道要在联接中使用多少级别。 如果你能避免这种情况,它可能会更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM