Hi Philippe,
Thanks for reaching out!
Regarding your question, we recommend using the “Specify 5” tables, collectionobjectattribute
and collectingeventattribute
, by default. These tables are the ones we currently support and encourage users to use despite the Specify 6 tables, collectionobjectattr
and collectingeventattr
, being included in the database.
These *attr
tables were part of an earlier plan (>15 years ago) that was never fully developed. We discourage using these tables and instead point users to the *attribute
tables for their needs.
Regarding your corollary question, we may eventually mark the *attr
tables as deprecated and remove them from the schema in a future release. However, they remain in the current version, and we have no plans to remove them at this time. The *attribute
tables, however, are here to stay.
If you require a one-to-many relationship, we recommend using the *property
tables, such as collectionobjectproperty
and preparationproperty
, which are designed for such cases.
The guidance to use the collectionobjectattribute
relationship and table still stands!