就拿水果作比吧, 水果代表是共性,而包含的桔子,苹果,香蕉又有自己特有的属性。 数据库是这样设计的:
水果表(shuiguo_tbl)字段大至有水果ID(shuiguo_id), 水果名称(shuiguo_name).... 这样的
桔子表(juzi_tbl)字段有水果ID(shuiguo_id)用以与水果表关联, 其它一些属性自己独有。
问题出在这里, 现在想要查询桔子的详细信息,得把水果表(shuiguo_tbl)与桔子表(juzi_tbl)关联来查。 由于水果表(shuiguo_tbl)存放所有水果的的共性信息,表比较大。 而且要新增一条桔子信息的时候,得同时往 水果表(shuiguo_tbl)与桔子表(juzi_tbl)各添加一条信息。
请教下,这样设计数据库是否合理??? 是否有更好的方法?
水果表(shuiguo_tbl)字段大至有水果ID(shuiguo_id), 水果名称(shuiguo_name).... 这样的
桔子表(juzi_tbl)字段有水果ID(shuiguo_id)用以与水果表关联, 其它一些属性自己独有。
问题出在这里, 现在想要查询桔子的详细信息,得把水果表(shuiguo_tbl)与桔子表(juzi_tbl)关联来查。 由于水果表(shuiguo_tbl)存放所有水果的的共性信息,表比较大。 而且要新增一条桔子信息的时候,得同时往 水果表(shuiguo_tbl)与桔子表(juzi_tbl)各添加一条信息。
请教下,这样设计数据库是否合理??? 是否有更好的方法?
比如:水果表里,水果ID:001,水果名称:桔子
桔子表里, 水果ID:001,桔子信息:a001
水果ID:001,桔子信息:a002
这样不行么,具体不太理解你的想法,可能我想简单了
对于某些水果的个性属性,其它水果该属性字段为null就可以了。
开什么玩笑,你觉得oracle一张表放不下几百行?那还叫数据库!
再说了,如果按照你的设计,水果的子类N多,你岂不是得设计几百张"结构类似"的表