| Freie DatenBank |
|---|
Zu diesem Zweck werden zwei neue Tabellen mit dem Namen NEUEDATEN und NETZ in der Datenbank FDB angelegt. Dazu dienen die folgenden SQL-Befehle, die der Benutzer root ausführen muss: (SQL-Befehle herunterladen)
SQL-Befehle knoten.create
#Version 2
CONNECT FDB;
CREATE TABLE NEUEDATEN (SKZ INT NOT NULL, LAND CHAR(1) NOT NULL,
NAME VARCHAR(130) NOT NULL, STRASSE VARCHAR (40),
PLZ SMALLINT NOT NULL, ORT VARCHAR (30) NOT NULL,
EMAIL VARCHAR (50), URL VARCHAR (70),
TYP1 CHAR (2) NOT NULL, TYP2 CHAR (2), TYP3 CHAR (2),
TEST SMALLINT NOT NULL, TESTDATUM DATE NOT NULL,
NEU SMALLINT NOT NULL, NEUDATUM DATE NOT NULL,
KNOTEN INTEGER UNSIGNED, KOMMENTAR VARCHAR(130),
NAME2 VARCHAR (130), URL2 VARCHAR (70),
EMAIL2 VARCHAR (50), TEST2 SMALLINT NOT NULL);
CREATE TABLE NETZ (NAME VARCHAR(50) NOT NULL,
URL VARCHAR (70) NOT NULL, EMAIL VARCHAR (40),
KNOTEN INTEGER UNSIGNED NOT NULL, AUTO SMALLINT DEFAULT 0,
STATUS SMALLINT DEFAULT 1, KOMMENTAR VARCHAR(70),
IMNETZSEIT DATE NOT NULL, KONTAKTDATUM DATE NOT NULL);
ALTER TABLE NETZ ADD PRIMARY KEY(KNOTEN);
SQL-Befehle knoten.import
CONNECT FDB;
INSERT INTO NETZ VALUES
('Pädagogisches Institut für NÖ in Hollabrunn',
'www.pinoe-hl.ac.at','herwig.reidlinger@pinoe-hl.ac.at',
'3249202957','1','1','','1999-10-01','1999-10-01');
INSERT INTO NETZ VALUES
('Erzbischöfliches Gymnasium in Hollabrunn',
'www.ebgymhollabrunn.ac.at',
'herwig.reidlinger@ebgymhollabrunn.ac.at',
'3249197373','1','0','','1999-10-01','1999-10-01');
Es genügt, wenn Sie in Ihre Tabelle NETZ nur die aktiven Knoten aufnehmen. Derzeit existiert nur ein aktiver Knoten: www.pinoe-hl.ac.at.
Die SQL-Befehle müssen Sie nicht händisch eingeben. Sie sind in einer Datei gespeichert und können heruntergeladen werden:
| SQL-Befehle herunterladen: | Datei knoten.tgz (entpacken mit tar) |
| gepackte Dateien: | knoten.create, knoten.import, knoten.var1 |
Der Benutzer root kann unter Linux mit den Befehlen:
mysql -prootpasswort <knoten.create
mysql -prootpasswort <knoten.import
die Tabellen anlegen und die Daten importieren.
| Wenn Sie vor dem 1. Juni 2000 die Tabelle NEUEDATEN in der Version
1 angelegt haben, dann können Sie mit dem Befehl
mysql -prootpasswort <knoten.var1 auf die Version 2 erweitern. Die Datei knoten.var1 enthält folgende SQL-Befehle: CONNECT FDB; |
Mit dem hier beschriebenen PHP3-Skript können Sie die Tabelle
NETZ über das WWW warten. Im Skript greift der Benutzer FDBADMIN auf die
Tabelle SCHULEN zu.
Laden Sie dann folgende Datei herunter:
| PHP3-Skript herunterladen: | Datei fdbnetz.php3.tgz (entpacken mit tar) |
| gepackte Datei: | fdbnetz.php3 |
Die Datei fdbnetz.php3 kann in ein beliebiges Verzeichnis
kopiert werden, in dem sich die WWW-Seiten befinden. Zusätzlich sollte der
Web-Server so konfiguriert werden, dass der Zugriff auf diese HTML-Seite nur vom
Administrator der Tabelle SCHULEN möglich ist. (Z. B. nur vom lokalen Netz.)
Ändern Sie in dieser Datei den Wert von $ipknoten, damit Ihre
Änderungen eindeutig im Datenbanknetz Schulen identifiziert werden können.
Eine Beschreibung für die Berechnung dieses Wertes aus Ihrer IP-Adresse finden
Sie bei den Informationen über die
Datenbankstruktur.
# 193*256*256*256 + 170*256*256 + 231*256 + 13
$ipknoten = 3249202957;
| NAME | Name des Knotenbetreibers |
| URL | Internet-Adresse des Knotens |
| E-Mail Adresse des Knoten-Administrators | |
| KNOTEN | Eindeutige Knotennummer gebildet aus der IP-Adresse des Rechners |
| AUTO | 1 = Daten automatisch aktualisieren; 0 = Daten händisch aktualisieren |
| STATUS | 1 = Knoten ist aktiv; 0 = Knoten ist passiv, nicht abfragen |
| KOMMENTAR | Bemerkungen |
| IMNETZSEIT | Datum, seit wann Rechner im Datenbanknetz SCHULEN ist |
| KONTAKTDATUM | Datum, wann von dem Rechner zuletzt Daten geholt wurden |
Mit dem folgenden Perl-Skript können Sie die Daten von einem
anderen Server abfragen und in die Tabelle NEUEDATEN speichern
Es müssen dazu die Perl-Module für MySQL installiert sein. In der
SuSE-Distribution 6.4 finden Sie es in der Serie pay unter dem Namen mysqlperl.
Laden Sie dann folgende Datei herunter:
| Perl-Skript herunterladen: | Datei schulimport.tgz (entpacken mit tar) |
| gepackte Datei: | schul_import.perl, schul_update.perl |
Damit diese Skripts verwendet werden können, muss in MySQL ein Benutzer FDBADMIN existieren. Sein Passwort muss in einer Textdatei mit dem Namen init.dat gespeichert sein. (Die Datei init.dat wird mit einem Editor angelegt und besteht nur aus einer einzigen Zeile mit dem Passwort. Die Datei init.dat muss im selben Verzeichnis wie die Datei schul_import.perl und schul_update.perl gespeichert werden.) Als Benutzer root kann mit dem Befehl
chmod 600 init.dat
das Lesen und Schreiben nur für den Benutzer root gestattet werden.
Das Perl-Skript schul_import.perl wird mit dem Befehl
perl schul_import.perl
gestartet. Von diesem Skript werden alle aktiven Server, die in der Tabelle
NETZ gespeichert sind abgefragt, ob sie seit der letzten Abfrag neue Daten in
der Tabelle SCHULEN gespeichert haben. Diese neuen Daten werden in der Tabelle
NEUEDATEN gespeichert! Danach wird in der Tabelle NETZ im Feld KONTAKTDATUM das
aktuelle Datum gespeichert. Das Perl-Skript schul_import.perl
sollte nur einmal pro Tag gestartet werden. Da die Aktualisierung der Daten
datumsgesteuert erfolgt, sollte die Abfrage täglich in der Zeit von
23.00 - 23.45 (Lokalzeit) erfolgen. Alle aktiven Server, die an dem Datenbanknetz
SCHULEN teilnehmen und anderen Servern ihre Daten zur Verfügung stellen,
dürfen in der Zeit von 23.00 - 23.45 (Lokalzeit) keine Veränderungen
der Tabelle SCHULEN vornehmen.
Dieses Perl-Skript führt eine Logdatei mit dem Namen fdbimport.log. Außerdem
werden in der Datei knoten.tmp alle Server gespeichert, die von
dem Skript aufgerufen wurden. Die neuen Daten, die auf diesen Servern gefunden
wurden, werden in der Datei daten.tmp gespeichert. Durch jeden
neuen Aufruf des Skripts werden die alten Dateien knoten.tmp
und daten.tmp gelöscht.
Das Perl-Skript schul_update.perl wird mit dem Befehl
perl schul_update.perl
gestartet. Von diesem Skript werden die Daten aus der Tabelle NEUEDATEN in
die Tabelle SCHULEN übernommen. Die alten Daten werden einfach überschrieben
und in einer Logdatei mit dem Namen fdbupdate.log gespeichert. Dieses
Perl-Skript darf von alle aktiven Server, die an dem Datenbanknetz
SCHULEN teilnehmen immer erst nach Mitternacht gestartet
werden, da in der Zeit von 23.00 - 23.45 (Lokalzeit) keine Veränderungen der
Tabelle SCHULEN vorgenommen werden dürfen.
Folgendes Zeitschema wird empfohlen:
| Daten von anderen Servern importieren | Daten automatisch aktualisieren | Daten händisch aktualisieren |
|---|---|---|
| 23.00 - 23.45 | 00.00 - 06.00 | 06.00 - 23.00 |
| Daten werden in Tabelle NEUEDATEN gespeichert | Daten von Tabelle NEUEDATEN in Tabelle SCHULEN übernehmen | Daten händisch in Tabelle SCHULEN eingeben. |
Beide Skripts unterstützen in der derzeitigen Version noch nicht das Feld AUTO in der Tabelle NETZ. In einer zukünftigen Version soll auch mit einem PHP3-Skript die Möglichkeit zur händischen Übernahme der Daten von der Tabelle NEUEDATEN in die Tabelle SCHULEN ermöglicht werden.
| FDB-Projekt | Datenbanknetz SCHULEN | Niederösterreichischer Bildungsserver |
Letzte Änderung am 04. September 2001
herwig.reidlinger@pinoe-hl.ac.at.