Datenvalidierung
Im Informatik, Datenvalidierung ist der Prozess der Gewährleistung Daten ist untergegangen Datenbereinigung um sicherzustellen, dass sie haben DatenqualitätDas heißt, sie sind sowohl korrekt als auch nützlich. Es werden Routinen verwendet, die häufig als "Validierungsregeln", "Validierungsbeschränkungen" oder "Überprüfungsroutinen" bezeichnet werden und die auf Korrektheit, Bedeutung und Sicherheit von Daten überprüfen, die in das System eingegeben werden. Die Regeln können über die automatisierten Einrichtungen von a implementiert werden Datenwörterbuch, oder durch die Einbeziehung von explizit Anwendungsprogramm Validierungslogik des Computers und seiner Anwendung.
Dies unterscheidet sich von formelle Überprüfung, die versucht, die Richtigkeit von Algorithmen für die Implementierung einer Spezifikation oder Eigenschaft zu beweisen oder zu widerlegen.
Überblick
Die Datenvalidierung soll bestimmte gut definierte Garantien für Fitness und bereitstellen Konsistenz von Daten in einer Anwendung oder einem automatisierten System. Datenvalidierungsregeln können mit verschiedenen Methoden definiert und entwickelt werden und in verschiedenen Kontexten bereitgestellt werden.[1] Ihre Implementierung kann gebrauchen deklarativ Datenintegrität Regeln, oder prozedurbasiert Geschäftsregeln.[2]
Beachten Sie, dass die Garantien für die Datenvalidierung nicht unbedingt die Genauigkeit enthalten und dass Dateneingabefehler wie Fehlspellungen als gültig akzeptiert werden können. Andere Büro- und/oder Computerkontrollen können angewendet werden, um die Ungenauigkeit innerhalb eines Systems zu verringern.
Verschiedene Arten
Bei der Bewertung der Grundlagen der Datenvalidierung können Verallgemeinerungen bezüglich der verschiedenen Arten der Validierung gemäß ihrem Umfang, Komplexität und ihrem Zweck vorgenommen werden.
Zum Beispiel:
- Datentypvalidierung;
- Reichweite und Einschränkungsvalidierung;
- Code- und Querverweis-Validierung;
- Strukturierte Validierung; und
- Konsistenzvalidierung
Datentyp-Überprüfung
Die Validierung des Datentyps wird üblicherweise auf einem oder mehreren einfachen Datenfeldern durchgeführt.
Die einfachste Art von Datentypvalidierung überprüft, ob die einzelnen Zeichen, die über Benutzereingaben bereitgestellt werden, mit den erwarteten Zeichen eines oder mehreren bekannten primitiven Datentypen übereinstimmen, wie in einer Programmiersprache oder Datenspeicherung und Abrufmechanismus definiert.
Beispielsweise benötigt ein Ganzzahlfeld möglicherweise Eingaben, um nur Zeichen 0 bis 9 zu verwenden.
Einfacher Bereich und Einschränkungsprüfung
Einfacher Bereich und Einschränkungsvalidierung kann die Eingabe auf die Konsistenz mit einem minimalen/maximalen Bereich oder Konsistenz mit einem Test zur Bewertung einer Abfolge von Zeichen, wie z. B. einem oder mehreren Tests gegen reguläre Ausdrücke, untersuchen. Beispielsweise kann ein Zählerwert erforderlich sein, um eine nicht negative Ganzzahl zu sein, 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 Querverweis-Validierung umfasst Operationen, um zu überprüfen, ob Daten mit einer oder mehrerer externer Regeln, Anforderungen oder Sammlungen übereinstimmen, die für eine bestimmte Organisation, einen Kontext oder eine Reihe von zugrunde liegenden Annahmen relevant sind. Diese zusätzlichen Validitätsbeschränkungen können mit einer bekannten Nachschlagtabelle oder einem Verzeichnisinformationsdienst wie z. LDAP.
Beispielsweise kann ein von Benutzer bereitgestellter Ländercode erforderlich sein, um eine aktuelle geopolitische Region zu identifizieren.
Strukturierte Überprüfung
Die strukturierte Validierung ermöglicht die Kombination anderer Arten der Validierung sowie die komplexere Verarbeitung. Eine solche komplexe Verarbeitung kann das Testen bedingter Einschränkungen für ein gesames komplexes Datenobjekt oder eine Reihe von Prozessvorgängen innerhalb eines Systems umfassen.
Konsistenzprüfung
Konsistenzvalidierung stellt sicher, dass Daten logisch sind. Zum Beispiel kann der Liefertermin einer Bestellung vor dem Versanddatum verboten werden.
Beispiel
Mehrere Arten von Datenvalidierung sind für 10-stellige vor 2007 relevant ISBNS (Die Ausgabe 2005 von ISO 2108 erforderte ab 2007 13 Ziffern von 13 Ziffern[3]).
- Größe. Ein ISBN vor 2007 muss aus 10 Ziffern bestehen, wobei optionale Bindestriche oder Räume seine vier Teile treten.
- Formatprüfungen. Jeder der ersten 9 Ziffern muss 0 bis 9 sein, und der 10. muss entweder 0 bis 9 oder ein X.
- Prüfziffer. Um Transkriptionsfehler zu erkennen, in denen Ziffern verändert oder transponiert wurden, muss die letzte Ziffer eines ISBN vor 2007 mit dem Ergebnis einer mathematischen Formel übereinstimmen, die die anderen 9 Ziffern enthält ((ISBN-10 prüfen Ziffern).
Validierungstypen
- Erlaubte Charakterprüfungen
- Überprüft, um festzustellen, dass nur erwartete Zeichen in einem Feld vorhanden sind. Zum Beispiel kann ein numerisches Feld nur die Ziffern 0–9, den Dezimalpunkt und möglicherweise ein Minuszeichen oder Kommas zulassen. Ein Textfeld wie ein persönlicher Name könnte Zeichen nicht zulassen, für die verwendet wird Markup. Eine E-Mail-Adresse erfordern möglicherweise mindestens ein @ Zeichen und verschiedene andere strukturelle Details. Reguläre Ausdrücke Kann effektive Möglichkeiten sein, solche Überprüfungen zu implementieren.
- Batch -Summen
- Schecks auf fehlende Datensätze. Numerische Felder können für alle Datensätze in einer Stapel zusammengefügt werden. Die Batch -Gesamtzahl wird eingegeben und der Computer überprüft, ob die Gesamtsumme korrekt ist, z. B. das Feld "Gesamtkosten" einer Reihe von Transaktionen zusammen hinzufügen.
- Kardinalitätsprüfung
- Überprüft, dass der Datensatz eine gültige Anzahl von zugehörigen Datensätzen enthält. Wenn beispielsweise ein Kontaktdatensatz als "Kunde" klassifiziert wird, muss er mindestens eine zugeordnete Bestellung (Kardinalität> 0) haben. Diese Art von Regel kann durch zusätzliche Bedingungen kompliziert werden. Wenn beispielsweise ein Kontaktdatensatz in einer Lohn- und Gehaltsabrechnungsdatenbank als "ehemaliger Mitarbeiter" klassifiziert wird, darf nach dem Trennungsdatum keine zugeordneten Gehaltszahlungen (Cardinality = 0) zugeordnet sein.
- Ziffern überprüfen
- Wird für numerische Daten verwendet. Um die Fehlererkennung zu unterstützen, wird eine zusätzliche Ziffer zu einer Zahl hinzugefügt, die aus den anderen Ziffern berechnet wird.
- Konsistenzprüfungen
- Überprüft Felder, um sicherzustellen, dass Daten in diesen Feldern entsprechen, z. B. wenn das Ablaufdatum in der Vergangenheit liegt, ist der Status nicht "aktiv".
- Cross-System-Konsistenzprüfungen
- Vergleicht Daten in verschiedenen Systemen, um sicherzustellen, dass sie konsistent sind. Systeme können die gleichen Daten unterschiedlich darstellen. In diesem Fall erfordert der Vergleich Transformation (z. B. kann ein System den Kundennamen in einem einzelnen Namen als "doe, John Q" speichern, während ein anderes First_Name 'John' und last_name 'doe' und Middle_Name verwendet 'Qualität').
- Datentypprüfungen
- Überprüft die Eingabekonformität mit typisierten Daten. Beispielsweise kann ein Eingabefeld, das numerische Daten akzeptiert, den Buchstaben 'O' ablehnen.
- Datei -Existenzprüfung
- Überprüft, ob eine Datei mit einem bestimmten Namen vorhanden ist. Diese Überprüfung ist für Programme, die die Dateibehandlung verwenden, unerlässlich.
- Formatprüfung
- Überprüft, ob sich die Daten in einem bestimmten Format (Vorlage) befinden, z. B. müssen die Daten im Format yjyy-mm-dd sein. Regelmäßige Ausdrücke können für diese Art der Validierung verwendet werden.
- Präsenzprüfung
- Überprüft, ob Daten vorhanden sind, z. B. Kunden müssen möglicherweise eine E -Mail -Adresse haben.
- Bereichsprüfung
- Überprüft, ob die Daten innerhalb eines bestimmten Wertebereichs liegen, z. B. muss eine Wahrscheinlichkeit zwischen 0 und 1 liegen.
- Referenzintegrität
- Werte in zwei relationalen Datenbanktabellen können über Fremdschlüssel und Primärschlüssel verknüpft werden. Wenn die Werte im Fremdschlüsselfeld nicht durch interne Mechanismen eingeschränkt werden, sollten sie validiert werden, um sicherzustellen, dass sich die Referenzentabelle immer auf eine Zeile in der Referenzentabelle bezieht.
- Rechtschreibung und Grammatikprüfung
- Sucht nach Rechtschreibung und grammatikalischen Fehlern.
- Einzigartigkeitsprüfung
- Überprüft, ob jeder Wert eindeutig ist. Dies kann auf mehrere Felder angewendet werden (d. H. Adresse, Vorname, Nachname).
- Tisch -Look -up -Überprüfung
- Eine Tabelle -Such -Überprüfung vergleicht Daten mit einer Sammlung zulässiger Werte.
Aktionen nach dem Validationsanlagen
- Durchsetzungsmaßnahmen
- Durchsetzungsmaßnahmen lehnt typischerweise die Dateneingabeanforderung ab und verpflichtet, dass der Eingabebereich eine Änderung vornimmt, die die Daten in die Konformität einbringt. Dies eignet sich am besten für den interaktiven Gebrauch, bei dem eine echte Person am Computer sitzt und den Eintritt nimmt. Es funktioniert auch gut für das Batch -Upload, wobei eine Dateieingabe abgelehnt wird und eine Reihe von Nachrichten, die an die Eingabequelle zurückgeschickt wurden, für die Frage, warum die Daten abgelehnt werden.
- Eine andere Form der Durchsetzungsmaßnahme besteht darin, die Daten automatisch zu ändern und eine konformante Version anstelle der Originalversion zu speichern. Dies eignet sich am besten für die kosmetische Veränderung. Wenn Sie beispielsweise einen [All-CAPS] -Intrag in einen [Pascal-Fall] konvertieren, müssen keine Benutzereingaben eingegeben werden. Eine unangemessene Verwendung der automatischen Durchsetzung wäre in Situationen, in denen die Durchsetzung zu einem Verlust von Geschäftsinformationen führt. Zum Beispiel ein abgeschnittenes Kommentar, wenn die Länge länger als erwartet ist. Dies ist normalerweise keine gute Sache, da dies zu erheblichen Daten zu einem Verlust führen kann.
- Beratung
- Beratungsaktionen erlauben normalerweise, dass Daten unverändert eingegeben werden, sendet jedoch eine Nachricht an den Quellakteur, der die aufgetretenen Validierungsprobleme angibt. Dies ist am besten für nicht interaktives System geeignet, für Systeme, bei denen die Änderung nicht geschäftskritisch ist, für Reinigungsschritte vorhandenen Daten und für Überprüfungsschritte eines Eintragsprozesses.
- Überprüfungsaktion
- Überprüfungsmaßnahmen sind Sonderfälle von Beratungsmaßnahmen. In diesem Fall wird der Quellakteur gebeten zu überprüfen, ob diese Daten angesichts eines gegenteiligen Vorschlags wirklich eingeben möchten. Hier schlägt der Scheckschritt eine Alternative vor (z. B. eine Überprüfung einer Mailingadresse gibt eine andere Art der Formatierung dieser Adresse zurück oder schlägt eine andere Adresse insgesamt vor). In diesem Fall möchten Sie dem Benutzer die Möglichkeit geben, die Empfehlung zu akzeptieren oder seine Version aufzubewahren. Dies ist kein strikter Validierungsprozess durch Design und ist nützlich, um Adressen an einen neuen Standort oder einen Ort zu erfassen, der noch nicht von den Validierungsdatenbanken unterstützt wird.
- Protokoll der Validierung
- Selbst in Fällen, in denen die Datenvalidierung keine Probleme gefunden hat, ist es wichtig, ein Protokoll der durchgeführten Validierungen zu liefern. Dies ist hilfreich, um alle fehlenden Datenvalidierungsprüfungen angesichts von Datenproblemen und bei der Verbesserung der Validierung zu identifizieren.
Validierung und Sicherheit
Fehler oder Auslassungen in der Datenvalidierung können zu Datenkorruption oder ein Sicherheitsanfälligkeit.[4] Datenvalidierungsprüfungen, dass Daten für Zweck geeignet sind.[5] gültig, vernünftig, vernünftig und sicher, bevor sie verarbeitet werden.
Siehe auch
Verweise
- ^ Methodik zur Datenvalidierung 1.0
- ^ Datenvalidierung, Datenintegrität, Entwerfen verteilter Anwendungen mit Visual Studio .net
- ^ Häufig gestellte Fragen zum neuen ISBN -Standard Archiviert 2007-06-10 im Wayback -Maschine ISO.
- ^ Kapitel10. Datenvalidierung
- ^ Effizientere Datenvalidierung mit makellosen
Externe Links
- Datenvalidierung, Owasp
- Eingabevalidierung, Owasp Cheat Sheet Series, Github.com