SchüSta im SQL

Werbung
Verwaltung und Auswertung der
SchülerStammdaten
SQL Modus
Leitfaden SchüSta SQL
Version 7.xx
Jänner 2011
Diese Anleitung enthält Empfehlungen zur Verwaltung der SchüSta Daten mit einer SQLDatenbank und erhebt keinen Anspruch auf Vollständigkeit. Hinweise zur Verbesserung der
Anleitung werden erbeten.
Erforderliche Software
Access-Modus
Um in den Access-Modus umzuschalten reicht es (bei vorhandener Lizenz), wenn der Modus
im Anmeldungsfenster ausgewählt wird.
MySQL-Modus
Die Client-Bibliotheksdatei LIBMYSQL.DLL muss sich im SchüSta Programmordner befinden.
Die Bibliotheksdatei befindet sich im Installationspaket von SchüSta oder kann von der Adresse
http://dev.mysql.com/downloads/mysql/5.0.html#win32 herunter geladen werden. Im SSLModus werden noch die Dateien LIBEAY32.DLL, SSLEAY32.DLL benötigt.
MS SQL-Modus
Der SQL Server Native Client NN.N sollte installiert sein.
Oracle-Modus
Der Oracle Instant Client (32 Bit) sollte installiert sein.
Firebird-Modus
Die Client-Bibliotheksdatei FBCLIENT.DLL muss sich im Programmordner befinden. Die
Bibliotheksdatei kann von der Adresse
http://www.zuggsoft.com/modules/mx_pafiledb/dload.php?action=download&file_id=60&mirro
r_id=-1&page=4 herunter geladen werden.
Postgre-Modus
Die folgenden Bibliotheksdateien müssen sich im Programmordner befinden: LIBPQ.DLL,
COMERR32.DLL, GSSAPI32.DLL (>= v 8.3), K5SPRT32.DLL (>= v 8.3), KRB5_32.DLL,
LIBEAY32.DLL, LIBICONV-2.DLL, LIBINTL-2.DLL (< v 8.3), LIBINTL-8.DLL (>= v 8.3),
LIBPQ.DLL, SSLEAY32.DLL. Die Bibliotheksdateien können von der Adresse
http://www.postgresql.org/download/windows herunter geladen werden.
SQL Modus
SQL Anywhere-Modus
Der "SQL Anywhere N" Treiber muss installiert werden, wobei N die Versionsnummer ist. Der
Treiber kann von der Adresse http://www.sybase.com/detail?id=105587 herunter geladen
werden.
Anlegen der Datenbank
Mit einem Datenbankeditor wird die SchüSta Datenbank angelegt.
Beispiel MySQL:
Komfortable Möglichkeiten zur Administration von MySQL Servern bieten diverse MySQL
Editoren. Gute Erfahrungen wurden mit PhpMyAdmin und HeidiSQL gemacht.
Für den Einsatz von SchüSta sind die MySQL Versionen ab 4.1.0 verwendbar. Ältere
Versionen wurden nicht gestestet. Die immer vorhandene Möglichkeit zur Konfiguration ist
die Kommandozeile:
Datenbank anlegen: create database swdaten;
Als Bezeichnungen für die Datenbank ist die Schulnummer vorteilhaft, wenn auf einem
Server mehrere SchüSta Datenbanken verwaltet werden.
Anlegen der Benutzer
Mit einer Zusatzlizenz für integrierte Benutzerverwaltung besteht die Möglichkeit, die
Benutzer von SchüSta selbst verwalten zu lassen – siehe Integrierte Benutzerverwaltung. In
jedem Fall muss nur ein Benutzer im Datenbanksystem angemeldet werden.
Beispiel Admin in der MySQL Datenbank anlegen: grant all privileges on swdaten.* to
Admin@”%” identified by ”gap” with grant option;
In der gleichen Weise ist auch der Benutzer “Sekret” anzulegen. Alle anderen Benutzer
können nach der Installation von SchüSta SQL im Programm SchüSta angelegt werden.
Konfigurationsmöglichkeiten:
a) Vollständiger Umstieg auf SQL: Wenn die Standarddatenbank nicht mehr benutzt
werden soll, wird aus Sicherheitsgründen vorgeschlagen, nach dem Einrichten der SQLDatenbank den Inhalt des Ordners DATEN zu löschen
b) Parallelbetrieb: Die Standarddatenbank wird weiter als zentrale Datenbank verwendet
(z.B. im Sekretariat) und die SQL-Datenbank wird für Zwecke der dezentralen
Datenverwaltung eingesetzt (z.B. für Anmeldungen, Lehrer tragen Noten ein).
Zur Aktualisierung der Datenbanken sind jederzeit im SQL-Modus Migration (Menü
Verwaltung – Datenbank – Migration) durchgeführt.
Bei Parallelbetrieb mit Standard und SQL besteht im Menü Verwaltung - Transfer nach ...
die Möglichkeit, zur Datenübertragung der Stammdaten, Noten oder Wahlfächer für
ausgewählte Klassen in beide Richtungen.
WICHTIG: Das Kennwort für den Benutzer Admin sollte im SQL-Modus und im StandardModus das selbe sein.
Einrichtung der SQL-Datenbank:
SQL Modus
SchüSta wird zunächst im Standardmodus gestartet. Die Ausstellung der Lizenz wird im
Menü Verwaltung – Konfiguration - Benutzerlizenz vorgenommen.
In das Eingabefeld für den Pfad wird der Pfad der Standard-Daten (c:\schule) angegeben.
Die Eingabefelder Host, Name und Port müssen ausgefüllt werden.
HTTP-Tunnel:
Im MySQL und Oracle Modus wird im Eingabefeld Adresse des WebServers eine
Webadresse angegeben, unter der ein Zugriffs-Script myscript.php bzw. orscript.php
(befinden sich im SchüSta Programmordner) abgelegt wird. Das Script befindet sich in der
Regel auf demselben Rechner bzw. im selben lokalen Netz wie die MySql-Datenbank.
Wird das Script verwendet, dann wird die Verbindung für jede Anweisung neu aufgebaut. In
diesem Fall muss man beachten, dass Windows eine Verbindung ungefähr 4 Minuten
aufrechterhält. Wenn in dieser Zeit große Datenmengen transportiert werden, kann die
Maximalzahl der Verbindungen überschritten werden. Um das zu verhindern sind in der
Registry zwei Einträge erforderlich:
HKey_Local_Machine \ SYSTEM \ CurrentControLSet \ Services\ Tcpip \ Parameters \
Neuer Schlüssel DWORD mit Namen "TcpTimedWaitDelay"
Der Wert kann 30-300 (dezimal) Sekunden sein. Je kleiner, desto kürzer wird eine
Verbindung aufrechterhalten.
Neue Schlüssel DWORD mit Namen "MaxUserPort"
Der Wert kann 5000-65534 (dezimal) sein. Je größer, desto mehr Verbindungen können in
kurzer Zeit aufrecht erhalten werden.
In der Datei PHP.INI
MySql:
MS SQL:
Oracle:
sind folgende Extensions erforderlich:
extension=php_mysql_libmysql.dll
extension = php_sqlsrv_53_ts_vc6.dll
extension=php_oci8.dll
Integrierte Benutzerverwaltung Zusatzmodul:
Mit einer Zusatzlizenz besteht die Möglichkeit, die Benutzer von SchüSta selbst verwalten zu
lassen. Dazu wird eine Markierung bei „Benutzerverwaltung in SchüSta integriert“ gesetzt.
Ein Datenbankbenutzer kann angegeben werden.
SQL Modus
Gültigkeit: Mit dem Inhalt dieses Feldes kann die Gültigkeit der von der Schule
ausgestellten Lizenzen beschränkt werden. Eine Lizenz behält so lange ihre Gültigkeit, als
ihr Gültigkeitswert größer oder gleich dem Gültigkeitswert in der Datenbank ist (Menü
Verwaltung – Optionen – Einstellung – Rubrik SQL-Modus). Man kann die Gültigkeit von
Lizenzen dadurch beenden, dass man dem Gültigkeitswert in der Datenbank einen
höheren Gültigkeitswert gibt. Der Zugriff auf die Datenbank kann auch vorübergehend
gesperrt werden, indem man den Gültigkeitswert vergrößert und später wieder verkleinert.
Mit [Ok] wird eine Lizenzdatei im angegebenen Datenordner mit der Nummer der Schule
erstellt.
Die Aufgaben der Benutzerlizenz
Die Benutzerlizenz wird für die Anmeldung am Programm und an der Datenbank benötigt.
Der SchüSta Benutzer Admin verwendet die Benutzerlizenz zusätzlich, um
eine Kopie als Datenbanklizenz (Tabelle swcnf) zu speichern. Dazu wird vorher in der SQLDatenbank die Tabelle swcnf gelöscht.
Sobald sich ein Benutzer mit Hilfe der Benutzerlizenz angemeldet hat, hat die Benutzerlizenz
ihre Aufgabe erfüllt und die Datenbanklizenz übernimmt die Versionskontrolle und
die Zugriffskontrolle.
Eine neue Benutzerlizenz muss ausgestellt und die Datenbanklizenz (Tabelle swcnf)
in der SQL-Datenbank muss gelöscht werden, wenn
a) die Zugangsdaten (Datenbankname, Portadresse) verändert werden, und
b) wenn eine neue Lizenzversion installiert wird.
Wird die Datenbanklizenz in den o.a. Fällen nicht aktualisiert, kann das nach dem Aufruf von
Verwaltungsfunktionen zu Problemen führen (Datenbanklizenz wird ungültig).
Unterschiedliche Benutzerlizenzen
Es ist möglich, dass für eine SQL-Datenbank unterschiedliche Benutzerlizenzen ausgestellt
werden.
Anmeldung:
Wird die Benutzerlizenz gewählt, dann wird der Datenbankmodus angezeigt.
Mit dem Klick auf Button [Ok] werden die Benutzerdaten auf Ihre Zugriffsberechtigung
sowohl in Bezug auf SchüSta als auch auf den SQL-Server überprüft. Im Falle einer
Ablehnung kann SchüSta nicht gestartet werden.
Danach wird die Datenbank automatisch eingerichtet, indem die grundlegenden Tabellen
angelegt werden.
SQL Modus
Nach der Umstellung auf SQL-Betrieb ist auch wieder ein Programmstart ohne
Anmeldungsdialog (Benutzerdaten in die Befehlszeile des Start-Symbols eintragen) möglich.
Betrieb der SQL-Datenbank:
Datenmigration:
Wenn Daten im Standardmodus vorhanden sind, werden diese im SQL-Modus im Menü
Verwaltung – Datenbank – Migration in beide Richtigen transferiert.
WICHTIG: Mit der Menüfunktion Bearbeiten – Referenzlisten – Aktualisieren werden die
Referenzlisten auf den aktuellen Stand gebracht.
Datentransfer SQL <--> Standard bei Parallelbetrieb:
Die Menüfunktion Verwaltung – Datenbank - Transfer ermöglicht den Datenaustausch der
Stammdaten, Noten oder Wahlfächer bei Parallelbetrieb für ausgewählte Klassen in beide
Richtungen.
Benutzerverwaltung:
Im SQL-Modus muss mindestens ein Benutzer in der SQL-Datenbank angemeldet werden.
Dazu werden zwei Möglichkeiten angeboten: Verwaltung eines einzigen Benutzers
(Zusatzlizenz) oder Verwaltung aller Benutzer (Standardlizenz) im Datenbanksystem.
Anmeldung eines einzigen Benutzers im Datenbanksystem (Zusatzlizenz):
Dazu wird eine integrierte Datenbanklizenz mit den Daten eines Benutzers ausgestellt. Die
eigentliche Verwaltung der Benutzer erfolgt über die Referenzliste der Lehrer. Mit der
integrierten Benurtzerverwaltung ist die Anmeldung auch ohne Kennwort möglich.
Anmeldung aller Benutzer im Datenbanksystem:
Zu Anmeldung bzw. Verwaltung der Benutzer im Datenbanksystem ist ein Datenbank-Editor
(z.B. phpMyAdmin) erforderlich.
Mögliche Probleme:
Abgesehen von falschen Anmeldedaten des Benutzers werden noch folgende Probleme in
der Statuszeile des Anmeldungsfensters angezeigt:
“SQL-Server <Serveradresse> nicht erreichbar!“ wird gemeldet, wenn die Serverdaten
in der Benutzerlizenz nicht stimmen (siehe Menü Verwaltung – Konfiguration Benutzerlizenz). Zur Problemlösung muss eine neue Benutzerlizenz mit den richtigen
Serverdaten ausgestellt werden.
“Benutzerlizenz und Datenbanklizenz stimmen nicht überein!“ wird gemeldet, wenn
der Server zwar erreichbar ist, aber die Lizenzdaten der Benutzerlizenz nicht mit der Lizenz,
die sich in der Datenbank befindet, übereinstimmen.
Wenn die Zugangsdaten (Datenbankname, Portadresse) verändert werden, muss eine neue
Benutzerlizenz ausgestellt werden und die Lizenztabelle (swcnf) in der SQL-Datenbank
gelöscht werden.
Sichere MySql-Verbindung:
Zertifikate erstellen
Hinweise zur Herstellung sicherer Verbindungen mit einer MySQL Datenbank finden Sie an
der Adresse http://dev.mysql.com/doc/refman/5.1/de/secure-connections.html
Zunächst muss OpenSSL installiert werden. Downloadmöglichkeiten findet man bei
http://www.openssl.org/related/binaries.html
Zur Herstellung der Zertifikate erstellt man eine Batch-Datei (folgenden Text markieren und
in eine Datei mit dem Namen z.B. Zertifikat.bat kopieren):
-------------------------------------------- (batch Anfang) ------------------------------------rem Ordner anlegen
rem -----------------------------md c:\NewCerts
SQL Modus
cd c:\NewCerts
echo 01 > serial.txt
rem Pfad zum OpenSSL Bin Ordner
set OsslBin=c:\openssl\bin\
rem Pfad zum OpenSSL Bin Ordner
set OsslPath=c:\openssl\bin\openssl.exe
rem Zertifikats-Autoritaet erstellen
%OsslPath% req -new -x509 -days 3650 -keyout "ca-key.pem" -out "ca-cert.pem" -config
"%OsslBin%openssl.cfg"
rem Zertifikate für Server
%OsslPath% req -new -keyout "server-key.pem" -out "server-req.pem" -days 3650 -config
"%OsslBin%openssl.cfg"
%OsslPath% rsa -in "server-key.pem" -out "server-key.pem"
%OsslPath% x509 -req -days 3650 -CA "ca-cert.pem" -CAkey "ca-key.pem" -CAserial
"serial.txt" -in "server-req.pem" -out "server-cert.pem"
rem Zertifikate für Client
%OsslPath% req -new -keyout "client-key.pem" -out "client-req.pem" -days 3650 -config
"%OsslBin%openssl.cfg"
%OsslPath% rsa -in "client-key.pem" -out "client-key.pem"
%OsslPath% x509 -req -days 3650 -CA "ca-cert.pem" -CAkey "ca-key.pem" -CAserial
"serial.txt" -in "client-req.pem" -out "client-cert.pem"
pause
-------------------------------------------------- (batch Ende) --------------------------------Bei diesem Batch Prozess werden mehrere Angaben verlangt die aber nicht von besonderer
Bedeutung sind.
My-SQL Server umstellen
Die Server-Zertifikate werden in der Datei MY.INI für den Server bereitgestellt. Dazu MY.INI
öffnen und in der Rubrik [mysqld] die folgenden Eintragungen vornehmen:
ssl
ssl-ca = c:/NewCerts/ca-cert.pem
ssl-cert = c:/NewCerts/server-cert.pem
ssl-key = c:/NewCerts/server-key.pem
Nach der Änderung muss der MySQL-Server neu hochgefahren werden.
Die Überprüfung erfolgt mit der SQL-Anweisung
SHOW VARIABLES like '%ssl%';
Die Variable have_openssl müsste den Wert "yes" haben.
Benutzer auf sichere Verbindung umstellen
Mit der Anweisung
GRANT ALL PRIVILEGES ON *.* TO '[name]'@'%' REQUIRE SSL;
kann der angegebene Benutzer nur mehr eine sichere SSL Verbindung aufbauen. Die
Überprüfung der Verbindung ist mit
SHOW STATUS LIKE 'ssl%';
möglich. Die Variable ssl_cipher muss bei einer SSL-Verbindung einen Wert haben.
Benutzerlizenz für SSL-Verbindung
Im Menü Verwaltung – Konfiguration – Benutzerlizenz befindet sich eine Rubrik
„Zertifikate“, in der die Dateinamen der Zertifikate angegeben werden.
Die Zertifikate müssen sich beim Programmstart (zusammen mit der Benutzerlizenz) im
lokalen Datenbankordner (c:\schule) befinden.
SQL Modus
Eine Verbindung mit dieser Lizenz ist nur dann möglich, wenn der Benutzer in der MySQL
Datenbank als Benutzer einer sicheren Verbindung angemeldet ist.
SQL Modus
Die Tabellen:
Die Felder der Tabelle STAMM
Jahr:
Jahr des Eintritts in die Schule
Ken:
Kennnummer 6 stellig
Version:
Datenversion
Aender:
letzte Änderung
FamNam:
Familienname
VorNam:
Vorname
Geschl:
Geschlecht (m/w)
GebDat:
Geburtsdatum (tt.mm.jj)
SvNumm:
Sozialversicherungsnummer
Ersatz:
Ersatzkennzeichen
Staats:
Staatsbürgerschaft
Religi:
Religionsbekenntnis
MutSpr:
Muttersprache
Status:
Status (o/a)
AltArt:
Art der letzten Schule (APS, AHS …)
AltSul:
Schulkennzahl der letzten Schule
EinDat:
Eintrittsdatum (tt.mm.jj)
NeuKen:
alternative Kennnummer
AbWech:
Ausbildungswechsel
SulPfl:
Letztes Jahr der Schulpflicht (jj)
Marke:
Beliebige Markierung
TgHeim:
Tagesbetreuung (0 – 5)
FreFrt:
Freifahrt (j/n)
BeiHil:
Schulbeihilfe (j/n)
ErzKen:
Erzieherkennung (e,v,m,g)
ErzNam:
Name des Erziehungsberechtigten
ErzOrt:
Wohnort des Erziehungsberechtigten
ErzStr:
Straße des Erziehungsberechtigten
ErzTel:
Telefon des Erziehungsberechtigten
NotNam:
Name des 2. Erziehungsberechtigten
NotOrt:
Wohnort des 2. Erziehungsberechtigten
NotStr:
Straße des 2. Erziehungsberechtigten
NotTel:
Telefon des 2. erziehungsberechtigten
Nummer:
Beliebige Nummer
FrmNum:
Schulformkennzahl
AktKla:
Aktuelle Klasse
FrmSpr:
Fremdsprache
AusStd:
Ausbildungsstand
AbPruf:
Abschlussprüfung
Ethik:
Ethik (j/n)
FoeBed:
Förderbedarf (j/n)
LfBahn:
Laufbahn
AfNahm:
Aufnahmedaten
EduCrd:
EduCard-Daten
Auto01– Auto20: Schulautonome Daten
VorPruef:
Vorprüfungsdaten
Kurs:
Wahlgegenstände
Prakt:
Praktika
Dauer:
Daueranmerkungen
Die Felder der Tabelle XXklas
Name:
Kat:
Ken:
Verh:
Klassenbezeichnung
Katalognummer
Kennnummer
Verhaltensnote
SQL Modus
Fach01-Fach60:
VorjNg:
AufStg:
Optionen:
WhZgDt:
FehlEn:
FehlUn:
Sprache:
AbDate:
AbStand:
AufVor:
SulFrm:
Aender:
SulStu:
LeiGrp:
SulErf:
Klausel:
ZeugDt:
Warnung:
NprDat:
LfbJhr:
Koll:
Gegenstandsbeurteilungen
Negativer Gegenstand aus dem Vorjahr
Aufstiegsberechtigung
Optionen
Zeugnisdatum Wiederholungsprüfung
Entschuldigte Fehlstunden
Unentschuldigte Fehlstunden
Fremdsprache
Abmeldedatum
Ausbildungsstand
Aufstiegsvoraussetzungen
Schulform
Letzte Änderung
Schulstufe
Leistungsgruppe
Schulerfolg
gewählte Zusatzklauseln
Zeugnisdatum
Frühwarnungen
Nachtragsprüfungsdatum
Anmerkungen
Kolloquien
Die Felder der Tabelle XXabpr
Name: Klassenbezeichnung
Kat: Katalognummer
Ken: Kennnummer
FreStd: Freigegenstand Stunden
FreAnf: Freigegenstand Anfangsklasse
FreEnd: Freigegenstand Endklasse
FreFch: Freigegenstand Name
Best00-Best03: Ergebnis 1. Termin bis 3. Wiederholung
SlLehr: Schüler Lehrer-Zuordnung
Date00-Date03: Prüfungsdatum 1. Termin bis 3. Wiederholung
Fach01-Fach10: Prüfungsgegenstände
AntArt: Antrittsart
Klausel: gewählte Zusatzklauseln
Thema: Thema der vorwissenschaftlichen Arbeit
Die Felder der Tabelle XXlehr
Name:
Zahl:
Form:
Kv:
Vers:
Aender:
Termin:
Alias:
LhrPln:
Org:
BilArt:
BilSpr:
Eltern:
Vsitz:
Abteil:
Werkst:
NotZhl:
Options:
Klassenbezeichnung
Schülerzahl
Schulformkennzahl
Klassenvorstand
Version
letzte Änderung
Termine
Klassenalias
Lehrplannummer
Organisation
Bilingualunterricht
Bilingualsprache
Elternvertreter
Vorsitzender
Abteilungsvorstand
Werkstättenleiter
Notenzahl
Optionen
SQL Modus
EduDat:
WhlNam:
Anmerk:
Fach01-Fach60:
Konf1-Konf3:
Pruef:
Prnot:
EduCard-Daten
Name für Wahlgegenstände
Anmerkung
Gegenstände
Konferenzergebnisse
Prüfungsergebnisse
Prüfungsnoten
Die Felder der Tabelle XXrefer
Art:
Name:
Wert:
Num:
Art des Datenfeldes
Name des Datenfeldes
Wert des Datenfeldes
Nummer des Datenfeldes
Datenfeldarten:
KANON: Gegenstand mit Name=Kurzname, Wert=Langname, Num=Nummer
LEHRK: Lehrer mit Name=Kurzname, Wert=Langname, Num=Nummer
SFORM: Schulform mit Name=Kennzahl, Wert=Bezeichnung, Num=Nummer
VERAN: Schulveranstaltung mit Name=laufende Nummer, Wert=Bezeichnung,
Num=Nummer
Die Felder der Tabelle refdaten
Art:
Name:
Wert:
Num:
Art des Datenfeldes
Name des Datenfeldes
Wert des Datenfeldes
Nummer des Datenfeldes
EINZG: Schulen des Einzugsgebietes mit Name=Kennzahl, Wert=Bezeichnung,
Num=Nummer
MFORM: Schulform Matura mit Name=Kennzahl, Wert=Bezeichnung, Num=Nummer
PLORT: Postleitzahlen mit Name=Postleitzahl, Wert=Adresse,Num=Nummer
RELIG: Religionsbekenntnisse mit Name=Kurzname, Wert=Langname, Num=Nummer
PARAM: Diverse Felder mit Einstellungen für die Datenbank
Herunterladen