Я хочу представить рекурсивные родительско-дочерние отношения в базе данных MySQL. Я хочу создать _1 _-_ 2_ отношения. Категория может иметь N подкатегорий, и каждая из них может иметь N подкатегорий и так далее. Я думал о том, чтобы иметь одну category
таблицу с внешним ключом, указывающим на нее. Вот что я имею в виду:
CREATE TABLE `category` (
`id` int NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`parent_category` int NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`parent_category`) REFERENCES `category` (`id`)
)
parent_category
может иметь значение NULL, если категория является категорией верхнего уровня.
Это правильный способ представить такие отношения? Также есть ли другие вещи, которые я должен учитывать в своем дизайне (производительность, запросы ...)?