Alexander: Datenbanken - Wie wird es richtig gemacht?

Beitrag lesen

Hallo Michael,

auch auf die Gefahr hin, dass soooo ein tiefer Thread nicht mehr gelesen wird, möchte ich trotzdem meine Lösung vorstellen und ein wenig Dank ausschütten.

Also Michael, vielen Dank ;)

ich finde, Du hast den trade-off ziemlich schön auf den Punkt gebracht. Ich denke, den Königsweg gibt es an dieser Stelle einfach nicht.

*verbeug* Danke :)

"ja, aber". Ich würde an dieser Stelle in der Tat möglichst kein <a> und auch kein <i> einfügen wollen. Aber gegen ein <hyperlink> oder <emphasize> hätte ich nichts einzuwenden.

Einen harten (nun gut, hart war er eigentlich nicht...) Tag Arbeit später ist meine Self-Made-Access-To-HTML-And-Papier-Datenbank fertig.

Das hat leider so lange gedauert, da ich von VBA in Access so gut wie keinen Plan habe und mich deshalb erstmal einarbeiten mußte.

Ich bin den von Dir vorgeschlagenen Weg gegangen und habe die Struktur mit selbst definierten "Tags" ausgestattet (es gibt aber keine DTD, siehe unten).

Je sicherer Du bist, daß dies alles HTML-fähige Viewer sind, desto eher darfst Du es wagen, HTML-Tags für die Strukturierung zu verwenden.

Wie schon gesagt, es sind HTML-Seiten und "normale" Papierdokumente, die ausgedruckt werden. Eine weitere Verwendung der Daten als für diese beiden Zwecke ist bisher nicht geplant, aber zur Zeit noch ohne größere Probleme möglich...

Bist Du Dir nicht sicher, dann gehe eine Abstraktionsebene weiter weg (XML, eigene DTD?) und generiere HTML aus Deinen eigenen Tags. Deshalb habe ich oben bewußt Phantasienamen verwendet.

Leider habe ich einfach keine Ahnung von XML, DTD und alles, was da so zugehört. Ich habe das jetzt also so gut wie möglich umgesetzt, XML-konform ist meine Datenbank aber sicher kein Stück.

Der Aufwand mag noch vertretbar sein (ich bastele gerade an einem Nachrichten-Viewer, der zu erraten versucht, ob er einen Dokument-Inhalt als HTML-Fließtext anzeigen darf oder doch besser mit <pre> der Formatierung der Original-Quelle folgen sollte ...), aber die Trennschärfe ist der Knackpunkt. Wenn Deine Aufgabenstellung hier Perfektion verlangt, mußt Du zu Methode I. greifen.

Mit Perfektion hat dies nicht ganz so viel zu tun. So wird z.B. zweimal das Wort "Programm" (in unterschiedlichen Datensätzen) auf unterschiedliche Seiten verlinkt. Ich muß also zuerst das Wort während des Durchlaufes finden, den Datensatz erkennen und dann in einer anderen Tabelle nachsehen, wohin verlinkt werden soll. Dies ist doch recht umständlich. Jetzt wird der Datensatz nach meinen Tags durchsucht, und dieser dann, je nach Ausgabeform, gelöscht oder in HTML-komforme Tags umgewandelt.

Die korrekte Beschreibung der Semantik hätte für mich absoluten Vorrang vor ein paar Millisekunden Laufzeit eines Transformators.

Da sind wir schon zwei *g*

Denn schlimmstenfalls kannst Du immer noch cachen, d. h. mehrere Versionen aus einem abstrakten "Master" statisch generieren und diejenige ausliefern, die gerade gebraucht wird. (Redundanz ist nicht immer böse.)

Da hast Du recht. Zumal auch Speicherplatz-Probleme und Rechenpower selbst bei sehr umfangreichen Datenbanken (z.B. mit Grafiken) heute echt nicht mehr das Problem darstellen.

Also, nochmals Danke und viele Grüße...

Alex :)