MySQL - Proszę o ocenę bazy do elektronicznego dziennika

Witam.

 

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. 

7483517700_1393254872_thumb.jpg
Ma ta baza jakiś sens?

Klasa powinna też być powiązana z uczniem

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).

To raczej uczeń powinien należeć do klasy a nie odwrotnie :stuck_out_tongue:

Dodatkowo jeszcze do nauczyciela powinien być przypisany przedmiot :slight_smile:

Tak na szybko moja propozycja:

ab2ca203476f1ea7m.jpg

 

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

6766364200_1393423618_thumb.jpg

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ć.