最近在设计一个数据库,但是碰到这样一个难题,一直找不到合适的解决方案,希望有过类似经验的高手能够帮忙分析下,看有没有好的处理策略。举个不恰当的例子吧,就说我要在数据库中存储三种类型的对象,我建立三个表:“人”,“猫”,“狗”。三个表的关系是“人”有一个属性,就是字段“宠物”,他可能是一只“猫”,也可能是一只“狗”,而“狗”和“猫”也可能属于不同的人(虽然有点不合理,但是假设他是合理的),然后我就蒙了,不知道这个数据库该怎么建了,大家有好的解决方案吗?

解决方案 »

  1.   

    people表 
    -------------
    user_id
    user_namepet表
    ---------------
    pet_id
    pet_namepeople_pet表
    -----------------
    user_id
    pet_id
      

  2.   

    在另一帖已经回复了;
    就是你的表要保存什么内容,三种不同的类型要有一个字段type来区分 
    其他字段的属性可以一样最好你把其它属性也列出来
     
      

  3.   

    --两张表即可解决:Person:
    user_id     --宠物主人代码
    user_name   --宠物主人姓名
    animal_id   --宠物代码animal:
    animal_id   --宠物代码
    animal_type --宠物类别
    animal_name --宠物昵称