Таблица параметров нормализации (с дубликатами в одной ячейке и с разными типами в одном столбце) - PullRequest
0 голосов
/ 31 мая 2019

У меня есть таблица настроек, подобная этой:

 id | user_id | key              | value
 1  |    1    | show brand logos | true 
 2  |    1    | brand ids        | 1,3,4
 3  |    1    | search type      | advanced

Я использую это, и оно работает как-то, но я читал о нормализации, и это тормозит даже первые правила формы нормализации: однозначные атрибуты (есть ячейка с 1,3,4) и область атрибутов не должны изменяться (есть логическое значение, Строка и целые числа).

У вас есть идеи, как нормализовать эту таблицу? Я много искал, но безуспешно.

1 Ответ

0 голосов
/ 31 мая 2019

создать таблицу ключей:

id  | key
1   | show brand logos 
2   | brand ids
3   | search type      

добавить три строки вместо одной

id  | user_id | key             | value_bool| value_str| value_num
 1  |    1    | 1               | true      | null     | null
 2  |    1    | 2               | null      | null     | 1
 2  |    1    | 2               | null      | null     | 3
 2  |    1    | 2               | null      | null     | 4
 3  |    1    | 3               | null      | advanced | null
...