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]