Öncelikle merhabalar,
Merak ettiğim bir şey var. Arkadaşlık sitelerinde facebook yonja vs. tarzı sitelerde kim kimin arkadaşı gibi bilgilerin bulunduğu veritabanında ki tablo nasıl şekillendiriliyor acaba? Birde atıyorum 10 adet arkadaşım var.. Profilime girdiğimde onların yaptığı son aktiviteleri görüyorum. Bu tarz bir sorgulama nasıl yapılıyor..? Umarım anlatabilmişimdir..
Cevaplarınızı bekliyorum..
Herkese kolay gelsin..
Arkadaşlık sitesi veritabanı yapısı nasıldır?
11
●3.637
- 21-05-2009, 14:37:13Üyeliği durduruldumesela ali diye uye var onun yanina bir sutun daha açıyorsunuz ve arkadaşlarının idsini kaydediyorsunuz daha sonra sorulama yaparken sql de where komutu ile listeleme yapıyorsunuz.en basiti bu şekilde.öteki olayda session ile yapılıyor tabi üzrinde çalışmak lazım. şimdi aklıma gelenler bunlar kolay gelsin
- 21-05-2009, 15:30:35bu iş için 2 tablo oluşturabilirsin.atkadaşlık tekliflerinin tutulduğu tablo ve arkadaşlığın tutulduğu tablo.
tablo1 : arkadas_talep
alanlar: id,gonderen_id,gonderilen_id
-------------
tablo2 : arkadaslik
alanlar : arkadaslik_id,uye_id,arkadas_id,tarih
-------------
arkadaşlık teklifleri arkadas_talep tablosuna eklenir.karşıdaki teklifi kabul ederse veriler arkadaslik tablosuna aktarılır ve arkadas_talep tablosundan silinir.daha once aynı kişiye teklif gönderip gönderilmediğini de arkadas_talep tablosundan sorgulatırsın.
Bu işlemi tek tabloda da kabul durumunu kontrol edeceğin alan ekleyerek yapabilirsin.Ama ben 2 tabloda yapmayı tercih ederdim şahsen.
Kolay gelsin - 21-05-2009, 15:38:07Üyeliği durdurulduyapıyı karşılıklı düşünürsen ben senin arkadaşınım sen benim arkadaşımsın.
yani bir tabloda iki kayıt olarak düşünebilirsiniz.
birde bunların durumu diye bir alan oluşturursaniz. ilk talep gönderilince
id
kim
kimin
durum
gibi tabloya
'',1,2,0
'',2,1,0
gibi kaydedersiniz.
onay durumunda durum flagini 1 yaparak arkadaşlığı aktif etmiş olursunuz
gibi gibi.
yapı çift taraflı olduğu için iki kayıt gibi hareket etmezseniz kimin kimin arkadaşı olduğunu bulmak arap saçına döner - 21-05-2009, 15:47:35Cevaplarınız için çok teşekkürler arkadaşlar.
Olayı biraz anladım ama peki bir arkadaşlık sitesinde 10000 lerce üye ve bu üyeler arasında da yüzbinlerce arkadaşlık bağlantısı olacaktır. Bu şekilde hazırlanmış bir tablo yapısı yeterince performanslı olur mu?
Bir diğer sorum da tamam bu şekilde altyapıyı oluşturduk. Şimdi mesela benim 50 tane arkadaşım var. Ve bu 50 arkadaşın son aktivitelerini tarih sırasına göre sıralamak istiyorum. Bunu nasıl yapcam..? Örneğin ahmet mehmetle arkadaş oldu. osman hayrinin duvarına yazdı. ayşe hasana rakı yolladı vs gibi.
Umarım anlatabilmişimdir
not: forumda buna benzer bir konu bulamadım. o yüzden verilecek cevaplar oldukça önemli bir referans olacaktır diğer üyeler için. - 21-05-2009, 15:54:34Üyeliği durdurulduzaten bu tabloyu ilk aşamada kullanacaksin.NaCReS adlı üyeden alıntı: mesajı görüntüle
örnek sorgu oluşturacak olursan iç içe sql kullanabilirsin
select * from yazilar where sahip in (select kim from arkadaslik where kimin = '3');
gibi gibi - 21-05-2009, 16:19:20Üyeliği durduruldusub query diye geçer. bu şekilde aratirsaniz daha doyurucu kaynaklar bulabilirsiniz.NaCReS adlı üyeden alıntı: mesajı görüntüle
başlı başına bir konu zaten
