Verilənlərin yoxlanılması

**Verilənlərin yoxlanılması** () — müxtəlif tipli verilənlərin düzgünlük və konkret tətbiq üçün yararlılıq meyarlarına əsasən yoxlanılması prosesi.

Adətən verilənlərin yoxlanılması ETL əməliyyatlarının (verilənlərin çıxarılması, çevrilməsi və yüklənməsi) icrasından sonra, həmçinin maşın öyrənməsi modellərinin (proqnozların) nəticələrinin düzgünlüyünü təsdiqləmək məqsədilə həyata keçirilir.

Verilənlərin yoxlanılması yalnız cədvəl formasında olan verilənlərə deyil, həm də cədvəllər məcmusu, mətn, qrafik və səs verilənləri kimi müxtəlif formatlarda olan datasetlərə tətbiq edilir.

Verilənlərin avtomatlaşdırılmış emalı, statistika, eləcə də elmi və tibbi tədqiqatların nəticələrinin cəmlənməsi və işlənməsi kimi sahələrdə verilənlərin yoxlanılması üçün müxtəlif metodlardan istifadə olunur.

## Verilənlərin yoxlanılmasının zəruriliyi

Verilənlərin yoxlanılması, informasiya sisteminə və ya onun komponentlərinə əvvəlcədən səhv, natamam və ya dəqiqlikdən uzaq verilənlərin daxil olmasının qarşısını alan əsas üsullardan biridir. Belə verilənlərin daxil edilməsi sistemin işində səhv nəticələrə, məlumat itkisinə və nasazlıqlara səbəb ola bilər.

Səhv məlumatların yaranma səbəbləri müxtəlif ola bilər:
*verilənlərin əl ilə daxil edilməsi zamanı buraxılan səhvlər,
*alqoritmlərdə və proqram təminatında baş verən xətalar,
*verilənlərin saxlanması və ötürülməsi prosesindəki pozuntular,
*həmçinin sensorlar və IoT qurğuları kimi müxtəlif avadanlıqlar tərəfindən verilən yaradılması zamanı yaranan uyğunsuzluqlar.

Yoxlanılma prosesi zamanı aşağıdakı tədbirlər həyata keçirilə bilər:
*verilənlərin, faylların, paketlərin və ya qeydlərin düzəldilməsi və ya istisna edilməsi,
*operatorun məlumatlandırılması,
*informasiya sisteminin işləmə alqoritminin dəyişdirilməsi.

Bu tədbirlər nəticəsində sistemin etibarlılığı artır, səhv nəticələrin yaranma riski azalır və ümumi məlumat keyfiyyəti təmin olunur.

## Verilənlərin yoxlanılması əməliyyatları

Verilənlərin yoxlanılması müxtəlif metod və texnikalardan istifadə etməklə həyata keçirilir. Bu metodlara vizual yoxlama (o cümlədən analitik alətlərin tətbiqi ilə), məlumatların profilləşdirilməsi və filtrasiya daxildir. Müəyyən və ya məlum paylanmaya malik verilənlərin yoxlanılması, eləcə də maşın öyrənməsində məlumat driftinin qiymətləndirilməsi zamanı Kolmohorov uyğunluq meyarı kimi statistik paylanma müqayisə üsullarından istifadə oluna bilər.

Ən geniş praktik tətbiq, məlumatların sistemə daxil edildiyi anda avtomatik olaraq yoxlanılmasına əsaslanan metodlardır:

