Tartalomjegyzék
Az órarend
Koncepció
Az órarend alapvetően két táblát jelent a tanév adatbázisban: orarendiOra
és orarendiOraTankor
.
Az előbbi tartalmazza tulajdonképpen a lényeget, azt, hogy kinek mikor, kivel, hol van órája. De annak érdekében, hogy a rendszer kellőképpen rugalmas legyen külön táblában rögzítjük, hogy melyik óra melyik tankörhöz tartozik.
Ez a szerkezet lehetővé teszi például azt, hogy az órarendet betöltsük úgy, hogy a tankörök listája még nem teljes. Majd az órarendi bejegyzések tankörökhöz való hozzárendelése során derül ki az, hogy esetleg hiányzik egy-két tankör - amit felvéve rendeződik minden.
Praktikus lehet olyan esetben is ez a szerkezet, amikor az órarend készítése során egy tankör óráit különböző jelölésekkel látjuk el. Például a RoPaSoft órarend késtítő programban is kellett ilyen trükköket használni, ha adott esetben egy 5 órás matematika órái úgy álltak elő, hogy 3 órát egy fakultációs sávból vettünk, a másik kettőt meg külön.
Az adattáblák
A mese után akkor a táblák:
orarendiOra
orarendiOra(het, nap, ora, tanarId, osztalyJel, targyJel, teremId, tolDt, igDt)
Egy rekord egy órarendi órának az adatait tartalmazza. A hét mező akkor érdekes, ha több hetes az órarend, mondjuk van A-hét és B-hét. A
táblában persze nem A és B, hanem egy sorszám, 1 és 2 fogja ilyenkor jelölni, hogy a bejegyzés melyik héthez tartozik.
Egyhetes órarend esetén a het
mező értéke konstans 1 lesz.
A nap
a hét napját jelöli: hétfő 1, …, péntek 5, esetleg szombat 6.
Az ora
azt hiszem nem igényel magyarázatot - az adott napon hanyadik tanítási óra.
A tanarId
a tanár azonosítója a MaYoR rendszerben. Ez a szám sok helyen megjelenik a tanár neve mellett zárójelek között a felületen, illetve
kiolvasható az intézményi adatbázis tanar
táblájából. Akármilyen formában töltjük be az adatokat, mindenképp szükséges, hogy ezt az
azonosító számot betöltés közben, vagy betöltés előtt kiderítsük, hisz a mező értéke csak létező szonosító lehet (külső kulcs a tanar
tábla megfelelő mezőjére).
osztalyJel
és targyJel
:
Ezek a mezők lényegében kötetlen tartalmúak. Az adott órarendkészítő program sajátosságai szerint tölthetők ki, bár szerencsés, ha a
tartalmukból könnyen lehet következtetni a jelölt tanulócsoportra. Ami fontos velük kapcsolatban: a (tanarId
, osztalyJel
, targyJel
)
hármas lesz az a kulcs, amihez egy-egy tankört hozzá lehet rendelni. Ez akkor lehet esetleg gond, ha egy tanár ugyanabban az osztályban két
csoportra bontva tanít egy tárgyat, mert ilyenkor figyelni kell, hogy a jelölésben valahogy megkülönböztessük a két csoportot. Pl a
targyJel
-hez egy sorszámot illesztünk: mt1
, mt2
.
Az nem okoz gondot, ha egy tankör óráit többféle jelöléssel is illetjük. Például a fakultációs sáv órái mtFakt
, az alapóra mt
jelölést kap.
Két különböző (tanarId
, osztalyJel
, targyJel
) hármashoz rendelhetjük ugyanazt a tankört.
teremId
: értelemszerűen a terem azonosítója a MaYoR rendszeren belül - kiolvasható az intézményi adatbázis terem táblájából. Ha nem akarunk
termet megadni, akkor NULL
értékkel kell felvenni… (külső kulcs - csak létező id, vagy null lehet)
tolDt
-igDt
.
Az órarend a tanév során változhat, változik. Ezért az egyes órarendi bejegyzések érvényességét kell tudnunk szabályozni. Erre szolgál ez a
két dátum. Ha például egy bejegyzés csak az első félében érvényes, akkor 2009-09-01-es tolDt
-t és 2010-01-19-es igDt
kap
Órarendváltoztatáskor tehát a korábbi bejegyzéseket nem töröljük, csak az érvényeségüket „zárjuk le”, majd felvesszük az új bejegyzéseket. A gyakorlatban általában az órarendet kezdetben egész évre szoktuk betölteni, és év közben mikor szükséges, akkor módosítjuk.
orarendiOraTankor
A másik tábla az orarendiOra
rekordjaihoz rendeli hozzá a tanköröket a már emlegetett (tanarId
, osztalyJel
, targyJel
) hármas alapján. A tábla
mezői ennek megfelelően:
orarendiOraTankor(tanarId, osztalyJel, targyJel, tankorId)
Ahol a tankorId
a tankör azonosítója a MaYoR rendszeren belül, a legtöbb helyen a tankör neve után zárójelben fel is tüntetjük, de
kiolvasható az intézményi adatbázis tankor táblájából is. Pontosabban a tankorSzemeszter
táblából - mert itt tárolódnak a tankörök nevei -
amik ugye évente változnak az évfolyam jelölés miatt…
Ezt a táblát nem kell feltölteni. Ennek a kitöltését a felületen az Órarend/Órarend-tankör összerendező menüpontban lehet elvégezni - tanáronként.
Órarendbetöltés
CSV (TSV) állományból
Az „Admin/Import” menüpont alatt közvetlenül tudunk adatokat betölteni az orarendiOra
táblába.
Néhány sor egy fiktív csv-ből (ami igaziból inkább tsv, mert tabulátorokkal tagolt szöveges állomány….)
1 1 1 12 8.a mt1 201 2009-09-01 2010-06-20 1 1 2 12 11.b fiz 225 2009-09-01 2010-06-20 1 1 5 12 8.a mt2 201 2009-09-01 2010-06-20 1 1 6 12 12.c mtFakt 131 2009-09-01 2010-06-20 1 1 7 12 12.c mtFakt 131 2009-09-01 2010-06-20
A fenti pár sor a 12-es id-jű tanár első heti hétfői óráit írja le. Látszik, hogy a 8.a-ban két csoportban tanít matematikát, 11.b-ben fizikát és 12.c-ben egy duplaórás matematika fakultációt.
Óra felvétel a felületen
Ha csak kevés órát kell felvennünk, akkor a legjobb megoldás az „Órarend/Órarend módosítás” menüpont használata. Itt lehetőség van új órák felvételére és korábbi bejegyzések lezárására is. Ezt a lehetőséget használva a bejegyzések rögtön tankörhöz rendelődnek és a program ellenőrzi az esetleges ütközéseket is (egy diáknak egy időben ne legyen több kötelező órája).
Órarend betöltő
A programnak van egy külön órarend-betöltő menüpontja (Órarend/Órarend betöltés). Itt különböző szöveges (CSV, TSV, XML) formátumokból lehet órarendi bejegyzéseket felvenni, szükség esetén a korább bejegyzések lezárásával.