我有一个名为config
的表。每个 config
行都有一个 services
列表与之相关联。
总共有 10 个特定的服务
可用。
我应该如何设计架构? config
架构已经存在。
这是我的想法,但不确定是否正确。
config
===================
config_id primary key
col-1
col-2
...
col-n
我打算引入一个新表。
serviceconfigmap
========================================
config-id # foreign key to config table
svc_id # service identifier
这种方法的问题在于,serviceconfigmap
表将为每个 config-id
svc_id
列
这是正确的方法吗?欢迎任何更好的想法
========================================
编辑
我知道我错误地将我的要求称为一对多
而不是多对多
。编辑了我的问题。
每个配置可以有多个服务,相同的服务可以在不同的配置之间共享。
最佳答案
您正在设计多对多
关系,因为配置有很多服务,而服务可以包含在不同的配置中。
为此,您需要三个表,Config
、Service
和 MappingTable
Config
=========
Config_ID => unique
Config_Name
.....
Service
=========
Service_ID => unique
Service_Name
.....
ConfigServiceMap
==================
Config_ID
Service_ID
.....
关于sql - 多对多关系数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12812620/