Scott Gray wrote: > I think Agreements are more like the terms of a relationship and can change > over the course of that relationship. > > I would tend to think of an account number as being more like relationship > meta data that exists so long as the relationship exists and for that reason > I would either add a generic field to PartyRelationship or otherwise add a > new entity SupplierRelationship and one-to-one it with PartyRelationship.
I like the latter, SupplierRelationship, as there could be an unbounded set of SupplierIdentificationType and SupplierIdentificationPurpose fields. Type has IDENTIER as a parent, then SECURITY_CARD, EMPLOYEE_ID as children. And, in that vein, SECURITY_CARD could very well change over time too, separate from the parent PartyRelationship.
