gpt4 book ai didi

php - 如何高效地存储多类别、多属性的数据?

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

我们有许多类别的大量数据,具有许多属性,例如

category 1: Book

properties: BookID, BookName, BookType, BookAuthor, BookPrice

category 2: Fruit

properties: FruitID, FruitName, FruitShape, FruitColor, FruitPrice

我们有很多类别,例如书籍和水果。显然我们可以为它们创建许多表(例如 MySQL),每个类别一个表。但这将不得不创建太多的表,我们必须编写许多“适配器”来统一操作数据。

难点在于:

1) 每个类别都有不同的属性,这导致不同的数据结构。

2) 每个类别的属性可能需要随时更改。

3)如果每个类别一个表(表太多),很难操作数据

您如何存储此类数据?

最佳答案

您可以将数据库分为两部分:定义表和数据表。基本上,定义表用于解释存储实际数据的数据表(有人会说如果用 XML 表示定义表会更优雅)。

下面是基本思路。

定义表:

TABLE class  
class_id (int)
class_name (varchar)

TABLE class_property
property_id (int)
class_id (int)
property_name (varchar)
property_type (varchar)

数据表:

TABLE object  
object_id (int)
class_id (varchar)

TABLE object_property
property_id (int)
property_value (varchar)

最好也能创建额外的Layer来解释结构,以便Data Layer更容易对数据进行操作。当然,您必须考虑性能、查询的便利性等。

只是我的两分钱,我希望它能有所帮助。

问候。

关于php - 如何高效地存储多类别、多属性的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2399215/

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