Как спроектировать таблицы для переменной числа столбцов с возможностью запроса? - PullRequest
1 голос
/ 23 ноября 2011

Мне нужно спроектировать базу данных, в которой будут храниться продукты с переменным количеством свойств, например:

id: 1, имя: бекон, wg: 2, упаковка: 6, бренд: "meat co.", страна: "канада" и т. д.

Я могу сконструировать это:

  1. |id, keyword, value | для каждого ключевого слова, а затем сумасшедшее количество объединений для отображения данных в таблице
  2. |id, col1,col2,col3,col4,metadata| и затем выполните неизвестную магию для запроса метаданных с помощью XML или JSON
  3. ваше предположение

Пожалуйста, укажите мне это.

note: Я использую LAMP и PERL

1 Ответ

1 голос
/ 23 ноября 2011

Вы можете определить таблицу с продуктами и другую таблицу со свойствами продукта.

Таблица свойств продукта может содержать 3 столбца.Например, product_id, имя и значение свойства продукта, поэтому вы можете добавить n номеров свойств продукта в эту таблицу.Без разрыва соединений.

В итоге две таблицы.

Product 
 - Product_id
 - Product_name
Product Properties.
 - Product_id
 -Property_id
 -Property_name
 -Property_value

Так что, по сути, этот дизайн позволит вам масштабировать количество свойств для продукта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...