我想将它们存储在数据库中,但由于我的经验有限,我正在质疑为SQL构建和设计数据库的正确/正确方法。
最初我打算将所有内容放在一个表中,因此每条记录都代表一个项目,然后会有一个字段用于指令和一个字段材料。每组指令都会进入一个值,可能由某个字符或符号分隔。
但是,我想知道是否最好将指令和材料分成他们自己的表(每个项目的每个指令集的表)。但是使用这种方法,如果我为每个项目的每组指令创建一个表,就必须有数百个表。
第三个选项是将每个项目的所有指令放入一个表中,然后为它们提供相应项目的id,以及它们应该出现的顺序的id。但这可能意味着可能重复,特别是在材料表中(锤子,例如会出现多次,但会有单独的ID指的是单独的项目)。我还担心这张桌子太大了,有数以千计的条目。
第四个选项是拥有一个表,但是为指令和材料添加了过多的字段,并且只使用每个项目所需的字段(例如100个“材料”字段,但也许一个项目仅使用10个和其他99),但这似乎不合适,并可能在以后导致麻烦。
是否有一种标准的方法来解决这个问题,为一系列事物构建数据库,每个事物都引用另一个事物列表?