В рамках недавнего проекта, который я начал планировать, мне нужно создать структуру базы данных, которая будет содержать несколько продуктов. В качестве примера подумайте о том, как устроена Amazon. Он имеет несколько категорий и внутри этих категорий несколько подкатегорий.
Моя проблема в том, что концептуально я не уверен, как создавать таблицы базы данных. Я думал о создании самореферентной таблицы для категорий и подкатегорий, но, поскольку я планирую иметь в базе данных широкий спектр продуктов, я не знаю, следует ли мне просто сгруппировать их в одну таблицу под названием " Товары» или вынести их все в отдельные таблицы.
Например, унитаз может быть одним продуктом, а телевизор — другим. Несмотря на то, что они имеют разные категории/подкатегории, они оба являются продуктами. Поместив их в одну таблицу «Товары», они получили бы общие атрибуты, которые не имели бы смысла для них обоих. Туалету не нужен атрибут разрешения или размера дисплея (если только это не особый туалет?), а телевизору не нужен атрибут размера сиденья.
Я думал, что чтобы обойти это и по-прежнему хранить все в одной таблице, нужно создать кучу атрибутов NOT NULL, которые могут отсутствовать для определенных элементов, если они не нужны, но здравый смысл подсказывает мне, что это, вероятно, не так. лучший способ заниматься делами.
Итак, на данный момент я чувствую, что моя настоящая проблема заключается в том, чтобы выяснить, как структурировать эту базу данных и ее таблицы с несколькими категориями/подкатегориями и различными типами элементов. Создал бы я стол для телевизоров и стол для туалетов? Как это все будет структурировано? Как обычно планируются такого рода проблемы?
Спасибо