tam anlamamakla beraber sorduğun şey mysql join olabilir mi hocam black implies white, self implies other, life implies death.

Yaklaşık 250 tablo bulunan relation bir DB düşünün, rnek senaryo: 2015 Yılı, -YIL O yılda ki futbol takımları, -TAKIMLAR Futbol takımlarından herbirinin oyuncuları, -OYUNCULAR Oyuncularının nceden oynadıkları takımlar, -ESKİTAKIM Yukarıda yer alan her satır ayrı birer tabloya karşılık geliyor. Bunlar yukarıdan aşağıya bağlantılı şekilde tutulmakta. Bir servis yazıyoruz, Adamın oynadığı eski takımlardan birini -yani en son tablodan- veri silmek veya güncellemek istiyoruz. Servis kısmını düşünelim. Bu verilerin hepsi ekranda bağlantılı butonlara tıklayarak gsteriliyor. Ekrandan bir veri silme veya güncelleme için gnderildiğinde 2 ihtimal var gibi grünüyor. Ya her tablo için CRUD metodları yazılacak, Yada tek bir metota gelen parametrele gre, tablodan tabloya erişim sağlanacak. Ayrı metotlar yazıldığında, ortada ki bir veriyi sildiğimizde, üstünde ki ve altında ki bağlı tabloları da ayrıyeten düşünmek gerekecek. Buda bağımsız ve çok metoda yol açıyor. Tek bir metotdan en alta kadar tablolar ayarlanarak parent dan childa inildiğinde ise kocaman bir soru meydana geliyor. Kısaca bağlı tablolar arasında, ne tür bir yntem veya bir tasarım metodu, CRUD işlemini etkin hale getirebilir. zeybekustasi tarafından 24/Tem/15 19:19 tarihinde düzenlenmiştir https://www.youtube.com/watch?v=WC3-71NKwPw

simdi bu oldukca fazla gordugum bir sey: simdi bunlar yukaridan asagiya bagli demissin ama biraz tutarsiz geldi o. onun disinda mesela diyorsun ki bir oyuncuyu silecegim o zaman onceden oynadiklari takimlari falan silsin? - bunun icin player, team, year senin dictionary tablolarin. yani definition yapilmis gruplar. - eski takim, bu yilki takim falan da senin fact grubun yani olusturulmus data. - bunlari boyle dusunerek en mantiklisi foreign key verip delete on cascade yapmak. yani eger player table'indan biri silinirse tum bu yil ve eski yil takim oyuncunlarindan da otomatik silinir. sadece eski takim silinirse oyuncuya dokunmazsin. - ha diyorsun bunlari yapma sansim yok o zaman ben genelde tek transaction acip kendi logic sirami olusturarak siliyorum. Basit bir ornek olarak verirsek: transaction. begin ; transaction. deleteRow ; transaction. deleteRow ; transaction. end ; ilk satirda user yetkileri silinmis. sonra da user'in kendisi siliniyor cunku buyuk ihtimalle yetkileri foreign key vermisler ve direkt user'i silemiyorsun. bu aslinda sakat bir yaklasim cunku tutup yetkileri sildin ama useri bir sekilde silemedi o zaman adam ortada kaliyor. bu gercek hayatta nasil olabilir? diyelim mi her user grubu kendi yarattigi userlari siliyor. sen eger priv silerken user yetkisini check etmeyip sadece user kisminda yaparsan bu durumu yasarsin. ozet olarak alakali datalari cok iyi kontrol et acik cikmasin sonra. ama bence en temizi uygunsa yapiniz foreign key delete on cascade ver gitsin. ayrica daha once 2-3 kere bu tablo yapisini kurdum. genelde benim tercihim season bazinda kadro olusturmak seklindeydi. A takimi B takimi player1 player2 2014-2015 kadro: A takimi - 2014-2015 player1 A takimi - 2014-2015 player2 gibi kurunca hem takim kadrolari hem de oyuncunun gecmis takimlari sezonlari ile birlikte kullanmasi kolay oluyordu. eger yanlis anlamadiysam derdin bu galiba. degilse detayli da pm'den sorabilirsin

Soru su aslinda buyuk bir proje var burada sorgular uzun, 5 tablo birbiriyle iliskili diyelim. 3. Tablodan bir verinin silinmesi ile 5. Tablodan veri silinmesi icin tek bir silme metodu kullaniliyor. Hani sen 3. Tablodan siliyon ama metot tek oldugu icin metodun icinde sorgunun 3. Tabloya ait oldugunu anlaman uzun satirlara if else lere yol aciyor. Merak ettigim nokta su baglantili tablolarin her birinde ekle sil yapilmasi icin tek bir metot mu yazmak lazim yoksa her tablodan veri silmek icin ayni metotlar mi yazmak lazim. Ekranin biri 5 tablo kullaniyor diyelim 5 ide ekranda listeleniyor 4. Tabloya ekleme yapilacaksa ortak olan ekle metodu kullaniliyor. Hani 4 e ekledigini icerde anliyosun. Oysa direk 4 e eklede diyebilirsin. Hangisi etkin konu bu. Umarim daha iyi aciklamisimdir. zeybekustasi tarafından 24/Tem/15 23:10 tarihinde düzenlenmiştir https://www.youtube.com/watch?v=WC3-71NKwPw

tam anlamamakla beraber sorduğun şey mysql join olabilir mi hocam Db nemli ise Mssqgl kullanılıyor. Konu join yapmak değil. İşlemleri ortak metottan mı yapmalı ayrı metotla mı yapmalı. https://www.youtube.com/watch?v=WC3-71NKwPw

yeni geldim eve sonra bakacağım soruna ama kısaca anladığım kadarıyla ilişkisel bir şeyler istiyorsun.. o yüzden nosql çzümleri sana gitmez.. onun haricinde join olayı çok fazla cost u olan bir fonksiyondur, o sebeple sorguyu düzgün yazmak nemlidir, ilk başta elde edeceğin tablo min. olmalı ondan sonra join işlemini yaptırmalısın.. iki tip sorgu planı var, mantıksal ve fiziksel, bunları gznüne alarak cost hesaplaması yapman ve en az costu hangi tip veriyorsa onu kullanmak nemlidir. diğer bir nemli faktrde indexing olayı. neyse 3 tip join var ve bunların costlarına bak tabi bu resimlerle pek anlaşılmıyor.. ancak burada tablolar var. istersen slaytları verebilirim sana.. kendin çzmeye çalışabilirsin en verimli şekilde... Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Hocam açık syleyeyim soruyu tam anlayamadım anladığım şey şu. Bir birine bağlı tablolarda silme ve güncelleme yaptığınızda diğer tablolar nasıl otomatik olarak etkilenir bu mu? Reletional database sistemlerinde foreign key yapısında ON UPDATE veya ON DELETE gibi kavramları var. Mesela referans alınan satır silindi, ON DELETE ile bağlı bulunan satırında silinmesini otomatik olarak RDBMS'e yaptırtabiliyorsun. Soruyu daha iyi açıklarsan sevinirim. Zira şu an pek kafam algılayamıyor soruyu. 250 TAblo var bu tablolar biribiri ile ilişkili. Ne yapabiliyorsunuz, ne yapmak istiyorsunuz, ne yapamıyorsunuz tam anlayamadım k. surama bakma. DrKill tarafından 24/Tem/15 23:51 tarihinde düzenlenmiştir Bu imzayı her grdüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı smürmektir