gpt4 book ai didi

database - 用于搜索属性的数据库表的优化设计

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:36:58 25 4
gpt4 key购买 nike

嗨,我希望我在这里写这个问题没问题。我目前正在概述一个数据结构,该结构将位于有电影的数据库中,每部电影都有很多描述符。

我希望能够搜索整个数据库并找到具有属性 Y、Z 而没有 A、B、C 的电影 X。

我在想的是像这样存储描述符/属性:

Movie ID | Attribute | Has_Attribute
1 | Action | 0
1 | Adventure | 1
1 | Comedy | 1
2 | Action | 1

这是存储记录所有属性的最佳方式吗?

大概对于每个后续调用,我会搜索 where Action == 0 AND Comedy == 1 ... n == n_has_attribute 以开始缩小搜索范围。

最佳答案

在设计表中,不需要存储不存在的属性。您只需要记录电影所具有的属性。因此,您的设计应该是这样的:

Movie ID | Attribute
1 | Adventure
1 | Comedy
2 | Action

此外,如果属性的数量不是太多,可以将它们定义为表中具有二进制值的列:

Movie Id | Adventure | Comedy | Action 
1 | 1 | 1 | 0
2 | 0 | 0 | 1

因此,要选择更好的数据结构,需要在属性个数、电影个数等方面更加明确问题的空间。

此外,如果需要将数据存储在决策树中,节点的断点将是属性,与第一种设计相比,它更像是第二种表架构。

关于database - 用于搜索属性的数据库表的优化设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56138764/

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