加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

oop – 如何在对象数据库中设计多对多关系?

发布时间:2020-12-12 16:11:25 所属栏目:MsSql教程 来源:网络整理
导读:我以为是时候看看OO数据库,并决定使用db4o作为我的下一个小项目 – 一个小图书馆. 考虑以下对象:Book,Category. 一本书可以是0-n类,一个类可以应用于0-m书. 我的第一个想法是加入一个加入对象,如BookCatecory,但经过一番谷歌搜索,我看到这不适合“真实的OO”
我以为是时候看看OO数据库,并决定使用db4o作为我的下一个小项目 – 一个小图书馆.

考虑以下对象:Book,Category.

一本书可以是0-n类,一个类可以应用于0-m书.

我的第一个想法是加入一个加入对象,如BookCatecory,但经过一番谷歌搜索,我看到这不适合“真实的OO”.

所以另一个方法(很多人推荐)是在两个对象中有一个列表:Book.categories和Category.books.一方处理关系:Book.addCategory将类别添加到Book.categories和Book to Category.books.在一个方法调用中更改2个对象时,如何处理提交和回滚?

你怎么看?第二种方法有明显的优势,但至少对我来说,第一种“感觉”是正确的(更好的规范).

解决方法

如果使用对象数据库,则不需要关心数据库中的关系如何存储.您定义它们之间的类和关系.请阅读引用到您的数据库的参考.关系的例子:
n:n attribute,referencing from the parent
------------------------------------------------------------------
class Person{
List addresses;
}

class Address{
}


n:n attribute,referencing from the child
------------------------------------------------------------------
class Person{
}

class Address{
List persons
}

n:n attribute,bidirectional references
------------------------------------------------------------------
class Person{
List addresses;
}

class Address{
List persons
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读