***Verilən tipinin yoxlanılması** — istifadəçi tərəfindən daxil edilən simvolların əvvəlcədən müəyyən edilmiş verilən tipinə müvafiq olmasını təmin edir. Məsələn, tam ədədlər üçün nəzərdə tutulan sahə yalnız 0–9 arası simvolları qəbul etməlidir.
***Sadə diapazon və məhdudiyyət yoxlaması** — daxil edilən verilənlərin müəyyən edilmiş minimum və maksimum hədlərə və ya simvol ardıcıllığına müvafiq olmasını təsdiqləyir. Məsələn, sayğac dəyəri mənfi olmamalı, parol isə minimal uzunluğa, həm böyük, həm kiçik hərflərə və xüsusi simvollara malik olmalıdır.
***Kodların və çarpaz istinadların yoxlanılması** — verilənlərin müəyyən qayda və tələblərə müvafiq olmasını, həmçinin axtarış cədvəlləri və ya məlumat kataloqu xidmətləri (məsələn, LDAP) vasitəsilə istinadların düzgünlüyünü təmin edir. Məsələn, valyuta identifikasiyası üçün Azərbaycan Respublikasının valyuta kodları istifadə oluna bilər.
***Strukturlaşdırılmış yoxlama** — bir neçə növ yoxlamanı birləşdirərək daha mürəkkəb emalı təmin edir; şərti məhdudiyyətlərin bütün məlumat məcmusuna tətbiqini əhatə edə bilər.
***Ziddiyyətsizlik yoxlaması** — verilənlərin məntiqi ardıcıllığını təmin edir. Məsələn, sifarişin çatdırılma tarixi onun göndərilmə tarixindən əvvəl ola bilməz.
***Format yoxlaması** — verilənlərin müəyyən formatda daxil edilməsini təmin edir. Məsələn, coğrafi koordinatlar "dərəcə, dəqiqə, saniyə" formasında olmalıdır.
***Əskik qeydlərin yoxlanılması** — verilən məcmusunda mövcud olmayan qeydləri aşkarlayır.
***Kardinallıq yoxlaması** — qeydlərin əlaqəli məlumatlarla düzgün sayda əlaqəyə malik olmasını təmin edir. Məsələn, "Müştəri" qeydinə ən azı bir "Sifariş" müvafiq gəlməlidir.
***Nəzarət rəqəmləri** — ədədi verilənlərdə səhvləri müəyyən etmək üçün əlavə rəqəmin hesablanması və yoxlanılması üsuludur.
***Sistemlərarası müvafiqlik yoxlaması** — eyni verilənlərin müxtəlif sistemlərdə müvafiq olub-olmadığını müqayisə edir. Məsələn, bir sistemdə "Soyad, Ad, Ata adı" tək sahədə saxlanıla bilər, digərində isə üç ayrı sahədə.
***Faylın mövcudluğunun yoxlanılması** — göstərilən adda faylın mövcud olub-olmamasını müəyyən edir; fayllarla işləyən proqramlar üçün vacibdir.
***Verilənin mövcudluğunun yoxlanılması** — vacib sahələrin (məsələn, elektron poçt ünvanı) doldurulmasını təmin edir.
***Diapazon yoxlaması** — verilənlərin müəyyən interval daxilində olub-olmamasını yoxlayır (məsələn, ehtimal dəyərləri 0 ilə 1 arasında olmalıdır).
***İstinad bütövlüyünün yoxlanılması** — verilənlər bazasında xarici və əsas açarların müvafiqliyini təmin edir, beləliklə istinad olunan cədvəl hər zaman real mövcud sətrə istinad edir.
***Orfoqrafiya və qrammatika yoxlaması** — mətn daxilində yazı və dil səhvlərini aşkarlayır.
***Unikallığın yoxlanılması** — dəyərlərin təkrarlanmadığını təmin edir; bu yoxlama bir neçə sahəyə eyni vaxtda tətbiq oluna bilər (məsələn, ad, soyad və ünvan).
***Cədvəl üzrə axtarış yoxlaması** — daxil edilən verilənlərin müəyyən edilmiş icazəli dəyərlər məcmusu ilə müvafiqliyini müəyyən edir.

Bundan əlavə, digər metodlar və onların kombinasiyaları da verilənlərin dəqiqliyini və etibarlılığını təmin etmək üçün tətbiq oluna bilər.

## Yoxlamadan keçməyən verilənlərin istifadəsinin riskləri

Yoxlamadan keçməmiş verilənlərin istifadəsi informasiya sistemlərinin işində səhv və qeyri-dəqiq nəticələrə, həmçinin verilənlərin və onların qarşılıqlı əlaqələrinin (o cümlədən maşın öyrənməsi modellərinin çəki dəyərlərinin) itirilməsinə səbəb ola bilər. Bu hallar sistemlərin fəaliyyətində kritik nasazlıqların yaranmasına gətirib çıxara və onların etibarlılığını ciddi şəkildə azalda bilər.

## İstinadlar

## Xarici keçidlər

* Data Validation, OWASP
* Input Validation, OWASP Cheat Sheet Series, github.com