在关系型数据库中,多表之间存在三种关联关系:

  • 一对一:一张身份证对应一个人 <=> 一个人也只对应一张身份证
  • 一对多:一个用户可以有多个订单 <=> 这多个订单属于同一个用户
  • 多对多:一个订单可以包含多种商品,一种商品可以属于多个订单。

创建数据库时如何处理这三种关联关系?

  • 一对多:在任意一方引入对方的主键作为外键。
  • 一对多:在多的一方,引入“一”的一方作为外键。
  • 多对多:新建一张中间表,引入2张表的主键作为外键,使用这2个主键作为联合主键,或者使用新的字段作为主键。

 

JAVA如何处理、描述三种关联关系?

  • 一对一
class A{
    B b;
}

class B{
    A a;
}
  • 一对多
class A{
    List<B> b;
}

class B{
    A a;
}
  • 多对多
class A{
    List<B> b;
}

class B{
    List<A> a;
}
12-15 00:32