Это вопрос не к конкретному языку, а к правильной методологии архитектурного обращения с инвентарем.
Рассмотрим следующую структуру для хранения программного обеспечения:
platforms (platformID*, platformName)
titles (titleID*, titleName)
А ниже столярная таблица для уникальных изделий
products (platformID*, titleID*, releaseDate, notes)
Ниже приведена таблица, в которой я хотел бы отслеживать свой инвентарь.
inventory (platformID*, titleID*, quantityAvailable)
В примерах, которые я видел, другие создали таблицу, в которой каждая уникальная копия программного обеспечения хранится в отдельной строке как таковая:
software(softwareID*, softwareTitle)
inventory(inventoryID*, softwareID*)
Я хотел бы знать, какой подход предпочтительнее? Должен ли я создать inventoryID и, следовательно, строку для каждой уникальной копии программного обеспечения:
inventory(inventoryID*, platformID*(fk), titleID*(fk))
Или используйте вместо этого таблицу, в которой хранится количество, например:
inventory(platformID*(fk), titleID*(fk), quantityAvailable)