Когда вы обслуживаете клиента, я не думаю, что вам нужно отслеживать, из какой коробки вы берете планшет. Поэтому для отслеживания того, сколько у вас есть акций, вам просто нужна таблица ITEM_STOCK. Так что вам нужно выяснить, сколько деталей вам нужно.
BrandName
GenericName
Strength
Units
Form
quantityInStock
Таким образом, записи могут иметь
Neurofen, Ibuprofen, 75, mg, capsule, 450
Вы можете добавить дополнительные поля для порогов повторного заказа или чего-либо еще.
Если вам нужно отследить юниты, такие как ящики, я бы хотел оставить это в отдельной таблице, поскольку у вас вполне могут быть ящики разных размеров.
Несмотря на то, что ваша система может отслеживать количество открытых ящиков, вы на усмотрение пользователей точно фиксируете данные. Всегда ли они используют все одно поле, прежде чем открывать другое? Будут ли они записывать этот факт? В большом многопользовательском сценарии я скептически отношусь к тому, что пользователи все сделают правильно.