Ernst Hügli wrote:
Hallo Andreas

Am 16.02.2010 12:40, schrieb Andreas Saeger:
Ich behaupte, dass es mit dem gegebenen Wekzeugsatz irrational ist, ein Datenbankprodukt zu erstellen, für das andere Leute gerne Geld auf den Tisch legen würden.
Die erste Frage wäre: "Wo kann ich das an meine Bedürftnisse anpassen?"
Antwort: Installiere einen Datenbankserver deiner Wahl, implementiere die erforderlichen Strukturen, Views, stored Procedures, Trigger und Zugangsberechtigungen, wenn Deine Datenbank dann fertig ist, programmiere schließlich ein Frontend hinter die archaische Formularstruktur von OOo Base. "Ach so, danke. Ich dachte Base wäre ein Datenbankprogramm." Nein, ist es nicht wirklich.
Einmal mehr: Du machst nieder, Du zeigst, was alles nicht geht - aber wo ist Dein Ansatz einer Lösung? Jammern kann jeder, aber das löst keine Probleme. Vor allem: Du sprichst schon wieder von einem Luxusschloss - kein Architekt, kein Baumeister wird so anfangen.

Es gibt wirklich sehr, sehr viele Datenbankentwickler für die es ungemein attraktiv *wäre*, ihre fertige Desktop-Datenbank von Access, FileMaker oder ähnlichem nach OOo zu portieren, ganz einfach wegen der Plattformunabhängigkeit und Lizenzkostenfreiheit der zugrundeliegenden Software.

Ich behaupte nicht, Du habest Unrecht - aber wenn es so ist: könnte nicht gerade das *ein* Lernziel sein? Und den Lernenden dadurch aufzeigen, welche Alternativen sie haben? *Was* sie mit Base lösen können, wo die Grenzen sind, und wo sie nach Alternativen (Programmieren *oder* einen anderen DB-Server aufschalten) suchen müssen bzw. wann sie einen Experten einschalten müssen. Gerade in dem Falle kann es nützlich sein, wenn im Gespräch mit dem Experten der User über ein Grundverständnis für DB's verfügt - das Gespräch wird in jedem Falle fruchtbarer.

Gibt es in rauhen Mengen. Scheint aber nicht zu helfen wenn "Point-And-Click" die einzig bekannte Methode ist, einem Computer etwas zu entlocken. Sinngemäß zitiert: "Ich habe keinen Bock auf einen akademischen Kurs in Datenbankphilosophie sondern ich will wissen, wie ich an's Ziel komme!" als Gegenantwort auf eine recht simple Antwort wie eine Datenbank mittels Primärschlüsseln editierbar gemacht werden kann, falls das die Datenbankverbindung überhaupt hergibt.

Ich behaupte aber, die wenigsten werden so weit in Base und DB's eindringen, dass die Beschränkungen für sie zum Problem werden. Denen aufzuzeigen, wo ihre Grenzen sind, könnte ja auch ein Lernziel sein. Gerade, damit nicht die Haltung aufkommt: "Ich brauche nur das richtige Programm, dann kann ich *alle* Probleme selber lösen." *Das* ist aber kein Base-spezifisches Problem. Was glaubst Du, wieviele Leute meinen, bloss weil sie ein bisschen in Writer tippen können seien sie die geborenen Layouter und Buchdrucker. Und verstossen gegen soviele Regeln wie nur möglich. Bloss: Writer ist etwas geduldiger und grosszügiger gegen Fehlmanipulationen bzw. typische Fehler als Base.

Und genau das kann mit einer Entwicklungsumgebung nicht mehr funktionieren, obwohl MS Access hier ähnliche Maßstäbe setzt wie Word/Excel ("Access macht das für mich"). "Damals(tm)", als ich das gleiche Drama mit MS Access durchlitt, hat mir erst ein wenig nackte Theorie das Aha-Erlebnis gebracht. Von da an habe ich überhaupt begriffen, was das Tool von mir verlangt bevor es in die Lage versetzt ist, mir zu helfen.

Die Base-Komponente und ihre zahlreichen Fehler sind ein viel größeres Problem als die Beschränkungen. Die ganze Anwendung ist faulig. Man kann wesentlich mehr erreichen, als die grafische Oberfläche nahelegt. Leider beinhaltet "wesentlich mehr" auch ein paar triviale Selbstverständlichkeiten, für die man bereits zum Texteditor greifen muss. Die Art und Weise wie der grafische Abfragedesigner durch immer andere Fehler funktionierende Abfragen in kaputte verwandelt hat schon etwas unterhaltsameres. Dabei beherrscht der ganze Abfragedesigner nicht mehr SQL als ein blutiger Anfänger nach einem halbtägigen Einführungskurs selber beherrschen könnte, was es andereseits recht leicht macht, das Ding komplett zu ignorieren.

Von daher: Aber na klar, Du stößt schon gleich am Anfang and die Grenzen von Base. Macht aber nix, wenn Du Dich auf die _einfachen_Grundlagen_der_Beschreibungssprache_SQL_ einlassen kannst.

