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

前端之家收集整理的这篇文章主要介绍了oop – 如何在对象数据库中设计多对多关系?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我以为是时候看看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
}

猜你在找的MsSQL相关文章