Ověření dat - Data validation

Ve vědě o počítačích , ověřování dat je proces zajištění dat prošlo datovou očistu s cílem zajistit, že mají kvalitu dat , to znamená, že jsou obě správné a užitečné. Používá rutiny, často nazývané „ověřovací pravidla“, „ověřovací omezení“ nebo „kontrolní rutiny“, které kontrolují správnost, smysluplnost a zabezpečení dat, která jsou do systému vstupována. Pravidla lze implementovat prostřednictvím automatizovaných zařízení datového slovníku nebo zahrnutím explicitní logiky ověřování aplikačního programu počítače a jeho aplikace.

To se liší od formálního ověření , které se pokouší prokázat nebo vyvrátit správnost algoritmů pro implementaci specifikace nebo vlastnosti.

Přehled

Účelem ověření dat je poskytnout určité dobře definované záruky vhodnosti a konzistence dat v aplikaci nebo automatizovaném systému. Pravidla ověřování dat lze definovat a navrhovat pomocí různých metodik a nasadit v různých kontextech. Jejich implementace může využívat deklarativní pravidla integrity dat nebo obchodní pravidla založená na procedurách .

Všimněte si toho, že záruky ověření dat nemusí nutně zahrnovat přesnost a je možné, že chyby při zadávání dat, jako jsou překlepy, budou přijaty jako platné. Ke snížení nepřesnosti v systému mohou být použity další administrativní a/nebo počítačové ovládací prvky.

Různé druhy

Při vyhodnocování základů validace dat lze generalizovat různé druhy validace podle jejich rozsahu, složitosti a účelu.

Například:

  • Ověření datového typu;
  • Ověření rozsahu a omezení;
  • Validace kódu a křížových odkazů;
  • Strukturovaná validace; a
  • Ověření konzistence

Kontrola datového typu

Ověření typu dat se obvykle provádí na jednom nebo více jednoduchých datových polích.

Nejjednodušší druh ověření datového typu ověřuje, že jednotlivé znaky poskytované prostřednictvím vstupu uživatele jsou v souladu s očekávanými znaky jednoho nebo více známých primitivních datových typů, jak jsou definovány v programovacím jazyce nebo mechanismu ukládání a načítání dat.

Například celočíselné pole může vyžadovat, aby vstup používal pouze znaky 0 až 9.

Jednoduchý rozsah a kontrola omezení

Ověření jednoduchého rozsahu a omezení může zkoumat konzistenci vstupu s minimálním/maximálním rozsahem nebo konzistenci s testem pro vyhodnocení sekvence znaků, jako je jeden nebo více testů proti regulárním výrazům. Například může být požadováno, aby hodnota čítače byla nezáporné celé číslo a heslo, aby splňovalo minimální délku a obsahovalo znaky z více kategorií.

Kontrola kódu a křížových odkazů

Ověření kódu a křížového odkazu zahrnuje operace k ověření, že data jsou v souladu s jedním nebo více možná externími pravidly, požadavky nebo kolekcemi relevantními pro konkrétní organizaci, kontext nebo sadu podkladových předpokladů. Tato další omezení platnosti mohou zahrnovat křížové odkazy na dodaná data se známou vyhledávací tabulkou nebo adresářovou informační službou, jako je LDAP .

K identifikaci aktuální geopolitické oblasti může být například vyžadován uživatelem zadaný kód země.

Strukturovaná kontrola

Strukturovaná validace umožňuje kombinaci dalších druhů validace spolu se složitějším zpracováním. Takové komplexní zpracování může zahrnovat testování podmíněných omezení pro celý komplexní datový objekt nebo sadu procesních operací v systému.

Kontrola konzistence

Ověřování konzistence zajišťuje, že data jsou logická. Například datum dodání objednávky může být zakázáno před datem odeslání.

Příklad

Pro 10místné kódy ISBN před rokem 2007 jsou relevantní různé druhy ověřování údajů (vydání ISO 2108 z roku 2005 vyžaduje, aby čísla ISBN měla od roku 2007 13 číslic).

  • Velikost. ISBN před rokem 2007 musí sestávat z 10 číslic, přičemž jeho čtyři části oddělují volitelné spojovníky nebo mezery.
  • Kontrola formátu. Každá z prvních 9 číslic musí být 0 až 9, a 10., musí být 0 až 9, nebo X .
  • Kontrolní číslice . Chcete-li zjistit chyby transkripce, ve kterých byly číslice změněny nebo transponovány, musí se poslední číslice čísla ISBN před rokem 2007 shodovat s výsledkem matematického vzorce zahrnujícího dalších 9 číslic ( kontrolní číslice ISBN-10 ).

Typy ověření

