SQL Ne Demek, Veritabanı Sorguları Nasıl Yazılıyor?

Haberci

SEO UZMANI
Yönetici
Katılım
21 May 2023
Mesajlar
602
Tepki
17
Puan
18
876




Bir site kurulurken panelde "veritabanı" adında bir bölüm çıkıyor, hosting sağlayıcısı SQL sürümünden söz ediyor ve hata mesajlarında aynı üç harf tekrar ediyor. Çoğu kullanıcı bu noktada terimin bir program mı, bir dosya biçimi mi yoksa başka bir şey mi olduğundan emin olamıyor.

Aşağıda SQL'in ne olduğunu, hangi yapıyı sorguladığını, tablo-satır-sütun kavramlarının ne anlama geldiğini ve terimi neden her veritabanı ürününde duyduğunuzu üreticilerin kendi belgelerine dayanarak bulacaksınız.

SQL bir program değil, bir dil​


Oracle'ın SQL başvuru belgesi tanımı doğrudan veriyor: SQL, bütün programların ve kullanıcıların veritabanındaki veriye erişmek için kullandığı ifadeler kümesi.

Aynı belge ikinci bir noktayı da vurguluyor: uygulamalar ve araçlar, kullanıcıya SQL'i doğrudan yazdırmadan veritabanına erişim sağlayabiliyor; ancak bu uygulamalar isteği yerine getirirken arka planda yine SQL kullanmak zorunda.

Pratikte anlamı şu: panelden tıklayarak yaptığınız bir işlem de aslında SQL'e çevriliyor. Yönetim aracı yalnız arayüz sağlıyor.

Neden her üründe aynı terim geçiyor?​


Oracle'ın belgesi SQL'i çoğu veritabanı sisteminin kullandığı standart bir dil olarak tanımlıyor. Bu yüzden farklı ürünlerde karşılaştığınız komutlar birbirine benziyor.

Benzemek aynı olmak değil ama; her ürün standardın üzerine kendi eklerini koyuyor. PostgreSQL'in belgesi de kendi dağıtımının standarda ek dil özellikleri içerdiğini yazıyor. Yani temel aynı, ayrıntı ürüne göre değişiyor.

Sorgulanan yapı: tablo, satır, sütun​


SQL'i anlamak için verinin nasıl durduğunu bilmek gerekiyor. PostgreSQL'in kavramlar sayfası bu yapıyı sade tarif ediyor:

  • İlişkisel veritabanı: Veriyi ilişkiler, yani tablolar hâlinde tutan sistem.
  • Tablo: Adlandırılmış bir satır topluluğu; matematiksel karşılığı "ilişki" terimi.
  • Satır: Tablodaki tek bir kayıt; aynı tablodaki diğer satırlarla aynı sütun yapısını taşıyor.
  • Sütun: Adı ve belirli bir veri türü olan alan; her satırda sabit sırada bulunuyor.
  • Veri türü: Sütundaki değerin biçimini ve üzerinde hangi işlemlerin yapılabileceğini belirliyor.

Belge veritabanlarının da bir küme içinde toplandığını, kümeyi tek bir sunucu örneğinin yönettiğini ekliyor. Yani hiyerarşi şöyle işliyor: sütunlar satırları, satırlar tabloları, tablolar veritabanını, veritabanları da kümeyi oluşturuyor.

Terimler neden bu kadar önemli?' Alıntı:
Hata mesajları bu kelimelerle konuşuyor. "Column not found" uyarısı sütun adında, "duplicate row" uyarısı ise kayıt tekrarında sorun olduğunu söylüyor.

SQL ile neler yapılıyor?​


Oracle'ın belgesi SQL'i tek bir iş için değil, ifade türleri kümesi olarak tanımlıyor: veriyi okumak, eklemek, değiştirmek ve yapıyı tanımlamak aynı dilin farklı ifadeleriyle yapılıyor.

Bir forum yazılımında yeni konu açıldığında satır ekleniyor, konu listelendiğinde satırlar okunuyor, başlık düzenlendiğinde ise mevcut satır güncelleniyor. Arayüzde gördüğünüz her işlem arkada bu ifadelerden birine karşılık geliyor.

Tablo yapısını sıfırdan kurarken izlenecek yolu veritabanı tasarımı yazımızda adım adım ele almıştık.

Kullanıcı girdisi sorguya karışırsa​


SQL'in bir dil olması, en bilinen güvenlik açığının da kaynağı. Kullanıcıdan gelen metin doğrudan sorgunun içine yerleştirilirse, girdi veri olmaktan çıkıp komut hâline gelebiliyor.

Bu açığın nasıl oluştuğunu ve kendi sitenizde nasıl sınayacağınızı enjeksiyon testini anlattığımız yazıda gösterdik. Veriyi geri alma tarafını ise yedek doğrulama yazımızda işledik.

Veri türü seçimi neden sonradan zorlaştırıyor?​


PostgreSQL'in belgesi sütunun belirli bir veri türü taşıdığını ve bu türün değerin biçimini, üzerinde hangi işlemlerin yapılabileceğini belirlediğini söylüyor. Cümle kısa ama sonucu büyük.

Tarih alanı metin olarak tutulduğunda sıralama beklendiği gibi çalışmıyor, sayı metin olarak tutulduğunda toplama yapılamıyor. Tablo dolduktan sonra türü değiştirmek ise mevcut kayıtların dönüştürülmesini gerektiriyor. Bu yüzden tür kararı, tablo kurulurken verilmesi gereken bir karar oluyor.

Sık Sorulan Sorular​


SQL ne demek?
Oracle'ın belgesine göre programların ve kullanıcıların veritabanındaki veriye erişmek için kullandığı ifadeler kümesi; yani bir program değil, bir dil.

SQL bir veritabanı mı?
Hayır. Veritabanı veriyi tutan sistem, SQL ise o sisteme ne yapacağını söyleyen dil.

Her veritabanında aynı SQL mi çalışıyor?
Temeli aynı: Oracle'ın belgesi SQL'i çoğu veritabanı sisteminin kullandığı standart dil olarak tanımlıyor. Ürünler standardın üzerine kendi eklerini koyuyor.

Tablo, satır ve sütun ne anlama geliyor?
PostgreSQL'in belgesine göre tablo adlandırılmış bir satır topluluğu, satır tek bir kayıt, sütun ise adı ve veri türü olan alan.

SQL öğrenmeden site kurulur mu?
Kurulur; yönetim panelleri işlemi sizin yerinize yapıyor. Ancak Oracle'ın belgesine göre bu uygulamalar da arka planda SQL kullanıyor.

Özetle​


SQL, veritabanına ne yapacağını söyleyen standart dil; panelden tıkladığınız işlemler bile arka planda ona çevriliyor. Verinin durduğu yapı tablo, satır ve sütun üçlüsüyle tanımlanıyor ve hata mesajları da bu kelimelerle konuşuyor. Ürünler arasındaki farklar standardın üzerine eklenen özelliklerden geliyor.

Sitenizin veritabanına en son ne zaman panel dışından, doğrudan bir sorguyla baktınız?

Güncelleme: 27 Ağustos 2026. Oracle SQL başvuru belgesi ve PostgreSQL kavramlar sayfası kontrol edildi.



Dijital Dünyanıza Yön Veren Pusula
 

Ekli dosyalar

  • banner_05.jpg
    banner_05.jpg
    4.8 KB · Görüntüleme: 1
Geri
Üst