在 Mariadb 中描述城市选择的更好方式是什么
Which is the better way of describing city selections in Maria DB
我的数据库中有 table 个城市。每个城市有 table 个客户和 table 个预测。每个客户都有一个他们需要预测的城市列表。我需要将这些列表放入数据库中,因为它们现在位于文本文件中。
我可以想到两种方法来实现:
- 为城市 table 中的每个客户添加一个布尔值列。
- 在字符类型的客户 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并且搜索效率低下等
我的数据库中有 table 个城市。每个城市有 table 个客户和 table 个预测。每个客户都有一个他们需要预测的城市列表。我需要将这些列表放入数据库中,因为它们现在位于文本文件中。
我可以想到两种方法来实现:
- 为城市 table 中的每个客户添加一个布尔值列。
- 在字符类型的客户 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并且搜索效率低下等