Projektowanie tabel dziennik szkolny

0

czy mogli byscie mi to sprawdzic? Aha i nie mam pojecia jak zrobic nieobecnosci.

06ae13488d083368.jpg

1

Uczeń ma tylko jednego opiekuna? Zazwyczaj jest dwójka rodziców i każdy najczęściej jest równoprawnym opiekunem.
Nie rozumiem opis_oceny. 5,4+,3- wymagają jeszcze opisu? Ewentualnie można trzymać także id nauczyciela przy ocenie. Jeśli jest zastępstwo, żeby było wiadomo kto jaką wystawił.
id_nauczyciela w klasa rozumiem że to wychowawca.
Przedmiot jest źle wymyślony.
Masz listę przedmiotów: matematyka, j. polski, chemia, ...
Konkretny nauczyciel przyporządkowany jest do nauki konkretnego przedmiotu w konkretnej klasie.

Przedmioty
Id
Nazwa

Nauczyciele
Id
Imię
Nazwisko

Nauczanie
IdNauczyciela
IdPrzedmiotu
IdKlasy
LiczbaGodzinWTygodniu

Nieobecności.
Dla każdej klasy powinieneś mieć plan lekcji, aby wiedzieć kiedy uczeń danej klasy powinien być w szkole. Uwzględniając że mogą być zajęcia nieobowiązkowe, np. religia.
Do tego przydałby się kalendarz roku szkolnego, aby wiedzieć w które dni powinny być lekcje, a w które nie. Uwzględniając opcję że czasem w jakiś dzień odrabiany jest inny i idzie się planem z innego dnia tygodnia.
Następnie wystarczy trzymać nieobecność tak: IdUcznia, GodzinaLekcyjna, Obecność (np. 1 był, 0, spóźnił się, -1 nie było). Ewentualnie jeśli spóźnień nie chcemy trzymać oraz obecności, a tylko nieobecności, to wystarczy pierwsze dwa pola trzymać, czyli uczeń i godzina lekcyjna.

0

Najlepiej umieść rodziców/opiekunów/nauczycieli do jednej tabeli.

0

Nie jestem do końca przekonany czy mieszanie nauczycieli z opiekunami to najlepszy pomysł. Równie dobrze można powiedzieć że uczeń to też osoba i generalnie na osoby można mieć jedną tabelę.
Nauczyciel to pracownik, a opiekun to petent/klient. Można rozważyć pomieszanie tego, ale pytanie czy duży zysk będzie z tego że jedna osoba może występować w roli zarówno nauczyciela jak i opiekuna, czy raczej będzie to niosło więcej problemów? Uważam że dla kogoś początkującego będzie stanowiło to spory kłopot na poziomie bazy i zapytań, jak i implementacji aplikacji.

0
massther napisał(a)

Nie jestem do końca przekonany czy mieszanie nauczycieli z opiekunami to najlepszy pomysł. Równie dobrze można powiedzieć że uczeń to też osoba i generalnie na osoby można mieć jedną tabelę.
Nauczyciel to pracownik, a opiekun to petent/klient. Można rozważyć pomieszanie tego, ale pytanie czy duży zysk będzie z tego że jedna osoba może występować w roli zarówno nauczyciela jak i opiekuna, czy raczej będzie to niosło więcej problemów? Uważam że dla kogoś początkującego będzie stanowiło to spory kłopot na poziomie bazy i zapytań, jak i implementacji aplikacji.

Wiesz wydaje mi się, że dla przejrzystości bazy danych mój pomysł jest ok. Chociażby tak:

OSOBY 
O_ID 
O_IMIE 
O_NAZWISKO 
O_PLEC 
O_DATA_URODZENIA 
O_MIEJSCE URODZENIA 
O_PESEL 
O_ADRES_ZAMELDOWANIA_KOD_POCZTOWY 
O_ADRES_ZAMELDOWANIA_MIASTO 
O_ADRES_ZAMELDOWANIA_ULICA_NAZWA 
O_ADRES_ZAMELDOWANIA_ULICA_NR 
O_ADRES_ZAMELDOWANIA_MIESZKANIE 
O_ADRES_ZAMIESZKANIA_KOD_POCZTOWY 
O_ADRES_ZAMIESZKANIA_MIASTO 
O_ADRES_ZAMIESZKANIA_ULICA_NAZWA 
O_ADRES_ZAMIESZKANIA_ULICA_NR 
O_ADRES_ZAMIESZKANIA_MIESZKANIE 
O_NAZWA_NR_DOKUMENTU_TOZSAMOSCI 
O_ID_DOKUMENTU_TOZSAMOSCI 
O_LEG_ID  
O_NR_LEGITYMACJI_SZKOLNEJ 
O_NR_TELEFONU_STAC 
O_NR_TELEFONU_KOM 
O_EMAIL 
O_ID_STATUS_PRAWNY 
O_ID_TYTUL_NAUKOWY 
O_ID_FUNKCJA_OSOBY 
 
0
Filus napisał(a)

Wiesz wydaje mi się, że dla przejrzystości bazy danych mój pomysł jest ok.

A mi się wydaje, że tak najogólniej rzecz biorąc, próbujesz rzeczy proste uczynić skomplikowanymi. Zarówno opiekunowie, jak i nauczyciele, to ludzie z krwi i kości, ale z punktu widzenia logiki systemu to zupełnie różne encje, nie mające ze sobą nic wspólnego. Natomiast wprowadza to sporo komplikacji, bo:

  1. Albo trzeba pilnować w każdym raporcie, na każdej liście, gdziekolwiek gdzie się pojawiają opiekunowie/nauczyciele, żeby pojawiały się tylko ci z właściwej grupy (domyślam się, że po O_ID_FUNKCJA_OSOBY),
  2. Albo trzeba stworzyć dwa widoki na tabeli z osobami: sami nauczyciele i sami opiekunowie.
    Wydajnościowo też raczej nie zyskujemy, bo np. chcąc znaleźć nauczyciela X musimy przebrnąć przez tabelkę, w której jest również cała masa opiekunów. Poza tym Twój pomysł nie rozwiązuje zupełnie pewnego problemu (w praktyce mało istotnego, ale zawsze), który uzasadniałby trzymanie opiekunów i nauczycieli razem - jeżeli nauczyciel jest równocześnie opiekunem, to i tak musimy go wprowadzić dwa razy, bo jest tylko jedno pole O_ID_FUNKCJA_OSOBY. Żeby to rozwiązać, trzeba by było dodać nową tabelkę z funkcjami osoby.
    Potrafię sobie wyobrazić sytuację, gdy jedna tabela miałaby sens. Np. gdybyśmy musieli zaimplementować jakąś wspólną politykę bezpieczeństwa danych osobowych, to w ten sposób byłoby wygodniej. Albo gdybysmy robili raporty, na których miały by być wszystkie osoby mające związek ze szkołą. Albo gdyby częsta była sytuacja, gdy opiekunowie są nauczycielami (z zastrzeżeniem z poprzedniego akapitu).
    Ale tak ogólnie - nie polecam ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1