Как воссоздать иерархию в диаграмме ER?
Я делаю этот проект из школы, о базе данных супермаркета, и у меня есть сдержанность, которую я должен представлять, но я не знаю как. Вот сдержанность:
"У каждого товара есть названная категория. Нет товаров без категории, и каждый товар относится только к одной категории.
В другой категории (подкатегории) может быть категория. То есть категории образуют иерархию. Категории, которые сформированы из подкатегорий, называются "Суперкатегориями", а остальные - просто "Простыми категориями".
Одна категория может принадлежать только одной суперкатегории.
Система должна определить для каждой суперкатегории количество подкатегорий ".
Я думал о том, чтобы создать отношение "IS A", как это: https://prnt.sc/gtzmuh
Как вы думаете? Как я могу сделать эту работу?
Заранее спасибо!:)
1 ответ
Я не думаю, что в этом случае наследование будет тихо полезным... Я считаю, что приведенная ниже цифра должна помочь вам...
И тогда ваши таблицы в SQL должны быть примерно такими:
Категория (category_id, ...) -> ключ (category_id)
Продукт (product_id, category_id, ...) -> ключ (product_id, category_id)
A_is_subCategory_of_B (A_category_id, B_category_id) -> ключ (A_category_id, B_category_id)
Любая пара суперкатегории и подкатегории будет находиться внутри таблицы "A_is_subCategory_of_B".