Стипан, а как Вы структурируете реестр?
Мне кажется, что самолёт - номер - текст - это не совсем правильно.
И что для Вас идентификатор самолёта?
Вероятно, однозначным идентификатором является фабричный номер + модификация.
Но фабричный номер известен отнюдь не всегда.
Госрегистрации меняются за время жизни самолёта по несколько раз.
Служебные номера разных организаций совпадают (например, что такое самолёт номер 6846? PBM-3 ВМС США? Или S.V.A.5 ВВС Италии? Или Avro 504K FAA (морской авиации Великобритании)?
Наконец, фабричные номера известны ОЧЕНЬ не всегда.
Я сейчас использую такую структуру:
Идентификатор:
номер + модификация
Номер: один из номеров госрегистрации, который носил самолёт (желательно первый) или служебный номер
Если номера менялись: "пришиваются" записи в базе данных (структура: N1, N2, примечание) - основной номер, доп.номер, примечание)
В основной записи, вместе с идентификатором:
Дата постройки
Дата списания
Текстовое поле ("судьба").
Дополнительные таблицы: владельцы (идентификатор, дата начала, дата окончания, владелец).
Владельцев беру из отдельной таблицы "Эксплуатанты" (чтобы в одном месте не называть PanAm, в другом Pan American, а в третьем АК PanAm).
Только так удаётся не запутаться.
Ещё одна "пришитая" таблица даты:
идентификатор самолёта
дата
тип события (первый полёт, перелет, рекорд, соревнования, авария, катастрофа, боевая операция).
описание.
К "Дате" пришиты по ключу номера события таблица "Участники".:
Ключ события
Участник
Роль (пилот, штурман, техник и т.д.).
Участников, естественно, пишу не текстом, а беру из таблицы "Люди".
И так далее.
В общем, структура непростая, возможно, не лучшая, но это лучшее, что удалось придумать за несколько лет.