Uzman Cevap beta aşamasından çıkmaya hazırlanıyor! Yenilikleri takipte kalın.

Database table yapisi ile ilgili onerileriniz

Oncelikle herkese selamlar. Suan elimde bir proje var. Database-Tablo yapisinda kararsiz kaldim. Onerilerinizi bekliyorum.

Bir anket projesi dusunun. Projede "soru_bankasi" adinda bir tablo olacak. Bu tabloya farkli konularda atiyorum 100'er tane soru girilecek. 100 konu var ise 10000 soru yapar. (Minimum rakamlar veriyorum)

Daha sonra, kayit yapan uyelere bu soru bankasindan secilen 2-3 konunun sorularini cevaplamalari istenecek. Ama olay sadece soru-cevap'tan ibaret degil. Cevabi yeterli bulunmayan sorular kullaniciya tekrardan gonderilebilecek, verilen cevaplar belli bir sure saklanacak, verilen cevaplara gore grafikler gosterilecek vs. Yani sorulara verilen cevaplarin saklanmasi gerekiyor. Bu durumda,

Her bir kayitli kullanici icin bir tablo olusturmak mi daha mantikli, yoksa hepsini tek bir tabloda uye_id'sine gore saklamak mi?

Her bir kullaniciya tablo olusturulsa ve sistemde 500 kullanici olsa 500 tane tablo demek. Ama her bir tabloda veri sayisi az olacagi icin sistemin hizli calismasi demek. Tek bir tabloda toplansa, her bir kullaniciya 3'er konudan 300 kayit, 300 * 500 = 15000 kayit demek ki minimum rakamlardan bahsediyorum. Kullanici sayisi 5000 olsa, Soru sayisi 100.000 olsa, tum kullanicilarin ayni tablodan ayni anda yuzlerce sorgu yapmasi demek.

Sizce nasil bir yol izlenmeli?
Cevaplar (2)
0
Her kullanıcı için bir tablo açmak yerine kullanıcı isimlerine göre ayrı tabloda tutabilirsin. İsmi A ile başlayanlar A tablosunda M olanlar M tablosunda gibi.
1
Sorular için ayrı bir tablo, cevaplar için ayrı tablo. Cevaplar için de, uye_id, soru_id, cevap seçenekleri olabilir tablo. 1 id'sine sahip üye, 1000 id sine sahip soru için ne cevap vermiş, buradan bakabilirsin. Daha sonra bir de bellirli bir süre saklansın demişsin, cevap tablosuna bi de cevap tarihi verirsin, ya cronjob ile c panelden ya da manuel yaparım dersen bi' sorgu yazarsın, fi tarihinden eski olanları sil diyerekten, olayın çözülür. mesele sorgu ve hız meselesine gelirse, mysql de sorguları 10 tablodan da yapsan 1 tablodan da yapsan fark etmez o kadar. Bu tip bir proje için sunucu gerektiğinden fark etmez bence.
Cevap Yazın..

[code=css,php,sql,asp..]..kod..[/code] , [url=http:...com] , [img=resim linki]
[color=renk kodu]..yazı..[/color]

yabancı dizi izle tv ünitesi