Az adatbázis felépítése

8. Ábra: A szobabeosztáshoz szükséges táblák és kapcsolataik
8. Ábra: A szobabeosztáshoz szükséges táblák és kapcsolataik

A szobabeosztási folyamathoz szükséges táblák, és a táblák közötti kapcsolatok a 8. ábrán láthatóak.

buildings tábla

A kollégium épületeit tartalmazza, attribútumai:

bid: numerikus azonosító, elsődleges kulcs
bname: az épület neve, esetleg címe szöveges formában
bsname: az épület rövid megnevezése (maximum 8 karakter, egyedinek kell lennie)

users tábla

A felhasználók nyilvántartására szolgáló tábla, attribútumai:

realname: a felhasználók valódi neve
username: felhasználónév, a bejelentkezéshez van rá szükség, egyedinek kell lennie
password: jelszó, titkosítva
sid: numerikus azonosító a felhasználóhoz, elsődleges kulcs
ut: felhasználó-típus, lehetséges értékei:
UT_ASTUDENT: jelenlegi aktív hallgató, felvételt nyert valamelyik épületbe. Csak ezek a hallgatók vesznek részt a szobabeosztási folyamatban.
UT_OSTUDENT: öregdiák, a rekord törlésére nincs mód, mert létező fórumhozzászólása, fórumtémája esetén szükségesek az adatai a topics, illetve a posts táblákból ide mutató idegen kulcsok miatt (lásd később)
email: a felhasználó elektronikus levélcíme
sex: a felhasználó neme, csak a hallgatók esetében van jelentősége
bid: épület-azonosító, az itt meghatározott épületbe van beosztva a hallgató (buildings táblára mutató idegen kulcs)
disabled: igen (Y) vagy nem (N) lehet az értéke, igen esetén a felhasználó ki van tiltva a rendszerből, nem tud bejelentkezni
av: a hallgató tanulmányi átlaga

rooms tábla

A kollégium szobáinak adatai.

rnum: szobaszám, szövegesen (az esetleges nem numerikus karakterek miatt, pl.: „3/221”)
rname: a szoba szöveges leírása (ha van)
roomid: a szoba numerikus azonosítója, a tábla elsődleges kulcsa
space: férőhelyek száma
bid: épület-azonosító (buildings táblára mutató idegen kulcs)
rtype: a szoba típusa, lehetséges értékei:
ST_HOMOGEN: homogén szoba, csak azonos neműek lakhatják
ST_HETEROGEN: heterogén szoba, nem azonos neműek is lakhatják
ST_MALE: fiúszoba, csak fiúk lakhatnak benne
ST_FEMALE: lányszoba, csak nőnemű hallgatók lakhatnak benne

wishes tábla

A hallgatók által kiválasztott szobatársjelöltek listáját és ezek fontossági sorrendjét tartalmazza.

sid: a hallgató azonosítója (users táblára mutató idegen kulcs)
wsid: a szobatársjelölt azonosítója (users táblára mutató idegen kulcs)
pref: preferencia, minél kisebb, annál előrébb van a kívánságlistában
used: tárolja, hogy fel lett-e már használva a szobabeosztáshoz az adott kívánság

room_conn_student tábla

A hallgatók és a szobák N:M-hez kapcsolatait rögzítő tábla.

roomid: a szoba egyedi kulcsa (rooms táblára mutató idegen kulcs)
sid: a hallgató egyedi kulcsa (users táblára mutató idegen kulcs)

Az adatbázis ezen táblájának konzisztenciájára két idegen kulcs (foreign key) vigyáz. Amennyiben olyan rekord törlődik a rooms táblából, amelyre itt szerepel hivatkozás, akkor a room_conn_student tábla megfelelő rekordjai is törlődnek. Ugyanez a feltétel fennáll bármelyik hallgató törlésére is.

variables tábla

9. Ábra: A variables tábla
9. Ábra: A variables tábla

Az adminisztrátorok által, a webes felületen keresztül is módosítható beállításokat tartalmazó tábla.

name: a változó neve, elsődleges kulcs, ezen a néven lehet rá hivatkozni a programban
value: a változó értéke
tname: a változó rövid neve, szövegesen, a felhasználó felületen jelenik meg, mert a programban használt hivatkozási név (name attribútum) nem biztos, hogy könnyen értelmezhető a felhasználók számára
description: szöveges leírás arról, hogy mit befolyásol a változó

Tartalom átvétel