33 - Arbeitnehmer mit Tarnumhang

Unsichtbares Akkordeon
 

Er schien der Personalabteilung einfach immer wieder durch die Finger zu rutschen.

Auflösung
 

Obwohl die Personalabteilung mehrfach einen Eintrag für Steve Null anlegte, verschwand dieser wiederholt aus der Datenbank. Das System nahm "Null" wörtlich und deutete den Eintrag als fehlendes Datum. Für die Datenbank existierte Steve nicht, ja er schrie seine Nichtexistenz durch seinen Namen laut heraus. Bevor es die Anfrage nach Steve verarbeitete, kontrollierte das System zunächst, ob überhaupt Daten eingegeben waren. Moderne Systeme verhindern so, dass die häufig versehentlich ohne Inhalt abgeschickten Anfragen das System unnötig belasten. Leider ist der Nebeneffekt dieses "search_term!= NULL", dass Menschen mit dem Namen Null in derartigen Systemen nicht gefunden werden können, obwohl der entsprechende Eintrag existiert. Die Suche wird einfach zu früh abgebrochen.

Die Geschichte zeigt, dass es sinnvoll ist die Grenzen eines verwendeten Datenbanksytems genau anzusehen [1]. Gibt es innerhalb des Systems Regeln, die dazu führen, dass bestimmte Einträge systematisch nicht gefunden oder aber auf eine Art und Weise interpretiert werden, die nicht intendiert ist? Hier hilft ein Blick in die (hoffentlich existierende) Dokumentation der Software bzw. bei übernommenen Daten in die verwendeten Konventionen (z.B. für fehlende Werte). Außerdem sollte eine entsprechende Dokumentation für alle selbst erstellten Daten angelegt werden, damit zukünftig noch nachvollzogen werden kann, was gestern selbstverständlich war.

[1] Sie sind Programmierer und halten das Problem für einen alten Hut? Suchen Sie mal nach bug report FLEX-33644 für den XMLEncoder in Apache Flex.

 

 

 
Quelle:
  • Matt Parker (2020): Humble Pi - When Math Goes Wrong in the Real World, S. 259.