我正在做一个项目,其中数据库有几个表,其中包含一个type\u id字段,该字段存储来自多个表的id
例如:

id | table_type | table id
==============================
1    ADDRESS      1
2    ADDRESS      2
3    CITY         1
4    CITY         2
4    ADDRESS      3
5    COUNTRY      1

table_id字段保存addresses表、cities表或countries表中的id
我只是想知道这是不是个好设计。或者我应该尽可能避免这种情况?
此表用于获取用户输入的所有位置。

最佳答案

答案是:
这要看情况。
如果您给出的示例表名为Location,并使用它来实现类型继承,其中AddressCityCountryLocation的特定类型,则此设计可以工作。在这种情况下,主键将位于Location表中,其他每个表都有一个外键指向Location。如果这不是您使用它的方式,那么这不是一个正确的规范化数据库设计。

10-08 07:17
查看更多