Memastikan Integritas Data dan Validitas Data Menggunakan Query SQL Secara Manual dari Database

Contents

Share the article

Contents

Pada proses pengembangan aplikasi berbasis data, database menjadi komponen kritikal untuk menyimpan, mengolah, dan menyediakan data bagi berbagai kebutuhan bisnis. Namun, kesalahan dalam input data, ketidaksesuaian format, dan inkonsistensi relasi antar tabel dapat menurunkan kualitas data secara signifikan.

QA Data bertanggung jawab memastikan bahwa data di dalam database konsisten, akurat, dan sesuai dengan aturan bisnis. Berbeda dari validasi berbasis otomatisasi (Python atau tools lain), artikel ini memfokuskan pada pendekatan manual menggunakan query SQL sebagai metode verifikasi langsung ke database.

Pendekatan ini umum digunakan pada tahap UAT, SIT, atau proses investigasi defect yang membutuhkan cross-check data secara presis

Tujuan

Artikel ini bertujuan untuk:

  • Menjelaskan cara melakukan validasi kualitas data menggunakan SQL query.
  • Memberikan checklist teknis untuk pengecekan data secara manual.
  • Menyediakan contoh query validasi integritas data.
  • Menstandarkan proses QA saat melakukan review database.

Pengertian Validasi Data

Validasi data adalah proses untuk memastikan bahwa:

  • Nilai data sesuai format yang benar.
  • Nilai data lengkap dan tidak kosong.
  • Data memenuhi aturan bisnis.
  • Relasi tabel konsisten.

Contoh:

  • Kolom email harus berformat valid.
  • Kolom date_of_birth mengikuti format YYYY-MM-DD.
  • Foreign key user_id pada tabel transaksi harus ada di tabel users.

Pentingnya Integritas Data pada Database

Integritas data memastikan bahwa data dalam database:

  • Terstruktur dengan benar
  • Konsisten lintas tabel
  • Dapat dipercaya untuk laporan, analitik, dan proses bisnis

Jenis integritas:

  • Entity Integrity: setiap record punya primary key valid.
  • Referential Integrity: relasi antar tabel (FK) konsisten.
  • Domain Integrity: data sesuai tipe dan batas nilai.

Business Rule Integrity: mengikuti aturan bisnis khusus.

Persiapan Sample Testing

Untuk melakukan pengecekan manual via SQL, diperlukan:

  • Akses ke database (MySQL/PostgreSQL/SQL Server).
  • Tools client SQL:
    • DBeaver
    • DataGrip
    • MySQL Workbench
    • psql CLI / mysql CLI
  • Hak akses read-only (recommended untuk QA).

Struktur Folder

public/
├── users
│   ├── id (PK)
│   ├── name
│   ├── email
│   └── created_at
├── transactions
│   ├── id (PK)
│   ├── user_id (FK → users.id)
│   ├── amount
│   └── status
└── products
    ├── id (PK)
    ├── sku
    ├── price
    └── stock

Jenis Validasi Manual dengan SQL

Berikut jenis pengecekan yang wajib dalam QA Data:

  1. Validasi Kelengkapan Data
    • Field penting tidak boleh kosong.
    • Data wajib (required) terisi lengkap.
  2. Validasi Format Data
    • Tipe angka harus numerik.
    • Format tanggal harus valid.
    • Email harus sesuai pola.
  3. Validasi Referential Integrity
    • Foreign key tidak boleh orphan.
    • Referensi tabel induk harus ada.
  4. Validasi Business Rule
    • Status hanya boleh dalam daftar tertentu.
    • Jumlah transaksi ≥ 0.
    • Produk tanpa stok tidak boleh diproses.
  5. Validasi Duplicate Data
    • Duplicate email
    • Duplicate SKU
    • Duplicate transaksi

Implementasi Query Validasi (SQL)

1. Cek Field Wajib Tidak Boleh Null

SELECT * FROM users
WHERE name IS NULL OR email IS NULL;

2. Validasi Format Email

SELECT * FROM users
WHERE email NOT REGEXP
‘^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$’;

3. Validasi Nilai Angka

SELECT *
FROM products
WHERE price <= 0 OR price IS NULL;

4. Cek Foreign Key Orphan

Transaksi tanpa user terdaftar:

SELECT t.* FROM transactions t
LEFT JOIN users u ON t.user_id = u.id
WHERE u.id IS NULL;

5. Cek Duplikasi Email

SELECT email, COUNT(*) AS total
FROM users
GROUP BY email
HAVING COUNT(*) > 1;

6. Validasi Aturan Bisnis: Status Valid

SELECT * FROM transactions
WHERE status NOT IN (‘SUCCESS’, ‘FAILED’, ‘PENDING’);

7. Cek Tanggal Tidak Valid

SELECT * FROM users
WHERE created_at > NOW();

Eksekusi dan Dokumentasi Hasil

Setelah menjalankan query, hasil validasi bisa didokumentasikan dalam format seperti:

ValidasiQueryJumlah TemuanStatusCatatan
Email invalidRegex email12FAILEmail tidak sesuai format
Orphan FKJoin user & transaksi2FAILAda transaksi tanpa user
Harga invalidPrice < 00PASS

Studi Kasus Validasi Data

Kasus: Banyak transaksi tidak memiliki user

Hasil query:

SELECT t.id, t.user_id, t.amount
FROM transactions t
LEFT JOIN users u ON t.user_id = u.id
WHERE u.id IS NULL;

Output: 27 rows

Kesimpulan: Data tidak valid → biasanya disebabkan oleh proses ETL yang tidak dimigrasikan dengan user tertentu.

Manfaat Pendekatan Ini

AspekManfaat
Kualitas DataValidasi manual memberikan presisi tinggi
AuditabilityBukti pengecekan dapat disimpan sebagai query
Efisiensi InvestigasiAkar masalah cepat ditemukan
ReusabilityQuery dapat dijadikan template QA
FlexibilitasMendukung berbagai tipe database

Kesimpulan

Validasi manual menggunakan SQL merupakan langkah penting untuk memastikan integritas data dalam database. Pendekatan ini memberikan fleksibilitas dan akurasi tinggi dalam identifikasi masalah data, terutama saat menangani kasus yang kompleks atau membutuhkan verifikasi langsung.

Dengan mengikuti langkah-langkah pengecekan kelengkapan data, referential integrity, format, dan aturan bisnis, QA dapat menjaga kualitas data sebelum digunakan dalam analitik, integrasi sistem, atau operasional bisnis lainnya.

Share the article

Grow Your Knowledge

About Software Development with Our Free Guidebook

Grow Your Knowledge

About Software Development with Our Guidebook

You dream it.

We build it!

We provide several bonuses FOR FREE to help you in making decisions to develop your own system/application.

  • Risk Free Development Trial 
  • Zero Requirement and Consultation Cost 
  • Free Website/Mobile Audit Performance

Our Services

Software Development • Quality Assurance • Big Data Solution • Infrastructure • IT Training

You might also like

Validasi Data CSV dengan Python: Studi Kasus Pengujian Integritas Data di VS Code (UNIX)

Implementasi Data Quality Menyeluruh dari Sumber Data hingga Insight

Peran QA dalam Menjaga Kualitas Data di Era Big Data

Silakan isi data di bawah sebelum mendownload file.

Silakan isi data di bawah sebelum mendownload file.

Silakan isi data di bawah sebelum mendownload file.

Silakan isi data di bawah sebelum mendownload file.

Signup for Free Software Development Guidebook: Input Email. Submit me.