_RVK_
Новичок
Хранение документов разной структуры
В общем то, лучшим примером будут прайс-листы.
Задача:
Необходимо создать БД для хранения данных о товарах. Вложенность неограниченная. Помимо наименования, у товара может быть определенное число других характеристик например срок гарантии, цена, цена с доставкой и т.п. причем количество и перечень таких характеристик может быть различным у товаров относящихся к разным категориям. Пользователь может в любой момент добавить характеристику или удалить. Так же можно добавлять новые прайсы свободной структуры.
Решений вижу несколько:
1. Таблица имеет поле text в котором хранится xml с описанием доаолнительных полей. Что то типа:
<fields>
<field name="Name of field" value="value of field" type="text"/>
</fields>
Но здесь возникают проблеммы сортировки, поиска, выборки по полям...
2. Таблица с товарами связанна с другой в отношении один ко многим. Во второй таблице 2 поля: имя параметра, значение параметра.
Тут недостатком является фиксированный размер полей и ресурсоемкие операции объединения таблиц при выборке и поиске.
3. Каждому прайсу своя таблица+таблица с описанием.
Недостаток только в сложности реализации.
Хочется обсудить достоинства и недостатки подходов прежде чем принимать решение по реализации одного из них.
В общем то, лучшим примером будут прайс-листы.
Задача:
Необходимо создать БД для хранения данных о товарах. Вложенность неограниченная. Помимо наименования, у товара может быть определенное число других характеристик например срок гарантии, цена, цена с доставкой и т.п. причем количество и перечень таких характеристик может быть различным у товаров относящихся к разным категориям. Пользователь может в любой момент добавить характеристику или удалить. Так же можно добавлять новые прайсы свободной структуры.
Решений вижу несколько:
1. Таблица имеет поле text в котором хранится xml с описанием доаолнительных полей. Что то типа:
<fields>
<field name="Name of field" value="value of field" type="text"/>
</fields>
Но здесь возникают проблеммы сортировки, поиска, выборки по полям...
2. Таблица с товарами связанна с другой в отношении один ко многим. Во второй таблице 2 поля: имя параметра, значение параметра.
Тут недостатком является фиксированный размер полей и ресурсоемкие операции объединения таблиц при выборке и поиске.
3. Каждому прайсу своя таблица+таблица с описанием.
Недостаток только в сложности реализации.
Хочется обсудить достоинства и недостатки подходов прежде чем принимать решение по реализации одного из них.