Как воссоздать иерархию в диаграмме ER?

Я делаю этот проект из школы, о базе данных супермаркета, и у меня есть сдержанность, которую я должен представлять, но я не знаю как. Вот сдержанность:


"У каждого товара есть названная категория. Нет товаров без категории, и каждый товар относится только к одной категории.

В другой категории (подкатегории) может быть категория. То есть категории образуют иерархию. Категории, которые сформированы из подкатегорий, называются "Суперкатегориями", а остальные - просто "Простыми категориями".

Одна категория может принадлежать только одной суперкатегории.

Система должна определить для каждой суперкатегории количество подкатегорий ".


Я думал о том, чтобы создать отношение "IS A", как это: https://prnt.sc/gtzmuh

Как вы думаете? Как я могу сделать эту работу?

Заранее спасибо!:)

1 ответ

Решение

Я не думаю, что в этом случае наследование будет тихо полезным... Я считаю, что приведенная ниже цифра должна помочь вам... ER

И тогда ваши таблицы в SQL должны быть примерно такими:

  1. Категория (category_id, ...) -> ключ (category_id)

  2. Продукт (product_id, category_id, ...) -> ключ (product_id, category_id)

  3. A_is_subCategory_of_B (A_category_id, B_category_id) -> ключ (A_category_id, B_category_id)

Любая пара суперкатегории и подкатегории будет находиться внутри таблицы "A_is_subCategory_of_B".

Другие вопросы по тегам