Povolené kontroly znaků
Zkontroluje, zda je v poli přítomno pouze očekávané znaky. Například číselné pole může povolit pouze číslice 0–9, desetinnou čárku a možná znaménko minus nebo čárky. Textové pole, jako je osobní jméno, může zakázat použití znaků pro označení . E-mailová adresa může vyžadovat alespoň jeden znak @ a různé další strukturální detaily. Regulární výrazy mohou být efektivní způsoby, jak implementovat takové kontroly.
Dávkové součty
Kontroluje chybějící záznamy. Číselná pole lze sčítat pro všechny záznamy v dávce. Je zadán součet dávky a počítač zkontroluje, zda je součet správný, např. Přidejte pole „Celkové náklady“ řady transakcí dohromady.
Kontrola mohutnosti
Kontroluje, zda má záznam platný počet souvisejících záznamů. Pokud je například záznam kontaktu klasifikován jako „zákazník“, pak musí mít alespoň jednu přidruženou objednávku (mohutnost> 0). Tento typ pravidla mohou komplikovat další podmínky. Pokud je například záznam kontaktu v mzdové databázi klasifikován jako „bývalý zaměstnanec“, pak po datu oddělení nesmí mít žádné přidružené platby mezd (mohutnost = 0).
Zkontrolujte číslice
Používá se pro číselné údaje. Pro podporu detekce chyb se k číslu přidá další číslice, která se vypočítává z ostatních číslic.
Kontroly konzistence
Kontroluje pole, aby zajistil, že data v těchto polích odpovídají, např. Pokud je datum vypršení platnosti v minulosti, pak stav není "aktivní".
Kontroly konzistence mezi systémy
Porovnává data v různých systémech, aby byla zajištěna jejich konzistence. Systémy mohou reprezentovat stejná data odlišně, v takovém případě srovnání vyžaduje transformaci (např. Jeden systém může ukládat jméno zákazníka do jednoho pole Jméno jako 'Doe, John Q', zatímco jiný používá First_Name 'John' a Last_Name 'Doe' a Middle_Name 'Kvalitní').
Kontroly datových typů
Kontroluje shodu vstupu se zadanými daty. Například vstupní pole přijímající číselné údaje může odmítnout písmeno „O“.
Kontrola existence souboru
Zkontroluje, zda soubor se zadaným názvem existuje. Tato kontrola je nezbytná pro programy, které používají zpracování souborů.
Kontrola formátu
Kontroluje, zda jsou data v zadaném formátu (šabloně), např. Data musí být ve formátu RRRR-MM-DD. K tomuto druhu validace lze použít regulární výrazy.
Kontrola přítomnosti
Zkontroluje, zda jsou k dispozici data, např. Od zákazníků může být požadováno, aby měli e -mailovou adresu.
Kontrola dosahu
Zkontroluje, zda jsou data v zadaném rozsahu hodnot, např. Pravděpodobnost musí být mezi 0 a 1.
Referenční integrita
Hodnoty ve dvou tabulkách relační databáze lze propojit pomocí cizího klíče a primárního klíče. Pokud hodnoty v poli cizího klíče nejsou omezeny interními mechanismy, měly by být ověřeny, aby se zajistilo, že referenční tabulka vždy odkazuje na řádek v odkazované tabulce.
Kontrola pravopisu a gramatiky
Hledá pravopisné a gramatické chyby.
Kontrola jedinečnosti
Kontroluje, zda je každá hodnota jedinečná. To lze použít na několik polí (tj. Adresa, jméno, příjmení).
Kontrola vyhledávání stolu
Kontrola vyhledávání v tabulce porovnává data se sbírkou povolených hodnot.

Akce po ověření

Vymáhání akce
Akce vynucení obvykle zamítne požadavek na zadání dat a vyžaduje, aby vstupní aktér provedl změnu, která uvede data do souladu. To je nejvhodnější pro interaktivní použití, kde skutečná osoba sedí u počítače a dělá vstup. Funguje také dobře pro dávkové nahrávání, kde může být odmítnut vstup souboru a sada zpráv odeslána zpět do zdroje vstupu, proč jsou data odmítnuta.
Další forma vynucovací akce zahrnuje automatickou změnu dat a uložení odpovídající verze místo původní verze. To je nejvhodnější pro kosmetické změny. Například převod položky [all-caps] na položku [Pascal case] nevyžaduje vstup uživatele. Nevhodné použití automatického vymáhání by bylo v situacích, kdy vymáhání vede ke ztrátě obchodních informací. Například uložení zkráceného komentáře, pokud je délka delší, než se očekávalo. To obvykle není dobré, protože to může mít za následek ztrátu důležitých dat.
Poradní akce
Poradní akce obvykle umožňují zadávat data beze změny, ale odešle zprávu zdrojovému aktérovi s uvedením problémů s ověřením, na které došlo. To je nejvhodnější pro neinteraktivní systémy, pro systémy, kde změna není kritická pro podnikání, pro kroky čištění stávajících dat a pro kroky ověřování vstupního procesu.
Ověřovací akce
Ověřovací akce jsou speciální případy poradních akcí. V tomto případě je zdrojový aktér požádán, aby ověřil, že tato data skutečně chtějí zadat, a to ve světle návrhu opačného. Zde krok kontroly navrhuje alternativu (např. Kontrola poštovní adresy vrátí jiný způsob formátování této adresy nebo navrhne jinou adresu úplně). V tomto případě byste chtěli dát uživateli možnost přijmout doporučení nebo zachovat jeho verzi. Nejedná se o přísný proces ověřování, který je záměrný, a je užitečný pro zachycování adres do nového umístění nebo do umístění, které dosud není ověřovacími databázemi podporováno.
Protokol o ověření
I v případech, kdy validace dat nenalezla žádné problémy, je důležité poskytnout protokol validací, které byly provedeny, a jejich výsledky. To je užitečné při identifikaci všech chybějících kontrol ověření dat s ohledem na problémy s daty a při zlepšování ověřování.

Ověření a zabezpečení

Selhání nebo opomenutí ověření dat může vést k poškození dat nebo k chybě zabezpečení . Ověřování údajů před zpracováním kontroluje, zda jsou údaje vhodné pro daný účel, platné, rozumné, přiměřené a bezpečné.

Viz také

Reference

externí odkazy