La mejor forma de almacenar información sobre una lista de materiales y su cantidad

Aug 16 2020

Quiero almacenar información sobre un juego. En concreto información sobre determinados edificios que se pueden construir en él.

Dichos edificios requieren materiales para su construcción. Estoy tratando de encontrar un buen modelo de base de datos para almacenar esa información en mi base de datos.

Por ejemplo, un edificio necesita 10 maderas para construirse. Pensé en tener una tabla de "Edificios" con columnas para identificación, nombre, icono y costo de material. Sin embargo, normalmente estoy acostumbrado a hacer referencia a valores comunes de otra tabla. Esto quiere decir que tendría una tabla separada llamada "Materiales" con las columnas ID, nombre e ícono y la tabla "Edificios" tendría una columna "Materiales requeridos" que contendría una referencia a la ID del material necesario en la sección "Materiales " mesa. Pero no tengo idea de cómo hacer eso (que es una mejor práctica, afaik) Y almacenar la cantidad necesaria de dicho material.

Respuestas

2 nbk Aug 16 2020 at 08:17

No, tendría una mesa intermedia, por lo que puede tener una relación de muchos a muchos. Y un material también puede ser producto de otros materiales.

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