Tüm yazılarPerSight Ekibi · Son güncelleme: 25 Temmuz 2026 · 6 dk okuma

Text-to-SQL Nedir? Doğal Dilden SQL'e Çeviri, Sade Anlatım

Text-to-SQL (NL2SQL), doğal dildeki bir soruyu çalıştırılabilir SQL sorgusuna çeviren yapay zeka tekniğidir. Nasıl çalışır, sınırları neler, güvenli kullanım için nelere bakılır? Pazarlamasız bir rehber.

Son bir yılda "text to sql" aramaları belirgin şekilde arttı; çünkü büyük dil modelleri bu eski problemi nihayet kullanılabilir hale getirdi. Bu yazı terimi pazarlama diline kaçmadan açıklıyor: ne yapar, nasıl yapar, nerede tökezler.

Text-to-SQL tam olarak nedir?

Text-to-SQL (literatürde NL2SQL olarak da geçer), doğal dilde yazılmış bir soruyu ("geçen ay en çok sipariş veren 10 müşteri kim?") ilgili veritabanında çalıştırılabilir bir SQL sorgusuna çeviren tekniğin adıdır. Girdi insan cümlesi, çıktı SQL; aradaki çeviriyi bir yapay zeka modeli yapar.

Terim ailesi kafa karıştırabilir: text-to-SQL çeviri tekniğinin adı, NLQ (natural language query) ise bu tekniğin kullanıcıya sunulduğu arayüz deneyiminin adıdır. Yani NLQ özelliği sunan bir ürün, motor olarak çoğunlukla text-to-SQL kullanır.

Nasıl çalışır?

  • Model, veritabanının şemasını görür: tablo adları, kolon adları ve tipleri. Veriyi değil, verinin haritasını.
  • Kullanıcının sorusu ve bu şema birlikte modele verilir; model soruya uyan SQL'i üretir.
  • Üretilen sorgu veritabanında çalıştırılır; sonuç tablo ya da grafik olarak gösterilir.

Kritik ayrıntı şemanın kalitesidir. "musteriler" ve "siparisler" gibi anlamlı adlar taşıyan bir şemada model isabetli çalışır; "T001", "F17" gibi kriptik adlarla dolu bir şemada isabet düşer. Bu yüzden ciddi text-to-SQL araçları kolonlara açıklama ekleme imkânı sunar.

Ne kadar doğru? Dürüst cevap

Akademik kıyaslamalarda (Spider, BIRD) en iyi sistemler bile yüzde yüz doğruluğa ulaşmıyor; gerçek dünya şemaları kıyaslamalardan daha dağınık olduğu için üretimde de yüzde yüz beklememelisiniz. Belirsiz sorular ("en iyi müşteriler" derken neye göre en iyi?) ve karmaşık çok-tablolu sorgular en sık tökezlenen yerlerdir.

Bu yüzden doğruluğun nasıl ölçüldüğü, oranın kendisinden daha önemlidir. Üretilen SQL metninin "doğru görünmesi" ile çalıştırıldığında doğru veriyi döndürmesi ayrı şeylerdir; ölçüm ikincisi üzerinden yapılmalıdır. Biz PerSight'ta bunu dört veritabanı motorunda yüzlerce gerçek soruyla düzenli ölçüyor ve sonucu açık yöntemle yayımlıyoruz.

Güvenli kullanım için üç şart

  • Salt-okunur çalışma: üretilen sorgu yalnızca SELECT olabilmeli; yazma ve silme teknik olarak engellenmeli.
  • Görünür SQL: üretilen sorgu kara kutuda kalmamalı; çalıştırmadan önce görülebilmeli ve düzenlenebilmeli.
  • Veri yerelliği: modele yalnızca şema ve soru gitmeli; satır verisi buluta taşınmamalı.

Sık sorulan sorular

Text-to-SQL ile NL2SQL aynı şey mi?
Evet, aynı tekniğin iki adı. Akademik makalelerde NL2SQL, ürün dünyasında text-to-SQL yazımı daha yaygın.
ChatGPT'ye SQL yazdırmakla text-to-SQL aracı kullanmak arasındaki fark ne?
ChatGPT şemanızı bilmez; her seferinde tablo yapısını elle anlatmanız gerekir ve ürettiği sorguyu kendiniz kopyalayıp çalıştırırsınız. Text-to-SQL aracı şemaya bağlıdır, sorguyu güvenlik katmanından (salt-okunur) geçirir ve sonucu doğrudan gösterir. Ayrıca kurumsal veride sohbet botuna şema veya veri yapıştırmak çoğu şirkette politika ihlalidir.
Türkçe sorularla çalışır mı?
Modern modeller çok dillidir; Türkçe soru, İngilizce şema adlarıyla bile eşleşir. PerSight özelinde birinci dil Türkçedir; sorunuzu Türkçe yazarsınız, üretilen SQL'in açıklamasını da Türkçe okursunuz.
Text-to-SQL, SQL bilen birinin yerini tutar mı?
Rutin soru-cevap sorgularında büyük ölçüde evet; veri modelleme, performans ayarı ve karmaşık analiz işlerinde hayır. En sağlıklı kullanım, üretilen sorgunun görünür olduğu ve gerektiğinde bilen birinin denetleyebildiği kurgudur.

Text-to-SQL'i kendi veritabanınızda denemek isterseniz PerSight tam bu üç şartla çalışır: salt-okunur, görünür SQL, veriniz makinenizde. Beta sırasına persight.ai/beta adresinden girebilirsiniz.

Kaynaklar