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.

hogyan/orarend.txt · Utolsó módosítás: 2019/05/28 19:52 (külső szerkesztés)
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0