我很擅长使用数据库。
我需要向现有数据库添加一个新表。
问题是我需要在数据库中添加200多种材质,如Paint,Timber,Iron等。
每种材料都有4个值。 (重量,密度,电导率,成本)
某些材料有子类别。例如:木材有不同的子类型(橡木,松木,灰等)
所有这些子类型都有不同(重量,密度,电导率,成本)
某些材料没有子类别,例如:(PVC Framed)。
所以我的问题基本上是,将所有这些材料放在同一张表中是否合适。 或者我应该为每个材料制作一个表格,因为其中一些有sub_categories而有些没有?
所以基本上我担心的是,如果某些材料有sub_categories而其他材料不会对数据库造成坏处,因为空格。
以下是来自.csv
的表标题的屏幕截图,子类别被标记为material_type。
答案 0 :(得分:1)
规范化数据库将为您节省大量的麻烦。
我假设"仿木类"没有(重量,密度,电导率,成本)属性,因为木材的类型是未知的。这些参数适用于Oak,Pine等。
我使用的是material_category表:
category_id PK
category_name
和材料表:
category_id Foreign Key
material_id PK
material_name
material_weight ... etc
对于不属于任何类别的资料,您可以创建一个"其他所有内容"因此,每个材料总是属于一个类别,这应该使代码的其余部分更加简单。