= Datenbanken unter Linux =
Wer unter Linux Daten verwalten will, hat dazu sehr viele Möglichkeiten. Diese Seite soll als Hilfe dienen, welche Software aus dem Riesen-Wust der Möglichkeiten für ein bestimmtes Problem sinnvoll ist. Ich bitte darum, daß diese Aufstellung erweitert wird, falls jemand Erfahrung mit anderer Software hat.
Zuerst einmal wird oft ein Unterschied zwischen dem Datenbankserver und der Applikation gemacht. Der Server verwaltet die eigentlichen Daten, auf die man dann mit unterschiedlichsten Client-Applikationen zugreifen kann. In einer idealen Lösung kann man dann mit verschiedenen Werkzeugen unterschiedliche Aufgaben mit denselben Daten erledigen. Es gibt natürlich auch "integrierte" Datenbanken. Diese sind bei kleinen Datenmengen angenehm, weil man keinen Server installieren und einrichten muss, dafür sind sie nicht mehrbenutzerfähig und oft auch in der Datenbankfunktionalität eingeschränkt sowie nicht für wirklich große Datenmengen vorgesehen.
== Datenbankserver ==
* MySQL - die wohl beliebteste Datenbank der Welt
* PostgreSQL - Für komplexe Aufgaben die bessere Wahl, beherrscht z.B. auch eingebettete Methoden in verschiedenen Programmiersprachen, etc.
* [SQLite|SQLiteDB] - begann eher als eine C-Bibliothek denn als ausgewachsene Datenbank, "integriert" wie Thomas treffend oben formuliert hat.
* [HSQLDB|http://www.hsqldb.org] - integrierte Datenbank in Java, einfach aber sehr schlank, erlaubt auch reine Memory-Datenbanken, damit sehr gut für Unittests aber z.B. auch für JavaWebStart-Anwendungen geeignet
* JavaDB bzw. Apache Derby - in Java, sieht recht umfangreich aus, kann auch integriert werden
== Datenbank-Applikationen ==
=== Grundlegende Verwaltung der Datenbank ===
* SQL-Grundlagen, z.B. für eine Tonträger-Datenbank-Migration aus DBase, hallo anderer Thomas;-) [externer Link|http://riki-lb1.vet.ohio-state.edu/mqlin/computec/tutorials/sql_intro.pdf] zu einer Einführung von James Hoffmann
* Eine Einführung von Mike Hillyer in die Datenbank-Normalisierung und INNER/OUTER-JOINS: [Link in die Mysql-Bücherei|http://dev.mysql.com/tech-resources/articles/intro-to-normalization.html] (engl.)
* mysql-admin -Sehr gutes Tool, um wirklich alle Administrationsaufgaben an einer MySQL-Datenbank durchführen zu können. Leider fehlen Funktionen, um die eigentlichen Daten zu bearbeiten, völlig.
* PHPMyAdmin - Webapplikation für MySQL, weitverbreitet und ausgereift
* Wer nicht fies vor Java ist, kann mit Squirrel-SQL passable Datenbankzugriffe zu den berüchtigsten Datenbankservern bewerkstelligen und bleibt Plugin-fähig: http://squirrel-sql.sourceforge.net/. \\ Mir sind Bindungen zu [JDBC-ODBC|http://de.wikipedia.org/wiki/Java_Database_Connectivity], [MSSQL|http://de.wikipedia.org/wiki/Microsoft_SQL_Server], MySQL, [PostGreSQL|http://www.postgres.de], [Hibernate3|http://www.im.uni-passau.de/db/projekte?project=hibernate3], [DB2|http://www.ibm.com/software/data/db2/] bekannt -- MarkusMonderkamp
=== Integrierte Bearbeitung von Daten ===
Dies sind Programme, die in Ihrer Funktion Vorbildern wie "MS Access" nachempfunden sind. Man kann Verknüpfungen zwischen Tabellen definieren und dann ein Formular erzeugen, mit dem man die Daten editieren kann sowie Reporte ausdrucken. Durch Skripting z.B. innerhalb von Formularen etc. können sogar einfache Applikationen mit eigener Geschäftslogik erstellt werden.
* [KEXI|http://www.kexi-project.org/] - Teil des KOffice-Projekts, ich habe jedoch keinen richtigen Report-Generator gefunden.
* [KNODA|http://www.knoda.org/] - KDE-Applikation, sehr ansprechend, mit Reportgenerator
* Openoffice Base
* Rekall (habe ich noch nicht getestet)
* [iReport|http://www.jaspersoft.com/JasperSoft_iReport.html] von Thomas Bayen und Markus Monderkamp im November 2008 getestetes grafisches Datenbank-Report Werkzeug, das alle Reportmöglichkeiten von [Jasper-Reports|http://www.jaspersoft.com/JasperSoft_JasperReports.html] u.ä. Jasper-Produkte unterstützt.
Bei Kexi fehlte völlig der Reportgenerator. Den scheinbar dazugehörigen Generator "Kugar" konnte ich nicht zur Zusammenarbeit mit einer Datenbank überreden. Überhaupt halte ich von einer integrierten Lösung hier mehr, weil man seine Reporte ja auch auf vorhandene Views und Querys anwenden will. Vielleicht ist das Ganze innerhalb von "KOffice" besser integriert, das habe ich für den Test nicht komplett installieren wollen.
Mit Openoffice Base habe ich mich vor einiger Zeit mal beschäftigt. Es leidet stark darunter, daß man vor einigen Jahren die Datenbank aus Openoffice herausgerissen hat und das Thema seitdem nur stiefmütterlich behandelte. Inzwischen (seit OO 2.1, glaube ich) ist wieder eine Datenbank integriert. Der Reportgenerator ist jedoch immer noch ein Graus und auch der Formulareditor hat mich zum Wahnsinn getrieben. Intuitiv gehts nicht und an Doku mangelt es hochgradig. :-(
Mit Knoda habe ich innerhalb von einer Stunde alles hinbekommen, was ich mir vorgestellt hatte. Ich erkläre es daher zur Empfehlung der Redaktion. -- ThomasBayen
:Gute Übersicht, meinen Glückwunsch! -- MarkusMonderkamp
== Tips hier im Wiki ==
Wiki-Seiten über Datenbanken und Datenbank-Programmierung in diesem Wiki:
[{HasTagOf Datenbank}]
[{Tag Datenbank ServerDienste}]