数据库在设计对象间多对多的关系的时候,一般都是添加一个对象关系表。这个对象关系表mapping两个对象之间的对应关系。
还有一种方式是没有这个对象关系表。在一个对象中设置一个字段,这个字段保存另一个对象ID的字符串 。 这样做有好处是可以减少数据库的查找次数,而且逻辑上也容易理解。但是这样有它的缺点,就是当某个ID要删除的时候,这种方法只能编写程序去实现,而不能 只写Sql语句。这种方式的一个记录的信息量很大。不好删除东西。不过对于删除这个动作,可以添加一个字段标志是否删除。虚拟删除。一般不要去删除字段, 可以添加字段实现删除功能。
结论:在多对多一方记录比较的少的时候可以不用额外的一个表。记录比较的少的时候方便以后数据维护。但是对于多对多而且数据都比较的多的时候就需要一个表去记录多对多的关系了。