【发布时间】:2015-07-02 13:37:20
【问题描述】:
我正在设计一个数据库来组织 3D 制作的材料。
材质命名为 1_Fabric_01_Textile_001_BlueJeans_Denim 和 2_Metal_02_BrushedMetal_002_ChromeBrushed_Chrome 等
所以,我需要一个材料表,它基本上包含有关材料名称(最后一个值,见上)以及类型和子变量组合的信息。每种类型都有允许的变体,例如 1_Fabric 有 01_Textile、02_Leather、2_Metal 有 01_Metal、02_BrushedMetal 等等。
现在制作所有组合并不困难(即,能够为每种材料类型选择所有可能的子变量),但我想将组合限制为仅允许的组合,因此用户不能选择无效组合(如 1_Fabric_01Metal 或 2_Metal_01Textile )。
有什么想法吗?
【问题讨论】:
-
看起来像一个简单的问题 os 创建关系表示例:[Type]、[SubType]、[Type_SubType]。您甚至可以创建一个 [SubType_Subtype] 关系表来获得更多级别的变化
-
是的,但是我该怎么做呢?材料表基本上需要一个外键来显示正确的 type_ID 和 subType_ID 组合,
-
您将 PK 给 [Type] 另一个给 [SubType] 并且关系表只是将这些组合存储为 FK [Type_SubType] (FK_Type, FK_SubType)。在您选择加入这 3 个表时,不,Type 或 SubType 也不会直接为彼此获取 FK
-
我仍然需要来自类型和子类型表的信息。我将做一个简单的 GUI 插件,允许用户保存材料。概念是先使用下拉框选择类型,然后是可用(正确)子类型,最后输入材料名称。然后将信息存储在数据库中的表格材料中,然后可以进一步使用。
标签: mysql database-design combinations