@neronru

Как оптимальней выбрать структуру БД?

Вообщем, есть сущности Предмет, Склад. Предмет - это прототип предмета (категория к которой относится предмет, его некие характеристики свойственные данному типу предметов) + определенные характеристики самого экземпляра предмета( ну к примеру, поврежденность, израсходованность). Так же, некоторые предметы можно объединять в одну запись, записывая только их количество (представьте, что есть некоторый контейнер, в который этот предмет кладется).
Все эти предметы хранятся на Складах, то есть 1 предмет - 1 склад, и 1 склад - много предметов.
Для более наглядного примера, пусть есть два типа предметов: оружие, ресурсы. Оружие - это уникальный предмет, имеющий уникальную у уникального экземпляра характеристику "поврежденность".
Ресурсы это предмет, который можно объединять, просто записывая какой ресурсы, и какое количество.
Для организации данной концепции у меня есть несколько решений, не пойму какое правильней:
Создать таблицу storage_items(id,storage_id,item_prototype_id,count,damaged), при этом первичным ключом выбрать id, и создать частичный индекс (storage_id,item_prototype_id) с условием COUNT IS NOT NULL.
Разделить эти предметы по нескольким таблицам.
Создать таблицу storage_items(id,storage_id,item_prototype_id,count) и item_instance_properties(id,items_id,damaged), items_id - ссылка на id в storage_items
Вопрос в том, какой из способов более адекватный?
P.S. Извиняюсь заранее, крайне тупой вопрос..
  • Вопрос задан
  • 248 просмотров
Пригласить эксперта
Ответы на вопрос 1
sim3x
@sim3x
Адекватный способ - узнать про нормальные формы и сделать согласно ним

Стоит начать с такого варианта
Склад:
  предмет
  количество

Предмет:
  тип предмета 
  характеристики

ТипХарактеристики:
   название

Характеристика:
  тип характеристики
  значение
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы