From Version 2.1, ObjectDatabase++ offers multi-entry indexes that allows database designer’s to have multiple index values for any one object, within one index, all pointing back to the same original object. With the use of the ObjectDatabase++ native field type CODBPP::SUB_TABLE, databases can now find objects on both sides of an m:n relationship, as shown in the diagram below.
By using this native sub-table field type and the multi-entry indexes that they provide, the database design can be better rationalize as the total amount of tables needed to express the designed can be reduced, contracting the over all size of the database. This can allow database designers greater flexibility and reduces the overall complexity of your system while still expressing the total relationships between the data. Achieving much more than what would be possible this older database management systems (DBMS).
An example with the multi-entry indexing features can be shown in the the basic accounting system order, that would typicality have been represented by at least two tables, one containing the header and the other would house the body/line information, this now can now be compressed into only one table with the use of a sub-table field. This method of using the variable field sub-table to hold the body and multi-entry indexes to help find particular objects that contain any desired line information, not only reduces the size of the database but also reduces the amount of read and lock operations per transaction - making your database faster than using another DBMS.