Иерархия (или дерево) категорий моделируется с помощью рекурсивной ассоциации один-ко-многим, которая связывает класс Category
с самим собой, как показано на следующей диаграмме:
Такая модель проектирования информации может быть преобразована в модель класса ООП и в модель таблицы SQL , напримерИтак:
Обратите внимание, как столбец superCategory
обозначен как внешний ключ, ссылающийся на таблицу categories
в модели таблицы: с помощью UMLСтрелка зависимости стереотипизирована как «fk».
Надеюсь, вы сами сможете понять, как кодировать модель таблиц SQL в операторе SQL Create Table
.
ps: подробнее о том, как моделировать базы данных с помощью UML CLass Diagrams см. https://stackoverflow.com/a/21394401/2795909