Merhaba,
ben bir önceki mailimde, sorulara cevapların elle yazılarak verileceğini 
düşünerek vermiştim.
Eğer çoktan seçmeli olacaksa o zaman önerim şu şekilde olacaktır.

tablolar:

sorular
(id, soru türü, soru metni...)

cevaplar
(id, sorular_id, cevap şıkkı, is_true, cevap metni...)


kullanici_cevaplari
(id, sorular_id, cevap_id, kullanici_id, is_true )

kolay gelsin

BARIS CUHADAR wrote:
> Kayıtları integer ve tinyint olarak tutarsanız, ve sadece gerekli 
> alanları ör: kullanıcı_id indexlerseniz, birkaç yüz milyon satır olsa 
> da problem mysql sorun çıkartmaz. Dummy veriler ile isterseniz test edin.
> Mucip'in vt tasarımı uygundur.
>
> Diğer arkadaşların önerdiği, doğru yanıtlanmış soruları kullanıcı için 
> karakter katarı gibi yazmak, size hangi  kaç kişinin şu soruyu doğru 
> yanıtladığı konusunda sorgu yapmak istediğinizde sorun çıkartacaktır, 
> sizi yavaşlatacaktır.
>
> Veritabanınız ne kadar atomize olursa o kadar rahat edersiniz.
>
> 21 Ocak 2010 16:24 tarihinde Erhan B. <[email protected] 
> <mailto:[email protected]>> yazdı:
>
>     Merhaba.
>
>         * bir database tablosunda en az 10.000 tane soru var
>         * sisteme giriş yapan her kullanıcıya 20 tane "rasgele" soru
>           sorulacak
>         * Doğru cevaplanan soru bir daha kullanıcıya "gösterilmeyecek"
>
>
>     Doğru cevaplanmış soruların bilgisini "her kullanıcı için ayrı
>     ayrı" nasıl tutmak verimli olur?
>
>     Örneğin 100 kullanıcı ortalama 500 tane soru cevaplamış olsa
>     50.000 kaydı tek bir tabloda tutmam gerekecek. Kullanıcı sayısı
>     arttıkça satır sayısı çok artabilir.
>
>     Ve bu iş için mySQL mi yoksa PostgreSQL mi daha uygun olur? mySQL
>     hızlı ama fazla satırlı tablolarda performansı PostgreSQL'e göre
>     kötü sanırım.
>
>     Performans sorunu yaşamak için deneyimli olanlarınızdan öneriler
>     bekliyorum. Teşekkürler.
>
>     ------------------------------------------------------------------------
>     Windows 7: Size en uygun bilgisayarı bulun. Daha fazla bilgi
>     edinin. <http://windows.microsoft.com/shop>
>
>     _______________________________________________
>     Linux-programlama mailing list
>     [email protected]
>     <mailto:[email protected]>
>     http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>     Liste kurallari: http://liste.linux.org.tr/kurallar.php
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Linux-programlama mailing list
> [email protected]
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>   


-- 
/**
  * @author Atıf CEYLAN
  * Software Developer
  * http://www.atifceylan.com
*/

_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap