在 Mariadb 中描述城市选择的更好方式是什么

Which is the better way of describing city selections in Maria DB

我的数据库中有 table 个城市。每个城市有 table 个客户和 table 个预测。每个客户都有一个他们需要预测的城市列表。我需要将这些列表放入数据库中,因为它们现在位于文本文件中。

我可以想到两种方法来实现:

  1. 为城市 table 中的每个客户添加一个布尔值列。
  2. 在字符类型的客户 table 中添加一列,并将所有城市 ID 用“,”或“_”分隔。

将使用 PHP 处理数据。数据库很小:总共有 50 个客户和 200 个城市。

我不喜欢第一种方法的地方在于,每当我有一个新客户时,我都需要更改 table 结构。

我更喜欢第二种方法,但不知何故它不适合 "DB way" 结构化数据。

你怎么看?

我不知道 mariadb,但您正在尝试对多对多 relationship.in 和 SQL 数据库建模,您将创建一个新的 table "subscriptions"(或者你称之为w/e)像这样:

user_id  |  city_id  | (additional options if needed)

但是在 mongodb 中,您会(通常)有一个参考列表 (ids):

collection users:
{
   "name": "blabal",
   "cities": [ 1, 2, 7 ]
}

永远不要做那种字符串变体,它会浪费很多space并且搜索效率低下等