Próbuję zrobić w PHP “aplikację” ala elektroniczny dziennik uczniowski. Jak wiadomo, podstawą tego projektu jest baza danych. Kiedyś już przerabiałem ten temat i największy problem stwarzało mi przypisywanie uczniów do klas, wychowawców do… no właśnie, nie wiedziałem czy wychowawca ma być przypisany do klasy czy do ucznia.
Chciałbym aby ktoś doświadczony zerknął na to okiem i wytknął mi błędy.
Wg mnie do ucznia powinna być przypisana klasa, a do klasy wychowawca. Wtedy było by to bardziej logiczne.
Zrobiłbym to chyba jeszcze trochę inaczej - zamiast tabeli “wychowawcy”, zrobiłbym “nauczycieli”. Do uczniów przypisałbym klasę, do klasy nauczyciela (jako wychowawcę). Do oceny też powinien być przypisany nauczyciel, a do nauczyciela przedmiot (z uwzględnieniem, że jeden nauczyciel może uczyć kilku przedmiotów - więc może jakaś dodatkowa tabela łącząca nauczycieli z przedmiotami).
Tabelę z ocenami traktuje jako słownik, w którym przechowywane są wszystkie możliwe do wystawienia oceny - dzięki temu nie wpisujemy nadmiarowych danych do bazy.
Podobnie ma się sprawa z tabelą nauczycieli i przedmiotów. każdy musi być wpisany tylko raz.
Założyłem, też że jeden nauczyciel może prowadzić wiele przedmiotów, a z każdego przedmiotu można dostać wiele ocen.
Rodzaje pól, a szczególnie ich rozmiary nie są do końca przemyślane, nie analizowałem, aż tak szczegółowo.
Generalnie cała koncepcja jest dosyć prosta, bo nie przewidujemy w tym np zmiany wychowawcy klasy - znaczy da się zmienić, ale nie będziemy mieli historii.
Kurde nie wiem w jaki sposób ale wyłączyła mi się subskrypcja przez co myślałem, że ani w tym ani w innym moim temacie nikt nie odpowiedział… Dostałem przez to ostrzeżenie od moderatora przy okazji :D Dziś się dowiedziałem, że ktoś odpisał jak przypadkowo wygooglowałem swój topic.
Wracając do tematu, naniosłem na te moje “wypociny” poprawkę i teraz wygląda to tak
W moim projekcie, od wpisywania ocen jest wychowawca dlatego nie mam tabeli nauczycieli :D, historię chcę mieć wiec niestety niektóre dane będą musiały się powtarzać.