Introduction (to be updated...)
What means event-based?
The most important principle of IDA-framework is its event-based approach. This is best explained with example:
We want save some paintings in our database. In traditional database we would have at least a title, an artist and date of creation fields. Things goes differently on event-based system. Instead of date of creation we have a creation event which was carried out by the artist. This event created the actual art work (this is a simplification as I'll explain later).
Let's take another example:
An artist gave a live performance. Now we have a performance event that produced the performance and the event itself was carried out by the artist.
Do you notice the similarity? We have totally different kind of records but they have similar structure. And this is good news for the underlying data structure. This also makes data structure very flexible. The target can have any number of events and new event types can added later on.
Ok, but what's the big deal here?
Ok, let's take third example:
Let's assume that we have a building. It was designed 1879 and it was built 1880 - 1883. There was several interior changes 1890 - 1940 and building was totally renovated 1963 and again in 2006. The building was sold 1978.
Let's examine what kind of information is attached to those events.
Design
- Who orded the design?
- Who designed it?
- When?
- Where are the documents?
- Who constructed?
- When?
- Where are the documents?
- Who designed the changes?
- When?
- What was actually done?
- Where are the documents?
- Who designed the changes?
- When?
- Where are the documents?
- Who was the buyer?
- When?
- Where are the documents?
When you look those events, you'll soon realise that they have common features. The most obvious is the time. It makes sense since an event is an event because it has duration. But there is more than that. Who took part in that event? Where did it happen? What documents are related to those events?
This means that we can have a generic structure for an event. Peoples and organisations take part to the event and event creates or modifies something and there might be documents that are related to those events.
Now event-based approach starts to make sense. There is a lot of information about that building and if it is not organised by events, it really is a mess. Events divides that information to neat chunks, that can be added when needed. And what is even more important, we can define sensible structure for every event type.