Der Formularassistent kann wesentliche Aspekte einer ganz einfachen Relation zwischen zwei Tabellen nicht abbilden, weil er keine Listenfelder drauf hat. Dabei kann man im Handbetrieb fast alle denkbaren Relationen über viele Tabellen hinweg in brauchbare Formulare gießen (dazu sollte man dann aber besser die Assistenten für Steuerelemente abschalten!). Der Anfänger will aber zuallererst sein Formular erstellen, sieht aber nur den extrem limitierten Assistenten oder ein aber leeres Writer-Dokkument, bei dem die wichtigste Werkzeugpalette auch noch konsequent ausgeblendet wird: die Symbolleiste "Formulardesign".

All dies und die Tatsache, dass über Base ständig im Zusammenhang mit Makros diskutiert wird, führt verständlicherweise zu dem Eindruck, dass alles was die GUI nicht hergibt irgendwie in Basic nachprogrammiert werden muss.

Die angediente Skriptsprache "Basic" ermöglicht weder objektorientierte Programmierung, was die Programmierung von dringend benötigten, wiederverwertbaren Komponenten unmöglich macht, noch ist diese Sprache nennenswert an UNO angepasst, was bei der Datenbankprogrammierung immer und immer wieder zu den immer gleichen Fragen der Typkonvertierung führt ("Nein, dies ist nicht VBA. Du musst zwischen Sprache und API unterscheiden und immer alle Parameter vom richtigen Typ liefern!").

Was mich persönlich betrifft, kann ich Version 3.2 nicht benutzen weil ein großer Teil meiner Formulare (auch in meinen einfachsten Beispieldatenbanken) erst wieder mit 3.2.1 voll unterstützt wird.

Und weil ich doch immer so negativ bin:
Ich komme nicht umhin, immer wieder darauf hinzuweisen, dass Base zunächst einmal eine Brücke zwischen Datenquellen und Officedokumenten darstellt und als solche auch für unbedarfte Einsteiger wesentlich mehr zu bieten hat als Word oder Excel. Dieses Konzept funktioniert schon seit Version 1.0 hinreichend gut und mit neuen Treibern, verbesserten Parameterabfragen und einer handvoll Feldfunktionen auch immer praxisnäher.

Jede zweidimensionale Calc-Liste ist binnen 10 Minuten in etwas wesentlich leistungsfähigeres überführbar: Verzeichnis anlegen, dBase speichern, odb erstellen, Indices und Typen nachjustieren, Abfragen erstellen, Formularassistenten anwerfen, fertig). Dieselben nicht-relationalen Daten sind danach in allen Calc-Tabellen besser verarbeitbar als vorher.

Alles, was stärker in Richtung "Datenbankprogramm" weist geht immer noch wie in Version 1.0 davon aus, dass eine konistente Datenbankstruktur bereits in einem anderen Programm erstellt wurde. Base kann zwar seit v2.0 auch relationale Datenbanken selber erzeugen, hilft aber in keiner Weise dies auch sinnvoll zu tun. Im täglichen Support zeigt sich immer wieder, dass neben der leidigen Normalisierung ein schematisches Verständnis dieser speziellen HSQL-Datenbankverbindung notwendig ist, wärend die meisten Access-Benutzer die JET Datenbankengine getrost ignorieren können.

Dazu als Beleg mal ein positives Bekenntnis eines professionellen Anwenders:
Auch die Wolf Maschinenbau AG setzt seit vielen Jahren auf das freie Paket. Berthold 
Maier, verantwortlich für die Office-Migration, sagt: "Schnell ist uns 
klargeworden, dass OpenOffice.org mehr Vorteile als nur den Wegfall der Lizenzkosten 
bietet. Dank OpenOffice.org Base und einem MySQL-Server verfügen wir über eine 
firmenweite Datenbank zur Verwaltung von Kunden und Kontakten, mit direkter 
Anbindung an den Writer. Da das Paket auf allen Plattformen läuft, konnten wir in 
der Firma trotz Umstellung auf größtenteils Linux-Desktops sofort mit der vertrauten 
Software weiterarbeiten.

Die Wolf Maschinenbau AG kann also Datenbanken auch ohne Base verwenden und sie bekommen mit Base etwas an die Hand, um Datenbankbestände in ODF, PDF, doc, xls oder sogar in Präsentationen zu verwursten. Dies klappt einfach hervorragend, solange der Datenfluss in eine Richtung fließt, nämlich von der Datenquelle nach ODF und dann in andere Dateiformate oder Ausgabegeräte.

Für genau diese Anwender gibt es reichlich Informationsquellen, wie man neue Desktop-Datenquellen direkt in Base erzeugt und die Daten notfalls auch mal bergauf schaufeln kann, vom ODF-Formular in die Datenbank. Allerdings ist die Base-Komponente hier wirklich ganz schlecht konzipiert wie ich weiter oben ausfühlich begründet habe.

Mit dem Sun Report Builder habe ich neulich zwei Banker wirklich beeindrucken können. In 2 Klicks 30 Seiten strukturierte, gut lesbare Information als PDF von einem Laptop zum anderen. Die Prognose dann als xls auf derselben Datenbasis.

Dennoch ist für mich (ex Access-2000-Einsteiger) Base noch lange, lange kein richtiges Datenbankprogramm.

Hugh, Ich habe gesprochen,
Andreas Säger


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Antwort per Email an