Datenvalidierung - Data validation

In der Informatik , Datenvalidierung ist der Prozess der Sicherstellung Daten erfahren hat Datenbereinigung sie , um sicherzustellen , hat die Datenqualität , das heißt, dass sie richtig und nützlich sind. Es verwendet Routinen, die oft als "Validierungsregeln", "Validierungsbeschränkungen" oder "Prüfroutinen" bezeichnet werden, die die Richtigkeit, Aussagekraft und Sicherheit der in das System eingegebenen Daten überprüfen. Die Regeln können durch die automatisierten Einrichtungen eines Datenwörterbuchs oder durch die Einbeziehung einer expliziten Anwendungsprogramm- Validierungslogik des Computers und seiner Anwendung implementiert werden .

Dies unterscheidet sich von der formalen Verifikation , die versucht, die Korrektheit von Algorithmen zur Implementierung einer Spezifikation oder Eigenschaft zu beweisen oder zu widerlegen.

Überblick

Die Datenvalidierung soll bestimmte genau definierte Garantien für die Eignung und Konsistenz der Daten in einer Anwendung oder einem automatisierten System bieten. Datenvalidierungsregeln können mit verschiedenen Methoden definiert und entworfen und in verschiedenen Kontexten eingesetzt werden. Ihre Implementierung kann deklarative Datenintegritätsregeln oder verfahrensbasierte Geschäftsregeln verwenden .

Beachten Sie, dass die Garantien für die Datenvalidierung nicht unbedingt die Genauigkeit einschließen und es möglich ist, dass Dateneingabefehler wie Rechtschreibfehler als gültig akzeptiert werden. Andere Büro- und/oder Computersteuerungen können angewendet werden, um die Ungenauigkeit innerhalb eines Systems zu verringern.

Verschiedene Arten

Bei der Bewertung der Grundlagen der Datenvalidierung lassen sich Verallgemeinerungen hinsichtlich der verschiedenen Validierungsarten nach Umfang, Komplexität und Zweck anstellen.

Zum Beispiel:

  • Validierung des Datentyps;
  • Bereichs- und Einschränkungsvalidierung;
  • Code- und Querverweisvalidierung;
  • Strukturierte Validierung; und
  • Konsistenzprüfung

Datentypprüfung

Die Validierung des Datentyps wird üblicherweise an einem oder mehreren einfachen Datenfeldern durchgeführt.

Die einfachste Art der Datentypvalidierung überprüft, ob die einzelnen Zeichen, die durch Benutzereingaben bereitgestellt werden, mit den erwarteten Zeichen eines oder mehrerer bekannter primitiver Datentypen übereinstimmen, wie sie in einer Programmiersprache oder einem Mechanismus zum Speichern und Abrufen von Daten definiert sind.

Ein ganzzahliges Feld kann beispielsweise eine Eingabe erfordern, um nur die Zeichen 0 bis 9 zu verwenden.

Einfache Bereichs- und Beschränkungsprüfung

Die einfache Bereichs- und Einschränkungsvalidierung kann Eingaben auf Konsistenz mit einem minimalen/maximalen Bereich oder auf Konsistenz mit einem Test zum Bewerten einer Zeichenfolge untersuchen, wie z. B. einen oder mehrere Tests für reguläre Ausdrücke. Beispielsweise kann es erforderlich sein, dass ein Zählerwert eine nicht negative ganze Zahl ist, und ein Passwort kann erforderlich sein, um eine Mindestlänge zu erfüllen und Zeichen aus mehreren Kategorien zu enthalten.

Code- und Querverweisprüfung

Die Code- und Querverweisvalidierung umfasst Vorgänge zur Überprüfung, ob Daten mit einer oder mehreren möglicherweise externen Regeln, Anforderungen oder Sammlungen übereinstimmen, die für eine bestimmte Organisation, einen Kontext oder eine Reihe zugrunde liegender Annahmen relevant sind. Diese zusätzlichen Gültigkeitsbeschränkungen können das Querverweisen von gelieferten Daten mit einer bekannten Nachschlagetabelle oder einem Verzeichnisinformationsdienst wie beispielsweise LDAP beinhalten .

Beispielsweise kann ein vom Benutzer bereitgestellter Ländercode erforderlich sein, um eine aktuelle geopolitische Region zu identifizieren.

Strukturierter Check

Die strukturierte Validierung ermöglicht die Kombination anderer Validierungsarten sowie eine komplexere Verarbeitung. Eine solche komplexe Verarbeitung kann das Testen von bedingten Beschränkungen für ein gesamtes komplexes Datenobjekt oder einen Satz von Prozessoperationen innerhalb eines Systems umfassen.

