Najlepszy sposób na przechowywanie informacji o liście materiałów i ich ilości

Aug 16 2020

Chcę przechowywać informacje o grze. W szczególności informacje o niektórych budynkach, które można w nim zbudować.

Wspomniane budynki wymagają do budowy materiałów. Próbuję wymyślić dobry model bazy danych do przechowywania tych informacji w mojej bazie danych.

Na przykład do budowy jednego budynku potrzeba 10 drewna. Pomyślałem o stworzeniu tabeli „Budynki” z kolumnami zawierającymi identyfikator, nazwę, ikonę i koszt materiałów. Jednak zwykle jestem przyzwyczajony do odwoływania się do wspólnych wartości z innej tabeli. Oznacza to, że miałbym osobną tabelę o nazwie „Materiały” z identyfikatorem kolumn, nazwą i ikoną, a tabela „Budynki” miałaby kolumnę „Wymagane materiały”, która zawierałaby odniesienie do identyfikatora potrzebnego materiału w sekcji „Materiały " stół. Ale nie mam pojęcia, jak to zrobić (co jest najlepszą praktyką, afaik) ORAZ przechowywać potrzebną ilość tego materiału.

Odpowiedzi

2 nbk Aug 16 2020 at 08:17

Nie, miałbyś tabelę pośrednią, więc możesz mieć wiele do wielu relacji. Materiał może być również produktem z innych materiałów

Building            Building_Material         Material
---------------------------------------------------------
Building_id         Building_id               Material_id
Name                Material_id               Name 
                    Quantity                  Price