Lajiverta Academy Satın Al — 499₺

Academy 🗄️ SQL & Veritabanı Veri ve Tablolar

Tablonun anatomisi: satır, sütun, hücre

🗄️ Veri ve Tablolar bölümü · Code Quest SQL & Veritabanı parkuru

Her tablo bir ızgaradır. Yatay olanlara satır (row / kayıt), dikey olanlara sütun (column / alan) denir. Kesiştikleri yerdeki tek veri parçasına da hücre denir.

  • Satır = bir şey. Bir oyun, bir oyuncu, bir satış.
  • Sütun = o şeyin bir özelliği. Adı, fiyatı, yılı.
  • Hücre = tek bir değer. "199.9".

Python bilenler için birebir karşılığı şu: tablo = sözlüklerden oluşan bir liste. Satır = bir sözlük, sütun adları = sözlüğün anahtarları. Fark şu ki tabloda her satır aynı anahtarlara sahiptir — bu disiplin, veriyi hızlı ve güvenli yapar.

SQL
SELECT * FROM oyunlar;
▸ SONUÇ
id | ad             | tur_id | fiyat | puan |  yil | stok
───┼────────────────┼────────┼───────┼──────┼──────┼─────
 1 | Neon Drift     |      3 | 199.9 |  4.6 | 2024 |   12
 2 | Piksel Kale    |      4 |  89.5 |  4.2 | 2022 |   40
 3 | Gölge Avcısı   |      1 |   249 |  4.8 | 2025 |    7
 4 | Kelime Kulesi  |      2 |  49.9 |  3.9 | 2021 |    0
 5 | Yıldız Sürüsü  |      1 |   149 |  4.4 | 2023 |   25
 6 | Zaman Kapısı   |      5 | 179.5 |  4.7 | 2024 |    9
 7 | Robot Bahçesi  |      2 |    79 |    4 | 2020 |   33
 8 | Kara Yörünge   |      1 |   299 | NULL | 2026 |    5
 9 | Buz Vadisi     |      3 | 129.9 |  3.5 | 2019 |   18
10 | Kule Savunması |      4 |  59.9 |  4.1 | 2021 |   60
11 | Derin Mavi     |      5 |   219 |  4.9 | 2025 |    3
12 | Sessiz Ada     |   NULL |    99 |  4.3 | 2023 |   11

Bu tabloda dikkatini çekmesi gereken üç şey var:

1) id sütunu. Her satırın benzersiz bir numarası var. Buna birincil anahtar (primary key) denir. İki oyunun adı aynı olabilir ama id'si asla. Bir satırı kesin olarak işaret etmenin tek güvenli yolu budur.

2) tur_id sütunu. Burada tür adı yazmıyor, bir numara yazıyor: 3, 4, 1... Bu numara turler tablosundaki id'yi işaret eder. Buna yabancı anahtar (foreign key) denir — tabloları birbirine bağlayan zincir. "Neon Drift"in tur_id'si 3, yani Yarış.

3) NULL. Kara Yörünge'nin puanı ve Sessiz Ada'nın türü boş. NULL, "değer yok / bilinmiyor" demektir. Beşinci derste bu tuhaf yaratığı ayrıntısıyla tanıyacaksın.

⚠️ Neden tür adını doğrudan yazmıyoruz? Çünkü "Yarış" 100 oyunda geçiyorsa ve adını "Yarış Oyunu" diye değiştirmek istersen 100 satırı düzeltmen gerekir. Numarayla bağlarsan tek satır değişir. Buna normalizasyon denir — 12. bölümün konusu.

Her sütunun bir veri tipi de vardır: ad metin (TEXT), yil tam sayı (INTEGER), fiyat ondalıklı (REAL). Tip, o sütuna ne yazılabileceğini belirler — Python'daki str/int/float gibi.

Kendini test et

oyunlar tablosundaki bütün sütunları getiren sorguyu tamamla.

SELECT ____ FROM oyunlar;
Cevabı gör

Cevap: *

Yıldız (*) "bütün sütunlar" demektir. Gerçek projelerde ise istediğin sütunları isimle yazmak daha doğrudur.

Doğru mu, yanlış mı? — SQL'de anahtar kelimeler büyük/küçük harfe duyarlıdır; "select" yazarsan sorgu çalışmaz.

Cevabı gör

Cevap: Yanlış

SQL harf duyarsızdır: SELECT, select, SeLeCt aynıdır. Gelenek anahtar kelimeleri BÜYÜK yazmaktır (okunurluk için).