Konsistenzprüfung

Die Konsistenzprüfung stellt sicher, dass die Daten logisch sind. Beispielsweise kann verhindert werden, dass das Lieferdatum einer Bestellung vor dem Versanddatum liegt.

Beispiel

Für 10-stellige ISBNs vor 2007 sind mehrere Arten der Datenvalidierung relevant (die Ausgabe 2005 von ISO 2108 verlangte, dass ISBNs ab 2007 13-stellig sein müssen).

  • Größe. Eine ISBN vor 2007 muss aus 10 Ziffern bestehen, mit optionalen Bindestrichen oder Leerzeichen, die die vier Teile trennen.
  • Formatprüfungen. Jede der ersten 9 Ziffern muss 0 bis 9 sein und die 10. muss entweder 0 bis 9 oder ein X sein .
  • Prüfziffer . Um Übertragungsfehler zu erkennen, bei denen Ziffern geändert oder vertauscht wurden, muss die letzte Ziffer einer ISBN vor 2007 mit dem Ergebnis einer mathematischen Formel übereinstimmen, die die anderen 9 Ziffern enthält ( ISBN-10-Prüfziffern ).

Validierungsarten

Erlaubte Charakterprüfungen
Überprüft, ob nur die erwarteten Zeichen in einem Feld vorhanden sind. Beispielsweise darf ein numerisches Feld nur die Ziffern 0–9, den Dezimalpunkt und eventuell ein Minuszeichen oder Kommas zulassen. Ein Textfeld wie ein persönlicher Name lässt möglicherweise keine für Markup verwendeten Zeichen zu . Eine E-Mail-Adresse kann mindestens ein @-Zeichen und verschiedene andere strukturelle Details erfordern. Reguläre Ausdrücke können eine effektive Möglichkeit sein, solche Prüfungen zu implementieren.
Chargensummen
Sucht nach fehlenden Datensätzen. Numerische Felder können für alle Datensätze in einem Stapel addiert werden. Die Chargensumme wird eingegeben und der Computer überprüft, ob die Summe korrekt ist, zB addieren Sie das Feld 'Gesamtkosten' mehrerer Transaktionen zusammen.
Kardinalitätsprüfung
Überprüft, ob der Datensatz eine gültige Anzahl verknüpfter Datensätze enthält. Wenn ein Kontaktdatensatz beispielsweise als "Kunde" klassifiziert ist, muss ihm mindestens ein Auftrag zugeordnet sein (Kardinalität > 0). Diese Art von Regel kann durch zusätzliche Bedingungen erschwert werden. Wenn beispielsweise ein Kontaktdatensatz in einer Gehaltsabrechnungsdatenbank als "ehemaliger Mitarbeiter" klassifiziert ist, dürfen ihm nach dem Trennungsdatum (Kardinalität = 0) keine Gehaltszahlungen zugeordnet werden.
Prüfziffern
Wird für numerische Daten verwendet. Um die Fehlererkennung zu unterstützen, wird einer Zahl, die aus den anderen Ziffern berechnet wird, eine zusätzliche Ziffer hinzugefügt.
Konsistenzprüfungen
Überprüft die Felder, um sicherzustellen, dass die Daten in diesen Feldern übereinstimmen, zB wenn das Ablaufdatum in der Vergangenheit liegt, dann ist der Status nicht "aktiv".
Systemübergreifende Konsistenzprüfungen
Vergleicht Daten in verschiedenen Systemen, um sicherzustellen, dass sie konsistent sind. Systeme können dieselben Daten unterschiedlich darstellen. In diesem Fall erfordert der Vergleich eine Transformation (z. B. kann ein System den Kundennamen in einem einzelnen Namensfeld als 'Doe, John Q' speichern, während ein anderes Vorname 'John' und Nachname 'Doe' und Middle_Name verwendet 'Qualität').
Datentypprüfungen
Überprüft die Eingabekonformität mit eingegebenen Daten. Beispielsweise kann ein Eingabefeld, das numerische Daten akzeptiert, den Buchstaben 'O' ablehnen.
Dateiexistenzprüfung
Überprüft, ob eine Datei mit einem angegebenen Namen vorhanden ist. Diese Prüfung ist für Programme erforderlich, die Dateihandhabung verwenden.
Formatprüfung
Überprüft, ob die Daten in einem bestimmten Format (Vorlage) vorliegen, zB müssen Datumsangaben im Format JJJJ-MM-TT vorliegen. Für diese Art der Validierung können reguläre Ausdrücke verwendet werden.
Anwesenheitskontrolle
Prüft, ob Daten vorhanden sind, z. B. kann es erforderlich sein, dass Kunden eine E-Mail-Adresse haben.
Reichweiten-Check
Überprüft, ob die Daten innerhalb eines angegebenen Wertebereichs liegen, z. B. muss eine Wahrscheinlichkeit zwischen 0 und 1 liegen.
Referenzielle Integrität
Werte in zwei relationalen Datenbanktabellen können über Fremdschlüssel und Primärschlüssel verknüpft werden. Wenn Werte im Fremdschlüsselfeld nicht durch interne Mechanismen eingeschränkt sind, sollten sie validiert werden, um sicherzustellen, dass die referenzierende Tabelle immer auf eine Zeile in der referenzierten Tabelle verweist.
Rechtschreib- und Grammatikprüfung
Sucht nach Rechtschreib- und Grammatikfehlern.
Eindeutigkeitsprüfung
Überprüft, ob jeder Wert eindeutig ist. Dies kann auf mehrere Felder angewendet werden (zB Adresse, Vorname, Nachname).
Überprüfung der Tabellensuche
Eine Tabellenüberprüfung vergleicht Daten mit einer Sammlung zulässiger Werte.

