情况一:
一个表位user表,有uid,username,password字段;
另一个表储存user扩展信息,user_data,有age,sex,adress等字段。
这里应该选择双向one2one关系映射吗?大家可以详细讲解下什么时候用单向one2one,什么时候用双向one2one。
什么时候用one2many,什么时候用many2one。
另外,可以用one2many的,可以调换过来使用many2one吗?

解决方案 »

  1.   

    one to one  一一对应
    两张表中有且只有一条数据相对应
    单向  --   比如论坛的登录,用户只有登录后才能看到个人信息,表和你说的一样,通过两张表的uid关联。(不过很多网站应该是把它设计为一张表)
    双向  --   比如银行,可以通过银行卡找到用户,也可以通过用户身份证找到卡号,这样就是双向(前提一张身份证只能开一张卡,如可以开多张卡,那就是 One(身份证) to many (银行卡) 也是双向)。
    根据参照物不同  
    银行卡 many to  one 身份证
    身份证 one to  many 银行卡
    单向的一对多   比如货单,一个单对应仓库中的很多货物,而根据货物不能找到对应的订单。 
    个人愚见,还请多指教
      

  2.   

    一张表行
    两张表(如果user扩展信息太多)也可以one2one
      

  3.   

    打死我都不会用两张表··实在被打死了·我就用one2one``