Лучший SQL дизайн стола - PullRequest
       0

Лучший SQL дизайн стола

0 голосов
/ 17 марта 2020

Какой дизайн лучше для таблицы продуктов с, вероятно, более чем одним именем для продукта?

Использование одной таблицы или двух таблиц:

One Table: 

id       |   Price|EN name| CH name|  JP name|.... 
---------------------------------------------------
1        |     100|    ABC|   中文一|     null|...
2        |     200|    CDE|    null|     null|...
.....    |     ...|    ...|     ...|      ...|...




Two Tables:
id       |   Price|EN name|  
---------------------------
1        |     100|    ABC|
2        |     200|    CDE|    
.....    |     ...|    ...|     


id       |   language|   name| 
-------------------------------
1        |         CH|  中文一|    
3        |         JP|    東京|     
.....    |       ... |    ...|     

Ответы [ 2 ]

0 голосов
/ 17 марта 2020

Второй способ позволяет добавлять дополнительные языки.

На самом деле вы можете даже поместить Engli sh во вторую таблицу, чтобы сделать ее более совместимой с нормализацией базы данных:

https://en.wikipedia.org/wiki/Database_normalization

0 голосов
/ 17 марта 2020

Как правило, две таблицы считаются «лучше», потому что это облегчает добавление новых языков. Я скажу, что это может применяться в большей степени к языкам, которые имеют общий набор символов.

Во многих базах данных расширение ширины строки (путем добавления большего количества языков) также влияет на производительность. Более широкие ряды дороже. А добавление столбцов в таблицу с большим количеством строк стоит дорого.

Одно преимущество одной таблицы состоит в том, что вы можете определить набор символов для каждого столбца, соответствующего этому столбцу, вместо того, чтобы иметь один столбец generi c для всех наборы символов.

Другими словами, не обязательно простой ответ на ваш вопрос.

...