你会如何“规范化”这个SQL? [关闭]

问题描述 投票:1回答:1

所以,我将有一个名为“REPS”的表。在那张桌子里我会有这个信息。

ID

NAME

ZIP_CODES

我需要弄清楚我应该如何进行ZIP_CODES部分。它应该是邮政编码的JSON格式吗?像这样

zip_codes('{"32343", "324234", "34234"}')

那么,如果我想在ZIP_CODES中获取ZIP与其中任何一个匹配的名称?或者ZIP_CODES应该有它自己的表?

mysql database-normalization
1个回答
1
投票

我建议有一个邮政编码表和一个代表。然后创建一个具有自己的ID,代表ID和邮政编码ID的排序映射表。

表格邮政编码

id INT PRIMARY KEY AUTOINCREMENT
name VARCHAR(64)
zipcode VARCHAR(15)  // account for postal codes from Canada etc

表代表

id INT PRIMARY KEY AUTOINCREMENT
name VARCHAR(64)

表rep_zipcode_map

id INT PRIMARY KEY AUTOINCREMENT
zipcode_id INT
rep_id INT

然后,如果您想要由代表服务的邮政编码列表,您可以使用简单的JOIN来处理此请求。

另一种方法是使用各种图形数据库。听起来这可能是解决这个问题的正确方法。

© www.soinside.com 2019 - 2024. All rights reserved.