What the four questions surface is a small set of tables that have nothing to do with aviation and without which nothing aviation-related can happen.
Three of these are worth pausing on, because each embeds a decision that is easy to get wrong and expensive to reverse.
Employment is dated, and it is not a column
The obvious design is a company column on the person: this pilot works for that airline. It is one column, it is easy to query, and it is wrong.
A licence issued three years ago was issued while that person worked somewhere else. If the column holds today's employer, the question "who employed them when this was issued" has no answer at all — and that is exactly the question that gets asked when something goes wrong. Employment is a relationship with a start and an end, not an attribute of a person.
Some people have no employer, and that is not an error
A private pilot flying their own aircraft works for nobody. A licence holder between jobs works for nobody. If your model requires everyone to belong to an organization, you will end up inventing a fake one to put them in — and then explaining to the next developer what the "General Public" company is and why it has four thousand employees.
A person holds several identity documents at once
A national ID and a passport. A residency permit and a passport. Different numbers, different issuers, different expiry dates, all valid simultaneously. Two columns will not do it, and the moment you try, someone arrives with three.
This is roughly eighty percent of the work, and none of it looks like the thing you were asked to build.
The reason to build it once, properly, is arithmetic. An authority provides hundreds of distinct services, and every single one begins by knowing who is asking. Build the foundation per service and you build it hundreds of times, slightly differently each time, and the pilot who appears in two of them is two different people as far as the system is concerned.