Hi there!
I’ve been documenting my learnings for each concept in Data Vault 2.0 book by Dan Linstedt and came across the Link Driving Key topic in chapter 4.5.5 (page 140).
It describes that in the context of flight, the driving key is “origin_hk”, “destination_hk” and “carrier_hk”, while the driven key is “flight_hk”. Hence, the link is end-dated using origin/destination/carrier driving keys. Now there is a question that’s bothering me:
Why would we consider origin + destination + carrier as a driving key when in reality the same carrier could have flights from same origin to the same destination several times. If we end date the flight link using that combination of keys, then we would essentially be closing/end-dating links that are still relevant/active in reality.
Is it my misunderstanding of the topic, or does the book consider that there might be only one active flight for the combination of carrier + origin + destination ?
Hi! Welcome to the forums
I think you may have a digital copy or another format, as my physical copy has this on page 119 - this may be useful for others reading this question!
Anyway, good question! First of all it’s important to note that Load End Dates on Satellites are no longer part of the standard, this would be worked out in an Effectivity Satellite or a downstream business rule.
Now, to answer the question. Standard Satellites by their definition can only have one record active at a time, and it would require a Multi-active satellite to accurately represent the use case of multiple active flights for this driving key.
Now, the satellite holds information about a ‘Connection’, which is the combination of carrier, source airport, destination airport and flight. This means that each CONNECTION_HK
represents a recording of a individual flight.
In the examples (Table 4.5 & 4.6) it shows us flights that depart 4 minutes from each-other, but only the latest departure is ‘open’ (i.e. not end-dated). This shows that we can only have one active flight at a time. Now, in reality both of these flights are active as both planes are in the air at the same time.
I believe this would be more accurately represented as a Multi-active Satellite and has likely been simplified for the purposes of demonstration/example. So no, I don’t think you are misunderstanding!
I have a blog scheduled for 24 Sept to clarify a few things of what an Effectivity Satellite is and a few scenarios where the same pattern solves for 1:M, M:M and 0:M cardinality relationships.
The way I read your question there seems to be some confusion on what should be end-dated, hopefully the post will clarify things.