用于根据组合列表存储价值的SQL表结构

时间:2018-06-23 13:45:42

标签: sql database-design

我有一个来自客户的要求,我需要根据组合列表存储一个值。

例如,我有以下LOB,针对每种组合,我需要存储一个值。

  1. 自动
  2. WC
  3. 个人

我打算采用多种解决方案,他对任何人都不满意。

解决方案1:创建单个表,针对所有可能的组合(字符串)插入值,例如

LOB Value
Auto    1
WC  2
Personal    3
Auto,WC 4
Auto, personal  5
WC, Personal    6
Auto, WC, Personal  7

解决方案2:创建lkp_lob,lob_group和lob_group_detail表。每个组组合代表一个组。  Lkp_lob

Lob_key Name
1   Auto
2   WC
3   Person

Lob_group(对lob_group_key和lob_key的唯一查询约束)

Lob_group_key   Lob_key
1   1
2   2
3   3
4   1
4   2
5   1
5   3
6   2
6   3
7   1
7   2
7   3

Lob_group_detail

Lob_group_key   Value
1   1
2   2
3   3
4   4
5   5
6   6
7   7

任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

首先,我不理解您所说的那些话。 但是从数据库角度来看,每个模块都有多个表总是很好的。进行CRUD时,您将面临的困难更少。而且会更快。