31
Sind hier mehrere Übersetzungsmöglichkeiten durch ein ";" getrennt? wenn ja, ist die Tabelle an der Stelle wohl noch nicht ausreichend normalisiert
Ja, davon gibt es einige. Dazu noch solche, in denen ; innerhalb von geschweiften Klammern oder ; innerhalb von runden Klammern vorkommen und etwas anderes voneinander trennen.
OK, dann müsste man ggf. manuell nacharbeiten :)
Das meine ich ja. Aber dafür sind es viel zu viele Datensätze. Mit entsprechenden Funktionen des Wörterbuches, das ich für die Datenbank bauen will, sollten sich die Datensätze nach und nach verbessern lassen. Vielleicht gehen noch ein paar Dinge automatisch, wenn nur noch die drei benötigten Tabellen übrig sind.
Linke Spalte: Hinweis, daß es sich bei der Kombination um eine Übersetzung handelt.
Welche anderen Werte sind in dieser Spalte denn noch möglich?
Vorgesehen sind noch Restriktionen (nur für Japanisch), Cross-References (auch für Japanisch), Verknüpfung zwischen traditionellem und reformiertem Chinesisch. Ich überlegte noch, hier auch Aussprachen zu kombinieren, aber die sollen besser in die Tabelle für Zusatzinformationen. In Letzterer sollen Informationen aus solchen Spalten landen, in denen Datenfelder NULL enthalten können.
Nachteil ist beispielweise, dass du dann einen Eintrag in PHPMyAdmin nicht direkt mehr direkt löschen kannst, weil dieser nicht über eine ID ausgewählt werden kann.
Darüber habe ich mich auch schon geärgert. Mit so einer ID hat Vorteile und ohne so eine hat andere Vorteile. Das führt dazu, daß ich (je nach gerade benötigter Operation) ständig PRIMARY KeYs lösche und neu erstellen lasse.
Aber im Moment nervt mich etwas ganz anderes. Englisch <--> Deutsch - Datensätze wurden aus drei Dateien eingelesen und sind in drei Tabellen gelandet. Eine Stored Procedure wertet gerade eine davon aus und fügt die Kombinationen der IDs der Wörter als Übersetzungen in die Tabelle für die Kombinationen ein. Diese Stored Procedure arbeitet jetzt schon seit vierzig Stunden und es gibt keinen Hinweis darauf, wie lange das noch dauern kann.
Zwischendurch habe ich parallel einige Dateien kopiert und als das Betriebssystem damit fertig war, wußte es nicht, daß es damit fertig war, sondern zeigte das als weiterhin laufende Aufgabe an. Also vielleicht hört auch die Stored Procedure nie wieder auf?
Eigentlich möchte ich nichtmal, daß mein Computer unbeaufsichtigt (bei vierzig Stunden natürlich zwischendurch mal der Fall) läuft, weil dessen Vorgänger explodiert ist (wegen eines unterdimensionierten Netzteiles; damit hatte ich nicht gerechnet, aber später erfahren, daß das bei Computern jener Marke {war ein Packard Bell} üblich ist). Mit meinem jetzigem Computer habe ich die Fehler natürlich nicht wiederholt, aber er klingt so als wäre der Lüfter beschädigt. Läuft bisher trotzdem problemlos (außer dem Geräusch), aber unbeaufsichtigt versetzt mich das in Panik. Das führt mich zu ein paar weiteren Fragen.
Kann ich vorher oder währenddessen herausfinden, wie lange eine Stored Procedure laufen wird? Der Versuch, eine weitere Instanz von phpMyAdmin zu öffnen (um zu sehen, ob die Tabelle mit den neuen Einträgen länger wird), führt jedenfalls nur zu einem endlosem Ladevorgang.
Die Tabelle, die gerade ausgewertet wird, enthält etwas über vierhunderttausend Einträge. Ist mein Computer zu langsam? Wahrscheinlich schon. Es wäre gut, wenn ich meine Stored Procedure so ändern könnte, daß immer nur ein Teil der zu verarbeitenden Datensätze verarbeitet würde, so daß ich meinen Computer zwischendurch auch mal abschalten kann. Aber dann würde es insgesamt natürlich nochmal viel länger dauern. Vielleicht sollte ich versuchen, die Stored Procedure bei einem Webhoster laufen zu lassen?
In dem Fall würde ich wohl sinnvollerweise sämtliche noch zu bearbeitenden Tabellen gleich noch hineinschreiben. Der Server eines Webhosters läuft ja kontinuierlich. Dann könnte das über Tage im Hintergrund laufen. Ich befürchte nur eine große CPU-Auslastung, ohne daß dafür gleich ein Grund ersichtlich sein würde. Das dürfte die meisten Hoster stören. Hindert eine Begrenzung der CPU-Auslastung, die manche Hoster androhen, an der Ausführung einer Stored Procedure? Hilft es, wenn die Stored Procedure zwischendurch (hier wäre es natürlich besonders, gut die Auslastung der CPU abfragen zu können) pausiert? Wie bekomme ich das hin?
Wenn die Verarbeitung nicht bald zu Ende ist, dann muß ich das abbrechen. Dann mache ich mich wohl besser zunächst auf die Suche nach einem Hoster....
Ranma