Im в настоящее время работает на сайте, который будет содержать каталог продуктов. Я немного новичок в дизайне базы данных, поэтому я ищу советы о том, как это сделать лучше всего. Я знаком с дизайном реляционной базы данных, поэтому я понимаю "многие для многих" или "один для многих" и т.д. (Взял хороший класс db в колледже). Вот пример того, что элемент может быть классифицирован как:
Propeller -> aircraft -> wood -> brand -> product.
Вместо того, чтобы писать то, что у меня есть, просто взгляните на этот образ, который я создал из функции конструктора phpmyadmin.
alt text http://www.usfultimate.com/temp/db_design.jpg
Теперь все это выглядело прекрасно и денди, пока я не понял, что категория "древесина" также будет использоваться под гребным винтом → airboat → (дерево). Это означало бы, что "дерево" нужно будет воссоздавать каждый раз, когда я хочу использовать его под другим родителем. Это не конец света, но я хотел знать, есть ли более оптимальный способ этого.
Кроме того, я стараюсь, чтобы эта вещь была настолько динамичной, насколько это возможно, чтобы клиент мог организовать свой каталог по мере того, как его потребности менялись.
* Edit. Подумал только о создании таблицы "тегов". Поэтому я мог бы назначить тег "дерево" или "металл" или "50inch" на 1 для многих предметов. Я бы по-прежнему сохранял тип родительского типа для основных категорий, но таким образом, категории не должны были бы проходить настолько глубоко и не было бы повторения.