【JavaWeb】后端开发点滴事

多对多中间表要不要设置外键、要不要设置pojo类?

一对多关系

维护一对多关系

关系型数据库中,A表与B表是一对多关系,则在B表中维护一个列 aid,表示每一个记录对应A表中的哪个记录。

是否设置外键

可以设置外键可以不用设置外键,数据库外键的作用只是在底层维护表之间的关系,但是增加了维护成本

设置外键:数据库层面安全性得到保障,但是读写性能下降。
不设置外键:需要程序员自己注意表与表之间主外键关系,读写性能高。

是否设置pojo类

因为A表和B表都包含有实际意义的列,所以,A表和B表都要设置相对应的pojo类。

多对多关系

额外添加一个表维护多对多关系

如果是多对多关系,如student表,course表和relative表,其中,student表和course表是多对多关系,需要要给relative表维护这个关系,relative表中包含studentid courseid两个列,无其他实际意义列。

是否设置外键

relative表中有一个列,studentid和courseid,它以这两个列形成自己的主键,但是这两个分别是student表和course表的外键,是否需要在数据库层面设置外键关系

可以设置外键可以不用设置外键,数据库外键的作用只是在底层维护表之间的关系,但是增加了维护成本

设置外键:数据库层面安全性得到保障,但是读写性能下降。
不设置外键:需要程序员自己注意表与表之间主外键关系,读写性能高,特别是电商网站。

是否设置pojo类

因为student表和course表都包含有实际意义的列,所以,student表和course表都要设置相对应的pojo类,relative表不包含有实际意义的列,不用设置pojo。

是否需要设置pojo在于后端代码中是否需要用到这个类,不需要用到不用设置,需要的用到哪些列就设置哪些属性,一般来说,如果一个列不需要用到,从数据库层面就要将这个列删除,所以pojo的属性一般是全部列。

你可能感兴趣的:(JavaWeb)