gpt4 book ai didi

mysql - 应该使用什么数据库结构来包含多个类别中的表行?

转载 作者:行者123 更新时间:2023-12-01 00:24:32 25 4
gpt4 key购买 nike

我在 MySQL 数据库中有一个表,其中包含各种数据(为了举例,让我们给它以下内容:

ID   |   Place   |   Phone   |   Email   |   Category 

现在,我想重新设计“类别”部分,以便能够将任何给定的行包含在多个(可搜索的)类别中。

例如,假设有一个地方叫做“Lakeside Picnic Area”。目前它被归类为“自然保护区”。因此,当人们搜索自然保护区时,它会显示在他们的搜索结果中。不过,我也希望它出现在“美食区”、“野生动物”和“观景台”。

我的问题是:如何设计我的表/数据库结构以允许所有数据条目/行都可以按多个类别进行搜索?

继续:我认为没有人可以帮助我为我的 PHP 制定“插入”命令,对吗?

最佳答案

这称为 n m 关系。

换句话说,一个地方可以有多个类别,一个类别有多个地方。

下面是您将如何建模。

Place
-----
Place ID
Place Name
Place Phone
Place Email

Category
--------
Category ID
Category Name

CategoryPlace
-------------
CategoryPlace ID
Category ID
Place ID

所有三个表都有一个自动递增的 int 或 long 主键。

CategoryPlace 表将在(类别 ID,地点 ID)上有一个唯一索引。这使您可以找到给定类别的所有地点。

您还可以在(地点 ID、类别 ID)上建立唯一索引。这使您可以找到给定地点的所有类别。

关于mysql - 应该使用什么数据库结构来包含多个类别中的表行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16922434/

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