大家好,麻烦大家帮我看一下问题.
我有如下数据表:动物animal有如下属性
  id name
  1  猫属性attribute有如下属性
  id  name  question 
  1   哺乳  是哺乳动物吗?
  2   猛兽  它有危险性吗中间表animal_attribute有如下
id  animal_id  attribute_id
1     1          1
属性attribute_value有如下
id  value
1   是
2   否建立animal和attribute的多对多关系,通过以上的中间表,可以查出每个动物有多个属性,但是现在想不但可以想出每个动物
有哪些属性,同时还想查出动物每个属性对应的值。
有一个方案是在属性表中多加一个属性值字段,如下:
  id  name  question      value
  1   哺乳  是哺乳动物吗?    是
  2   哺乳  是哺乳动物吗?     否
当然这样可以既查出每个动物有的所有属性,也可以查出该动物所有属性对应的值,达到了目的,但是会造成很多冗余数据.我的属性表中除了"是"和"否"外,还可能有其它的值,如"不一定","不知道","有时","也许","可能"等.
请大家帮我分析一下,排除这种方法.