|Here we use the 'User-friendly' word Participants
When we look at the Data Model on the left, we can see that the
dominant thing ("Entity") is Events.
From the Event_Types Entity (which will store Reference data in the Database),
we can see that typical Events are Sales or Purchases.
Our general Entity is called a Party.
In normal English conversation, the most common use of Party is in
'Third Party' which means some external person or organisation that
provides a service.
In financial or legal circles the word 'Counterparty' is commonly used
to mean an organisation that is the other part of a Transaction.
For example, money can be transferred from
one Bank to another and then the other Bank is called the Counterparty.
In Data Models, a Party can be a Person, an Organsation or a Group (of People or Organisations).
A Party can then play a Role in an Event.
This combination of Party and Role is a very flexible and powerful way of modelling
In the case shown on the left, we can see that for a given Event, many Parties
can be involved and they can play the same or different Role.
For example, a Taxi-driver plays the role of a Customer when he buys petrol but he is a Supplier when
he gives us a ride to where we want to go.
In a similar way, an Airline plays the role of a Customer when a Flight lands at an Airport, but is a Supplier when
we take a Flight to go on vacation.
Our Inheritance relationship shows that the Party is a Super-Type and
People, Organisations and Groups are Sub-Types.