Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 230 Pomógł: 36 Dołączył: 31.03.2006 Skąd: Zielona Góra Ostrzeżenie: (0%)
|
Witam.
Zastanawiam się nad sposobem przechowywania ocen w internetowym dzienniczku ucznia. Przechowywanie każdej oceny w oddzielnym rekordzie przy założeniu, że z aplikacji korzystać będzie ok 1000 szkół, jest dość problematyczne. Myślałem o podziale ocen na kolumny (z różnymi wagami - potrzebne do średnich warzonych). W każdej "kolumnie" 10 ocen. Kolumna przypisana byłaby do danego przedmiotu (w danym przedmiocie max 4 może 5 kolumn co daje ok 40, 50 ocen z przedmiotu). Każdy rekord zawiera informację o przedmiocie, uczniu, wadze oraz 10 ocen. Z ilością rekordów schodzimy 10-krotnie Co wy na to? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław |
A dlaczego obawiasz się liczby rekordów?
Tak z marszu, to pomyślałbym nad tym, żeby stworzyć tabelę "oceny - słownik" i w niej trzymać wpisy dotyczące dostępnych ocen. I teraz tak: Dodając uczniowi ocenę, zapisujesz w tabeli łączącej: IDwpisu, IDrocznika, IDprzedmiotu, IDSzkoly, IDucznia, IDoceny i datę wpisu. W tym momencie, największa tabela zawiera praktycznie same inty - przez co jest dość szybka do obróbki. Równocześnie (najlepiej procedurami SQLowymi - np. pl/pgSQL ) z dodaniem wpisu obliczasz średnią ocen dla ucznia, przedmiotu, szkoły, danego rocznika i czego tam jeszcze chcesz - baza to zrobi szybciej niż Ty ładując te dane do php, analizując i zapisując z powrotem. Dlaczego polecam zapisywać te wszystkie ID? Bo uczniowie czasami zmieniają szkoły - i w tym momencie nie dośc, zę będziesz mógł sprawdzić, jaką średnią ma uczeń w danej klasie, to jeszcze w danej szkole itp - możliwości analizy są nieograniczone. Bazy danych są po to, aby w nich przechowywać dane. Sprytnie zbudowana nadmiarowość i użycie procedur to automatycznego liczenia podstawowych przynajmniej danych może sprawić, że do uzyskania dowolnego wyniku wystarczy jedno, dwa zapytania - a przez to sama aplikacja też będzie szybka. |
|
|
|
woj_tas Struktura bazy danych - internetowy dzienniczek ucznia 26.05.2009, 12:01:10
woj_tas Do tabeli łączącej musiałbym zapisać jeszcze idKol... 26.05.2009, 13:54:15
scanner http://www.postgresql.org/about/
CytatMaximum Data... 26.05.2009, 14:25:29
woj_tas Witam
Przedstawiam strukturę bazy danych
R... 27.05.2009, 08:00:16
guciol Witam jestem nowy więc proszę o wyrozumiałość. Sch... 28.04.2011, 12:07:31
modic Cytat(woj_tas @ 26.05.2009, 14:54:15 ... 13.06.2011, 18:33:47 
scanner Cytat(modic @ 13.06.2011, 19:33:47 ) ... 20.06.2011, 16:03:33 
Sephirus Cytat(scanner @ 20.06.2011, 17:03:33 ... 30.06.2011, 07:24:10
#luq Cytat(scanner @ 26.05.2009, 14:32:51 ... 20.06.2011, 20:46:26 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 20:43 |