【发布时间】:2021-10-16 03:29:44
【问题描述】:
我在 SQLite 中这样做
问题是我的订单表需要有一个地址才能交付,但世界各地有许多不同的地址格式,所以我为每种不同的格式都有一个表。
格式示例:
-
美国和类似地址 - 地名、街道地址、公寓号码、城市、州、国家/地区、邮政编码
-
非洲的某些地方 - 地名、国家、州、邻里、地标、与地标的距离、与地标的方向
-
还有许多其他有效的收货地址格式。
所以我的想法是:
- 向引用每种地址格式的订单表添加空列,使用检查约束来确认至少有一个地址。
- 有单独的表,例如 order_us_address、order_africa_address
- 创建一个名为 master_address_id 的表,然后在每个地址格式表中引用它,这样我就可以在订单表中引用该 master_address_id
这里的最佳做法是什么?还有其他选择吗?
【问题讨论】:
标签: sql sqlite database-design