Universität Essen / Institut für Experimentelle Mathematik / Lehrstuhl Technik der Rechnernetze / Thomas Dreibholz / Publikations-Manager Komponenten
Der Testdaten-Generator dient zur Erzeugung von Testdatenbanken für die Publikationsmanager-Komponenten. Dabei werden für eine gegebene Anzahl von Benutzern, Publikationen und maximaler Anzahl von Instanzen pro Publikation mittels einer Liste von Namen, Vornamen, Städten, Titeln und Titelpräfixen zufällig Einträge für die Datenbank erzeugt. Für einen neuen Benutzer werden ein zufälliger Vorname, Name und evtl. ein Initial kombiniert. Für Publikationen werden Titel (z.B. "Kernphysik") und evtl. ein Titel-Präfix (z.B. "Einführung" oder "Grundlagen") zufällig kombiniert. Ebenso werden Jahreszahlen, Autoren, Verlage, Universitäten usw. zufällig erzeugt. Hiermit wird erreicht, daß eine fast beliebig große Menge an verschiedenen und auch noch sinnvollen Testdaten verfügbar ist, anstatt einfach nur z.B. Personen mit Namen "User #..." oder Publikationen mit "Titel #..." zu benutzen. Somit können sehr praxisnahe Tests von z.B. Suchmustern wie "Einführung %ysik" gemacht werden. Auch exterm große Datenbanken mit Millionen von Publikationen und Instanzen z.B. für Leistungstests sind problemlos möglich. Gegebenenfalls können die Eingabedateien "Namen.dat", "Vornamen.dat", "Titel.dat", "TitelPrefix.dat" und "Staedte.dat" beliebig erweitert werden, um eine noch größere Auswahl von Eingaben mit noch weniger Übereinstimmungen zu erhalten.
Siehe generator.cc.
Das erzeugte SQL-Skript löscht zuerst alle Einträge in PERSON, INSTANZ, BUCH, TECHREP, ZEITSCHRIFT und ZUGRIFFSRECHTE! Es entsteht also immer eine vollständig neue Ausprägung dieser Tabellen. Sollen alle Tabellen der Bibliotheks-Datenbank gelöscht werden, kann dazu das Skript "update.datenbank" benutzt werden (im SQL-Verzeichnis)!
Aus Effizienzgründen sollte die Ausgabe direkt an MySQL geleitet werden, z.B. "./generator 20 100 10 | mysql -ulupo -pgeheim Bibliothek". Damit wird die unnötige temporäre Zwischenspeicherung des Skriptes vermieden. SQL-Skripte können viele Megabytes, unter Umständen auch Gigabytes groß sein! Bei Zwischenspeicherung des Skriptes muß sonst sehr viel Speicherplatz vorhanden sein. Dieser muß wegen der ASCII-Darstellung des SQL-Skriptes sehr viel größer sein als der Speicherplatz für die Datenbank!
28.01.2011 Thomas Dreibholz, Universität Essen / Institut für Experimentelle Mathematik / Lehrstuhl Technik der Rechnernetze