关于房屋参数的数据库
    比如一套住宅房,包括:卧室,起居室,过厅,过道,厨房,卫生间(还很多)等,而上面这几个项目又是由其他项目计算得出的,比如 卧室,可能会包括几个矩形,几个梯形或扇形等。对于起居室,过厅,过道等等也是这样。而在数据库中,现要求存储 卧室,起居室,过厅,过道,厨房,卫生间(还很多)等数据以及 分别组成它们的各种形状,包括几个矩形,几个梯形或扇形等数据。
我在数据库中的其中一个表中包含这几个字段
    ID , 卧室,起居室,过厅,过道,厨房,卫生间(还很多)
      上面ID是标识某一套房屋的唯一标识
    而现在在另外一个或几个表中我不知该如何设计。比如对于 卧室。它是由几个矩形,几个梯形或扇形组成。而这些数据的个数是不固定的。我希望能做如下查询,比如当我选定某个套房ID以及其中的卧室。便能在某个控件中(比如listview)显示组成它的 几个矩形,几个梯形或扇形的数据。假如一个房屋卧室的具体数据用一个表来存储,试想 如果有100套,100套中又包括 卧室,起居室等等。。那要几百上千个表来存储,极其不方便。
   这样的数据库我该怎么设计呢?
   我是第一次设计这样的数据库,也许很多人做过类似的了,能告诉我吗?真的很急!如果有例子能贴出来给我看吗?谢谢了
   上面的表达如果不清楚,跟我说一下,我尽量表达清楚一点。谢谢

解决方案 »

  1.   

    to smilelhh(blue):
    谢谢你的帮助,你写的不错,但是我还是有疑问
    比如 某个卧室面积只有三个矩形组成,假设矩形数据为12  23  34 。id=103
    那存储情况就是
     id, 物件类型(室,厅...),矩形,长方形,三角形(形状还有好多种...)
     103    卧室              12      0       0           0...
     103    卧室              23      0       0           0...
     103    卧室              34      0       0           0...感觉冗余会很多,还有其他的解决方法吗?非常感谢~
      

  2.   

    id, 物件类型(室,厅...),矩形,长方形,三角形(形状还有好多种...)
     103    卧室              12      0       0           0...
     103    卧室              23      0       0           0...
     103    卧室              34      0       0           0...
    冗余不冗余不说,如果有两条这样的记录
     103    卧室              20      0       0           0...
     103    卧室              20      0       0           0...
    就出现重复记录了,这是不允许的。既然房屋ID和建筑类型都不是唯一的,
    那这样:
    编号,房屋ID,建筑类型,形状,尺寸
     1     103    卧室      圆形   20
     2     103    卧室      梯形   20
     3     103    卧室     正方形  20 
    一个表把你所有信息全包含进来,完全可以。
      

  3.   

    你要能设计出需要几百个表,甚至几千个表的系统,那你可牛了一般应这样设计,虽然我没做过这样的设计
    ID 房屋名称,房主,房屋类型ID,建筑类型ID,形状ID,尺寸在建造两个表
    建筑类型ID,建筑类型名称。
    形状ID,形状名称。
    这样你就可以在表里减少很多不必要重复记录的汉字