#sql
#sql
Вопрос:
Я создаю приложение для управления запасами. У меня есть таблица под названием Inventory. Он содержит приведенные ниже примеры значений.
ID | Элемент | Стоимость |
---|---|---|
1 | Курица | 10 |
2 | Лук | 12 |
Теперь я хочу создать собранные элементы. (Коллекция элементов). Например, Курица бирияни — это собранный элемент. Для этого мне нужно сохранить требуемые элементы и их количество. (Курица, лук, помидор и т. Д.) Например, мне нужно создать около 100 собранных элементов.
Я хочу получить несколько советов о том, как хранить данные в БД. Нужно ли мне создавать таблицу 100 для каждого собранного элемента или есть какой-либо другой наилучший подход для хранения собранных элементов.
Ответ №1:
Вам нужны две таблицы: одна для объекта «собранный элемент» и одна для элементов в них.
create table assemblies as (
assemblyId int primary key,
. . .
);
create table assemblyItems as (
assemblyItemId int primary key,
assemblyId int not null references assemblies (assemblyId),
itemId int not null references inventory(itemId),
quantity <number of some sort>
);
Примечание: я думаю, вам нужна items
таблица, на которую inventory
должна ссылаться таблица. Их можно объединить в одну таблицу; items
было бы более подходящим именем.