Aktionen nach der Validierung

Durchsetzungsmaßnahmen
Durchsetzungsmaßnahmen weisen in der Regel die Dateneingabeanfrage zurück und verlangen vom Eingabeakteur eine Änderung, die die Daten in Übereinstimmung bringt. Dies ist am besten für die interaktive Nutzung geeignet, bei der eine reale Person am Computer sitzt und Eingaben macht. Es funktioniert auch gut für Batch-Uploads, bei denen eine Dateieingabe abgelehnt und eine Reihe von Nachrichten an die Eingabequelle zurückgesendet werden kann, warum die Daten abgelehnt wurden.
Eine andere Form der Durchsetzungsmaßnahme besteht darin, die Daten automatisch zu ändern und eine konforme Version anstelle der Originalversion zu speichern. Dies ist am besten für kosmetische Veränderungen geeignet. Zum Beispiel erfordert das Konvertieren eines [Großbuchstaben]-Eintrags in einen [Pascal-Fall]-Eintrag keine Benutzereingabe. Eine unangemessene Verwendung der automatischen Durchsetzung liegt in Situationen vor, in denen die Durchsetzung zum Verlust von Geschäftsinformationen führt. Speichern Sie beispielsweise einen abgeschnittenen Kommentar, wenn die Länge länger als erwartet ist. Dies ist normalerweise keine gute Sache, da es zum Verlust wichtiger Daten führen kann.
Beratungsmaßnahme
Beratungsaktionen ermöglichen normalerweise die unveränderte Eingabe von Daten, senden jedoch eine Nachricht an den Quellakteur, die die aufgetretenen Validierungsprobleme angibt. Dies ist am besten geeignet für nicht interaktive Systeme, für Systeme, bei denen die Änderung nicht geschäftskritisch ist, für Bereinigungsschritte bestehender Daten und für Verifizierungsschritte eines Eingabeprozesses.
Bestätigungsaktion
Verifizierungsmaßnahmen sind Sonderfälle von Beratungshandlungen. In diesem Fall wird der Quellakteur gebeten, zu überprüfen, ob diese Daten im Lichte eines gegenteiligen Vorschlags wirklich eingegeben werden möchten. Hier schlägt der Prüfschritt eine Alternative vor (z. B. eine Prüfung einer Postanschrift gibt eine andere Art der Formatierung dieser Adresse zurück oder schlägt eine ganz andere Adresse vor). In diesem Fall möchten Sie dem Benutzer die Möglichkeit geben, die Empfehlung zu akzeptieren oder seine Version beizubehalten. Dies ist konstruktionsbedingt kein strikter Validierungsprozess und ist nützlich, um Adressen an einen neuen Standort oder an einen Standort zu erfassen, der noch nicht von den Validierungsdatenbanken unterstützt wird.
Validierungsprotokoll
Auch in Fällen, in denen bei der Datenvalidierung keine Probleme festgestellt wurden, ist die Bereitstellung eines Protokolls der durchgeführten Validierungen und ihrer Ergebnisse wichtig. Dies ist hilfreich, um fehlende Datenvalidierungsprüfungen angesichts von Datenproblemen zu identifizieren und die Validierung zu verbessern.

Validierung und Sicherheit

Fehler oder Auslassungen bei der Datenvalidierung können zu Datenbeschädigungen oder einer Sicherheitslücke führen . Die Datenvalidierung prüft, ob die Daten zweckmäßig, gültig, sinnvoll, angemessen und sicher sind, bevor sie verarbeitet werden.

Siehe auch

Verweise

Externe Links