TC Kimlik No Doğrulayıcı
11 HaneTC Kimlik No doğrulayıcı: algoritma kurallarını kontrol eden ücretsiz web aracı.
Yardımcı Blog Yazıları
Tümünü görToplu TC Kimlik No Doğrulama
Yüzlerce TC Kimlik No numarasını tek seferde doğrulayın. Liste yapıştırın, sonuçları CSV olarak indirin.
TC Kimlik No Doğrulayıcı Nasıl Çalışır?
TC Kimlik No doğrulayıcı, format ve kontrol hanesi algoritmasını otomatik kontrol eder. TC Kimlik No doğrulayıcı yalnızca format kontrolü yapar; gerçek kişi/kurum teyidi yapmaz.
- Uzunluk 11 hane; ilk hane 0 olamaz.
- 10. hane:
((1,3,5,7,9).toplam × 7 − (2,4,6,8).toplam) mod 10 - 11. hane:
ilk 10 hanenin toplamı mod 10
Araç yalnızca format doğrular; gerçek kişi/kurum teyidi yapmaz.
TC Kimlik No Doğrulayıcı Kimler İçin?
- Yazılım geliştiriciler için: TC Kimlik No doğrulayıcı ile istemci tarafı format kontrolü.
- QA ekipleri için: TC Kimlik No doğrulayıcı ile test verisi geçerlilik kontrolü.
- Backend geliştiriciler için: TC Kimlik No doğrulayıcı ile sunucu öncesi ön kontrol.
- Veri analistleri için: TC Kimlik No doğrulayıcı ile veri kalitesi kontrolü.
Veritabanı constraint katmanında TC Kimlik No doğrulayıcı
Bu araç, uygulama katmanı bypass edilse bile veritabanının kendi başına bozuk TCKN kabul etmemesi için tasarlanmış constraint desenlerini anlatır. Son savunma hattı olarak CHECK constraint, trigger ve stored procedure yaklaşımları, migration script'lerinde yaygın hataları önler. Sayfada girdiğiniz numara tarayıcıda doğrulanır; aynı algoritmayı PostgreSQL, MySQL veya SQL Server tarafında bir kez kurgulayıp tüm INSERT/UPDATE akışına uygulamak mümkündür.
Hangi senaryolarda kullanılmalı?
- PostgreSQL CHECK constraint: PL/pgSQL ile checksum fonksiyonu + tablo seviyesi kural.
- MySQL 8 trigger: BEFORE INSERT/UPDATE ile SIGNAL-tabanlı ret.
- SQL Server: Scalar UDF + CHECK constraint kombinasyonu.
- Oracle:
CREATE OR REPLACE FUNCTION+ deterministic pragma ile indeks uyumu.
Constraint performansı ve idempotency
CHECK constraint'in her INSERT'te çalıştığını unuttuğumuzda büyük batch yüklemelerde yavaşlama yaşanır. Kritik nokta: fonksiyonu IMMUTABLE (PostgreSQL) veya DETERMINISTIC (MySQL/Oracle) olarak işaretlemek; böylece optimizer sonuçları önbellekler. Ayrıca TCKN algoritması saf aritmetik olduğundan sistem çağrısı yapmaz, disk I/O'ya dokunmaz ve tamamen CPU üzerinde çalışır. 500 bin satırlık toplu INSERT'te toplam overhead tipik olarak tek haneli saniyeler mertebesinde kalır.
Sık karşılaşılan tuzak: eski veriyi bozmadan constraint ekleme
Constraint'i doğrudan ALTER TABLE ... ADD CONSTRAINT ile eklerseniz eski hatalı kayıtlar yüzünden komut başarısız olur veya uzun süreli kilit alır. Doğru yaklaşım PostgreSQL'de ADD CONSTRAINT ... NOT VALID ile ekleyip sonra VALIDATE CONSTRAINT çalıştırmaktır; böylece yeni kayıtlar hemen denetlenir, eskiler arka planda temizlenir. Temizlik için bozuk satırları izole eden rapor sorgusu şarttır.
Kod entegrasyonu / İleri adımlar
Uygulama katmanı örnekleri için /kutuphaneler/python (SQLAlchemy hook) ve /kutuphaneler/java (Hibernate @PrePersist) sayfalarına bakın. Mevcut tabloda topluca denetim için /toplu-tckn-vkn-dogrulama aracı, temel kavramlar için /tckn-nedir sayfası faydalıdır.
Sık Sorulan Sorular
CREATE FUNCTION is_valid_tckn(t text) RETURNS boolean olarak PL/pgSQL fonksiyonu yazın, ardından ALTER TABLE musteri ADD CONSTRAINT chk_tckn CHECK (is_valid_tckn(tckn)) ekleyin. 10 milyon satırlık tabloda bile INSERT başına maliyet düşüktür.NOT VALID ile ekleyin, sonra VALIDATE CONSTRAINT çalıştırın. Böylece tablo kilitlenmeden migrasyon yapılır. Örnekler kütüphaneler sayfasında.SIGNAL SQLSTATE '45000' fırlatmak alternatiftir. Toplu veri için toplu doğrulama aracını tercih edin.İlgili TC Kimlik No Araçları
Son güncelleme: