Eine Schlüsseldatei existiert materiell, da der Schlüssel in Form einer Datei auf einer Festplatte gespeichert ist.
Materielle Dinge können nicht nur geklaut oder verloren, sondern auch kaputt gehen.
Wenn man einen materiellen Schlüssel in Form eines Keyfiles erzeugt, sollte man Ersatzschlüssel und sichere oder komplizierte Orte haben.
Ein gutes Passwort existiert dagegen nur in deinem Kopf und solange man es nicht vergisst, hat niemand Zugriff darauf. Je komplizierter es ist, desto länger braucht man mit einer Brute Force Attacke. (>1.000.000 Jahre sind sicher:
https://checkdeinpasswort.de/)
Tipp:
Erzeuge beispielsweise 1.000 verschiedene Keyfiles mit verschiedenen Namen.
Speichere diese 1.000 Keyfiles auf bspw. deiner Festplatte, einem USB-Stick und einer dritten Festplatte.
Verbinde mehr als nur eine Keyile mit deiner Datenbank, damit man sogar im Besitz dieser Keyfile nicht weiß, welche Kombination richtig ist.
Stelle es dir wie ein Zahlenschloss vor:
Anstatt Zahlen von 0-9, hast du Keyiles von 1-1000.
Anstatt 4 Zahlenrädchen, hast du eine nur die bekannte Anzahl an gültigen Keyfiles.
Und anstatt nur einer fixen Reihenfolge von 4 Zahlen, hast du eine nur die bekannte Reihenfolge von Keyiles.
Anstatt ein Zahlenschloss direkt am wertvollen Gut zu haben, ist es an einem nur dir bekanntem Ort gespeichert.
Wie viel komplizierter kann man es einem "Dieb" noch machen?
So etwas wie ein Yubikey / Nitrokey und wie diese Dinge heißen, sind im Vergleich dazu unsicher.