Plan lekcji, jak zaprojektować tabele ?

0

Jak na razie próbuję zrobić w bazie MySQL tabele(tabele) w których zapisz plan lekcji. Potrzebne dane to: dni tygodnia (5), godziny i przedmioty oraz id klasy (jako klucz obcy) ale to wiadomo... jak to skonstruować ? I od strony HTMLa w selectach to porobić? bo w sumie jak inacze? Ma ktoś jakieś fajne pomysły na to ?

CREATE TABLE IF NOT EXISTS `ksiega` (
  `id` int(3) NOT NULL AUTO_INCREMENT,
  `ID_klasy` int(3) DEFAULT NULL,
  `godzina` int(6) DEFAULT NULL,
  `dzien` char(30) CHARACTER SET utf8 COLLATE utf8_polish_ci DEFAULT NULL,
  `nazwa_przdmiotu` char(30) CHARACTER SET utf8 COLLATE utf8_polish_ci DEFAULT NULL,
  PRIMARY KEY (`id`),
    FOREIGN KEY(`ID_klasy`) REFERENCES `klasy`(`id_klasy`) ON DELETE CASCADE ON UPDATE CASCADE  
) ENGINE=Innodb;

Jak najlepiej to zrobić? Zapisać cały plan zajęć w jednej tabeli? Czy w kilku ? Oddzielnie dni tygodnia, godziny etc?

1

Imho przydałyby się tabele słownikowe dla dni tygodnia, przedmiotów, klas i jeżeli godziny odbywania się zajęć są stałe to też dla godzin. Później w jednej tabeli trzymać cały plan zajęć np. (id_klasy, id_przedmiotu, id_dnia, id_godziny). Łatwo wtedy wyszukiwać konkretne informacje, nie będzie tak podatne na literówki w nazwach i łatwiej będzie dokonywać zmian. (np. jak jakaś przerwa się wydłuży, zmieni nazwa przedmiotu or whatever)

0

tak z ciekawości, plan dla każdej klasy wprowadzany ręcznie będzie, czy jakiś "automat" do rozdzielenia klas, nauczycieli i godzin dla całej szkoły?

0

ręcznie. każdy wychowawca rozdziela plan dla swojej klasy to wszystko, ale w sumie Twój pomysł jest lepszy...

0

Przecież jeśli każdy wychowawca sam będzie rozdzielał plan dla swojej klasy, to w efekcie uczniowie i nauczyciele będą musieli być w kilku miejscach jednocześnie.

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