Many people feel that this is exactly the wrong solution. So, in the end, the programmer must learn two languages anyway.
Data clustering produces a challenge in object-oriented databases.
If you do the first thing, then set retrievals will be cheaper. But if you do the second, it will be cheaper to retrieve one complex object from disk and swizzle its pointers. In the overview of chapters 22 and 23, it was pointed out that in some cases, constraints that are essentially referential in nature must be enforced procedurally with programmer-defined methods. But, clearly, there are opportunities to do better. For instance, the system could keep track of dangling pointers when objects are deleted.