Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: projekt bazy
Forum PHP.pl > Forum > Bazy danych > MySQL
nrm
Witam!

Mam nadzieję, że tutaj znajdę specjalistów, którzy pomoga mi zaprojektować dobra baze pod serwis. Siedze nad tym juz kilka dni i jakos nie moge dość do końca.

Założenia:
------------
super pieknie zoptymalizowane pod tysiace userów dziennie

schemat dzialania zbyt zamieszany aby to teraz po kolei tłumaczyć więc przyrównam to do systemu testów gdyz jest to bardzo podobne w schemacie.

wiec user ma miec mozliwosc ulozenia testu wg. schematu:

I. Nazwa + opis testu
1. do 20 pytan
a) wraz (0)
cool.gif z (5)
c) odpowiedziami (0)
d) i punktami (0)
2. i nastepne pytanie
a) itd.

a drugi user ma za zadanie wypelnic taki test i otrzymac wynik.

I mam problem jak to teraz rozplanowac po tabelach majac na uwadze szybkosc dzialania serwisu. do tego nie wiem ile user wypelni pytan (max 20) a czytalem ze robienie NULLowych pol w tabelach zarznie mi bazę. a znow rozrzucajac kazda jedna rzecz na osobna tabele robie niezle zamieszanie przy robieniu UDATE.

Bede niezmiernie zobowiazany za każda pomoc.
pozdrawiam
nospor
NO w takim przypadku to nasuwa mie się takie rozwiązanie:
Tabela TEST:
Cytat
ID | NAZWA | OPIS | ....inne


Tabela PYTANIE:
Cytat
ID | Pytanie | ID_TEST (klucz obcy do tabeli TEST)


Tabela ODPOWIEDZ:
Cytat
ID | Odpowiedz | Punkty | ID_PYTANIE (klucz obcy do tabeli PYTANIE)


Taka struktura spowodowana jest tym że nie wiesz do konca ile bedzie odpowiedzi dla pytania i nie wiesz ile pytan będzie w tescie (teraz niby max. 20 , ale nagle sie okaze ze 21 i co? ). Po za tym trzymanie w tabeli full niepotrzebnych pustych pol to bez sensu. poza tym sobie nie wyobrazam tych pustych pol. że niby tabelka test, w niej 20 pol na pytania i teraz i le trzeba porobic pol na odpowiedzi? przyjumujac ze max 5 odpowiedzi to by trzeba jeszcze dorobic 100 pol na odpowiedzi. bez sens.

Model który przedstawilem chyba jest w miarę sensowwny (innego jakoś nie widzę)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.