表:衬衫 { shirt_id }
表: ShirtAttributeDefinitions{ attribute_id , attribute_description }
表: ShirtAttribute{ shirt_id , attribute_id }
这样,您可以通过向 Table:ShirtAttributeDefinitions 添加记录来继续定义新的 ShirtAttributes。
例子:
你有两件衬衫:{ shirt_id:1 }, { shirt_id:2 }
你有五个衬衫属性:{attribute_id:1, attribute_description:blue }, {attribute_id:2, attribute_description:small }, {attribute_id:3, attribute_description:ladies }, {attribute_id:4, attribute_description:red }, {attribute_id:5 , 属性描述:人 }
现在你的第一件衬衫是一件蓝色的小女士衬衫,第二件是一件红色的男士衬衫。所以你的 ShirtAttribute 表将有这些记录:
{shirt_id:1, attribute_id:1}, {shirt_id:1, attribute_id:2}, {shirt_id:1, attribute_id:3}, {shirt_id:2, attribute_id:4}, {shirt_id:2, attribute_id:5}
尽管这种方法有效,但最好将 Shirt 表的这些属性字段设置为。通过这种方式,您可以确保衬衫不会同时具有“男士”和“女士”属性。这种方法只是一种严格符合您的问题的肮脏方法。
jrh