How to use GOODS?

Chris Muller afunkyobject at
Wed Jan 14 18:26:08 UTC 2004

> I got used to work with relational tables; how data shall be organized 
> in goods? For example:  I have million agreements and two million sales 
> contacts. Semantically, information about Agreements is on the same 
> level that  information about Sales Contacts are and they have 
> many_to_many relation.

You may have a million Agreements, but not for a single Contact.  Perhaps each
Contact to an Agreement should know a smaller collection of just its

Many ODBMS's don't have a query language, but are still better-suited for
"object-centric" domains where much of the query-requirements are handled via
object-navigation of an *even-grained* model.

Try to make your object-model deeper/taller rather than so flattened, which is
the natural tendency for those accustomed to interfacing to relational
databases.  Try to avoid large, global Collections where you constantly "look
up" the objects you want.  Instead, reference multiple, smaller collections of
Agreements from within your domain that reference the relevant instances.  The
same Agreement will be in multiple of these smaller collections.

> LargeCollections not installs onto 3.6.

Magma supports LargeCollections (known as MagmaCollection) and fully integrated
with Magma's transactional system with indexing for super-fast,
single-attribute access.  And it works in 3.6.

Hope this helps,

More information about the Squeak-dev mailing list