Veritabanı İlişkilendirme ile Çoklu Tablo Kullanımı

Web programcılığı stajımda veritabanında birden fazla tabloyu birleştirerek veri çekme işlemlerini öğrendim. INNER JOIN, LEFT JOIN gibi komutlarla ilişkili tablo sorguları yaptım.

Ali YILMAZ
Ali YILMAZ

Yönetici

159

Veritabanı İlişkilendirme (JOIN, INNER JOIN) ile Çoklu Tablo Kullanımı

Stajımın on dokuzuncu haftasında, projelerde veri yapısını daha sağlıklı oluşturmak adına veritabanı ilişkilendirme konusunu öğrendim. Özellikle INNER JOIN komutu ile birden fazla tabloyu birleştirerek nasıl veri çekebileceğimi uygulamalı olarak yaptım.

Neden İlişkili Tablolar Kullanılır?

Veritabanında tekrarlı veri kullanımını önlemek ve verileri kategorilere ayırmak için tablolar arasında ilişkiler kurarız. Örneğin kullanıcıların bilgileri bir tabloda, siparişleri başka bir tabloda tutulur.

Örnek Tablolar

kullanicilar tablosu:


id | ad     | email
-----------------------
1  | Ali    | ali@mail.com
2  | Zeynep | zeynep@mail.com

siparisler tablosu:


id | kullanici_id | urun_adi
-----------------------------
1  | 1            | Klavye
2  | 1            | Mouse
3  | 2            | Monitör

INNER JOIN ile Sorgulama

Hem kullanıcı adını hem de sipariş bilgilerini aynı satırda çekmek için şu SQL sorgusunu kullandım:


SELECT kullanicilar.ad, siparisler.urun_adi
FROM kullanicilar
INNER JOIN siparisler ON kullanicilar.id = siparisler.kullanici_id

PHP'de INNER JOIN Kullanımı


<?php
$baglan = mysqli_connect("localhost", "root", "", "stajveritabani");
$sorgu = mysqli_query($baglan, "
  SELECT k.ad, s.urun_adi
  FROM kullanicilar k
  INNER JOIN siparisler s ON k.id = s.kullanici_id
");

while($satir = mysqli_fetch_assoc($sorgu)){
  echo $satir['ad'] . " - " . $satir['urun_adi'] . "<br>";
}
?>

LEFT JOIN Nedir?

LEFT JOIN ile bir kullanıcı sipariş vermemiş olsa bile listede görüntülenebilir:


SELECT k.ad, s.urun_adi
FROM kullanicilar k
LEFT JOIN siparisler s ON k.id = s.kullanici_id

Karşılaştığım Zorluklar

  • Tablolar arasında doğru ilişki kurulmaması hata verdi
  • Aynı isimli kolonları çekerken alias (takma ad) kullanmam gerekti
  • LEFT JOIN ve INNER JOIN farkını pratik yaparak daha iyi kavradım

Genel Değerlendirme

Bu konuyla birlikte projelerimde daha doğru veritabanı yapıları kurabildim. JOIN komutları sayesinde karmaşık verileri sade bir şekilde çekebilmeyi öğrendim. Bu beceri, özellikle kullanıcı işlemleri, sipariş sistemleri ve raporlama gibi birçok modülde kullanacağım güçlü bir araç oldu.




Paylaş

Etiketler


Yorum Yok

    Bu Yazıya Hiç Yorum Yapılmamış. İlk Yorum Yapan Sen Ol !

Yorum Yap


Instagram