ASP Arkadas Listesi Olusturma Mantigi
Bugune kadar sitede genel anlamda hep kod verdim. Bu kodlar inaniyorum ve biliyorum ki bir cok okuyan takipcimin isine yariyor, kullaniyor. Fakat her zaman kod vermek dogru olmayabiliyor. Bu paylasimda size yine kod vericem fakat agirlikli olarak mantigindan bahsedecegim.
Dedigim gibi ASP veya herhangi bir dilde uyelik sistemi yaziyorsaniz olmazsa olmazlarindan biri arkadaslik mevzusudur. Arkadaslik icin kod yazarken mantigini olusturmak ve size en uygun olan sistemi secmek lazim.
Genelde kullanilan iki yontemden bahsedicem /* zaten bildigim baska bir ekleme yontemi yok (: */
1- Veritabanina Ikiserli Ekleme Yontemi
Anlatacagim yontemlerden birincisi veritabanina her kullanici ve arkadasi icin birer kez kayit girmek. Bu yontem cok saglik ve/ya cok kolay akla geliyor olabilir fakat dusununki siteniz cok tuttu. Uye sayiniz 100.00 (yuz bin) sinirini gecti. Boyle bir sitede uyeler arkadas eklediklerinde ve biz her uyenin sadece 1 arkadasi oldugunu dusunursek toplam arkadas tablomuzda 100.000 satirlik veri girisi olacaktir. Simdi bunu veritabani uzerinde nasil olusturacagimiza bakalim (istediginiz kodlama dilinde istediginiz veritabanini kullanabilirsiniz sonuc olarak butun diller farkli olabilir ama mantik ayni):
Resimde de gorundugu gibi arkadaslar isimli tablomuz var ve bu tablo icinde id, ekleyen, eklenen, onay isimli alanlarimiz var. (Normalde ben ekleyen/eklenen uyelerin id lerini yazdiririm fakat burda rahat gorulmesi acisindan bu sekilde uyguladim.) Burda ayberk isimli uye atasay isimli uyeye ekleme talebi yolladiginda ust satir ekleniyor ve onay kismi F olarak ataniyor. (burda F=False/Yanlis, T=True/Dogru anlami tasiyor. Veritabaninda bu tarz ozellikler var otomatik atayan ama ben bu sekilde kullanmayi uygun goruyorum.) Daha sonra atasay isimli uyemize giris yapinca burdaki 'F'nin yardimiyla yeni bir arkadaslik talebi oldugunu yazdiriyoruz. Bunu cekebileceginiz SQL kodu;
Bu kod ile atasay isimli uyemize yeni bir arkadaslik teklifinin olup olmadigi kontrolunu yapiyoruz. Bu gelen teklifi atasay isimli uye onaylarsa veritabanindaki onay alani degerini 'T' olarak degistirip ayni zamanda kendisinin de arkadasi oldugunu gosterebilmesi icin ekleyen=atasay, eklenen=ayberk, onay=T olarak yeni kayit giriyoruz. En son ayberk'in sayfasindaki arkadaslarini listeletmeye geliyor. Onun icinde kullanilacak kod;
Bu yontem bu kadar basit ve kullanisli fakat veritabanini fazla yormamak ve daha stabil kullanabilmek icin diger yonteme geciyorum..
2- Veritabanina Tekli Ekleme YontemiIkinci yontem ise aslinda ayni mantik uzerinden giden sonra birazcik daha karisan bir yontem, fakat gozunuz korkmasin bu yontemde gayet basit. Baslarda yazdigim gibi bir onceki yontemde 100.000 uyelikli bir sitede sadece birer arkadasi olsa toplam 100.000 satir olusacakti. Fakat bu yontemle tam 50.000 satir tasarruf edebiliyoruz.
Resimde gorundugu gibi burda tek bir satirda iki uyenin arkadasligini dogrulamis olabiliyoruz fakat bu sefer arkadas listeleme ekranimizdaki kodlar biraz daha karmasik hal alabiliyor. Bu sefer yine ayberk isimli uye atasay isimli uyeyi ekliyor. Ardindan bu uye kabul ederse onay kismini 'T' olarak guncelliyor ve arkadasliklari baslamis oluyor. atasay isimli uyenin teklifi olup olmadigini yukaridaki kodu kullanarak (ilk yazdigim) cekebiliyoruz. Simdi ise daha karmasik gibi gorunen fakat gayet kolay bu yontemle arkadas listeleme icin gerekli SQL kodumuzu olusturuyoruz;
Burda kullandigimiz mantik su;
Eger bir kullanici uye eklerse bunu ekleyen yardimiyla buluyoruz. Fakat bir uye sadece eklemeyebilir, diger uyeler tarafindanda eklenebilir bu yuzden or sonrasinda eklenen kismi ayberk olanlari da kontrol ettiriyoruz.
Iste bu isin mantigi karmasik gibi gorunse de gayet basit. Umarim bu konuda biraz kafanizda soru varsa veya yeni birsey ogrenmenize yardim edebilmisimdir.
- personAyberk Atasay
- calendar_monthFebruary 3, 2009
- categoryASP
- sharepaylaş
