v2.5.2
Giriş yap

veritabanında ilişkiler neden kullanılır.

hasaneryilmaz
517 defa görüntülendi ve 2 kişi tarafından değerlendirildi

mesela site adında bir veritabanımız var kullanıcılar adında bir tablomuz var bunun ksira kadi gibi sütünları var ve blog adında bir tablomuz ve bsira bicerik ve ksira adında sütünlarımız var bunlardan düşündüğünüz üzere kullanıcılar.ksira ile blog.ksira birbiriyle ilişkili bunu veritabanın ilişkilendirmeden php tarafında yada diğer back-end kodlar tarafında inner join yada join ile sağlayabiliryoruz.peki bu veritabanındaki ilişki görünümünde bu iki tabloyu birbirine bağlamamız bize ne sağlar.

Cevap yaz
Cevaplar (4)
rephp7
1025 gün önce

@aydinkeskin hocam, şu cümlenizdeki "çöp kutusu mantığında 2. bir sql e taşıyorum sildiğim verileri böyle bir ihtiyaç olduğu takdirde..."
olayı bir soru başlığı açıp anlatır mısınız?
çok ilgimi çekti öğrenmek istiyorum.

aydinkeskin
1025 gün önce

ilişki durumu yapıya göre değişebilir. bazen silmek iyi birşey değildir performans olarak etkilebilir
ama söyle düşünürsek üyeliği bulunan bir kişi ile hukuki yaptırımlar içerisine girerseniz yazıların veya içeriklerin ona ait olduğunu ıspat etmekle
hükümlü olursunuz backup da mevcut değilse elinizde hiç birşey kalmaz

insalık hali olabilir x üyeyi sileceğinize y üyeyi silebilirsiniz ve bütün verilen lap diye gidebilir.
ben genelde bu işlemleri kod tarafında yapıyorum çöp kutusu mantığında 2. bir sql e taşıyorum sildiğim verileri böyle bir ihtiyaç olduğu takdirde
basit sitelerde gerek olmayabilir ama komplike sistemlerde böyle şeyleri çok iyi düşünmek gerekiyor
eskiden her öğrendiğimi yaptığım işlerde yapmak hissiyatı doğardı bu çok yanlış

her iyi şey bazen en felaket durumlar doğurabilir.

fatihozpolat
1025 gün önce

diyelim 1 numaralı kullanıcı var ve blog yazılarının olduğu tablonun kullanıcılar ile kullanıcı id si üzerinden ilişkisi var,

bu durumda olmayan bir kullanıcıya ait blog eklenemez hata verir,
on delete cascade yapılmışsa kullanıcı silindiğinde blog yazısı/yazıları da otomatikman silinir,

kısacası düzen ve kolaylık sağlıyor.

örnek vermek gerekirse 5 tablo kullanıcı ile ilişkili ise sadece kullanıcı silindiğinde anda 5 tabloda veriler silinicek diğer türlü toplamda 6 sorgu yazmak gerekecek.

rephp7
1026 gün önce

sorunun cevabı içinde gizli.
eğer ilişki kurmadan iki tabloyu inner join ile bağlarssn verilerin karma gelir.
fakat kullanıcı sıra ile blogdaki ksira birbiriyle eşse o zaman her kullanıcının ilişkili olduğu blog yazılarının başlığını doğru eşleştirme ile alırsın.
ayrıca benimde yeni öğrenmeye başladığım foreign key mantığı kurup birinden ilgili kaydı sildiğin zaman diğer tablondaki ilişkili verin boşa düşmesin diye onuda aynı anda sildirebiliyormuşsun.
tablolar arası ilişkilendirme veriler açısından düzen sağlar. Diğer türlü karma anlamsız veri yığını içinde kalırsın.