Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Struktura bazy danych - internetowy dzienniczek ucznia, Schemat przechowywania ocen uczniów
woj_tas
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
scanner
post
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.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.12.2025 - 20:43