baurat / Schulapp

Schul-App
0 stars 0 forks source link

Datenbank - Tabellenstruktur #12

Open baurat opened 8 years ago

baurat commented 8 years ago

Einführung eines prefixes zur besseren Trennung der Tabellen: "vert" für alle Vertretungsplantabellen "abs" für alle Absenzentabellen etc.

Dh. aus lehrervertretungen wird jetzt vert_lehrervertretungen etc. Syncclient angepasst, PHP fehlt noch!

Khalphion commented 8 years ago

Gefixt in https://github.com/baurat/Schulapp/commit/460be059b33b5bc0b00dfd6639373dfb9cd847ae

baurat commented 8 years ago

So schnell sind wir leider nicht... da nach dem Löschen meiner hinzugefügten Felder jetzt natürlich mein Tool nicht mehr richtig arbeitet (weil es keine lastUpdate Spalte mehr findet), müssen wir da jetzt aufräumen:

Außerdem geht es ja noch um die Nutzerverwaltung und die dafür nötigen Tabellen.

Vorschlag: da die allg. Nutzer-Daten ja für mehrere Apps erforderlich sind (login, pw, Stammdaten), lagern wir diese aus, prefix "app_". Somit neue Tabellen: app_user (alles was allgemein nötig ist: id, name, vorname, login, pw, geschlecht, accountstatus, email, email_eltern, strasse, plz, ort, [oder auslagern in eigene Tabelle], lastlogin), vgl. abs_schueler app_lehrer (id, userid als Fremdschlüssel auf app_user, Amtsbezeichnung, Namenskuerzel), vgl. abs_lehrer app_schueler (id, userid als FS auf app_user, klasse // oder weglassen und klasse in app_user nehmen und bei Lehrern null lassen? wenig elegant..

für die Absenzen brauche ich dann abs_schuelerdaten (ko_id, tanlist, verwarnungen, mailreminder, attestpflicht..) // Restl. Felder aus abs_schueler abs_lehrerdaten (eigentlich nur das Flag, ob Benachrichtigungen gewünscht sind oder nicht, Rest steht ja in den allg. Daten)

.. sicher im Detail noch diskussionswürdig, aber wir brauchen etwas um weiterentwickeln zu können.

Vorschlag: Ich kümmere mich am Mittwoch nachmittag um den kompletten Bereich DB und Tabellen und lege das an. Dann passe ich meinen Delphikram an und du das PHP-Zeugs. Wenn du magst, kannst du aber schon auch gern vorarbeiten, auch kein Problem :)

baurat commented 8 years ago

Ok, die meisten Tabellen haben jetzt also alle das Feld "last_update" (Timestamp), damit der Abgleich funktioniert. Bitte in das PHP Klassenmodell aufnehmen!

baurat commented 8 years ago

Wir brauchen zudem eine Tabelle mit den Ferien und eine mit den Feiertagen, damit die Pläne für "heute" und "morgen" etc. richtig erzeugt werden können. Daten können als ics Datei von den typischen Portalen (schulferien.org etc) heruntergeladen werden. Müssen dann nur noch von ics in die passende Tabelle geschoben werden, Bsp. hier: http://www.a2zwebhelp.com/import-data-from-ics Oder (weniger gut, da hier keine Kontrolle über die Zuverlässigkeit der API): https://blog.smartnoob.de/2014/04/15/ferien-feiertag-api-fuer-deutschland/