Einführung

Dieser Artikel gibt eine erste systematische Einordnung der MuseumPlus-Datenbank und erläutert grundlegende Regeln für die Benutzung der nachfolgenden Artikel. 

Zunächst einmal ein paar Worte zum Datenmodell im Allgemeinen. MuseumPlus arbeitet mit einem rein relationalen Datenbankmodell. Alle Informationen sind also zusammengefasst als Datensätze und in Tabellen gespeichert. Diese Tabellen wiederum können miteinander Verknüpfungen aufweisen. Wer ein wenig Erfahrung mit Excel oder sogar einem relationalen Datenbanksystem wie Microsoft Access gesammelt hat, wird sich diese Art der Datenstruktur leicht vorstellen können.

Es ist nicht unbedingt selbstverständlich, dass MuseumPlus ausgerechnet diese Form der Datenspeicherung gewählt hat. Viele Archivierungssysteme arbeiten nicht mit relationalen, sondern hierarchischen Datenmodellen. Das macht die Datenbank inhaltlich etwas flexibler, da ein "Datensatz", also ein Set inhaltlich zusammengehöriger Informationen, anders als bei relationalen Datenbanken keine feste Länge hat. Er kann aus fünf, zehn, zweihundert oder wie viel Datenfeldern auch immer bestehen - je nachdem, wie viele Informationen eben erfasst worden sind. Ein verlockender Gedanke, der jedoch bei der späteren Suche und Druckausgabe Probleme aufwirft und die Verwertung der erfassten Daten aufwendig macht. Und ein gutes Datenbanksystem sollte nun einmal nicht nur Stärken bei der Erfassung und Speicherung von Informationen, sondern eben vor allem auch bei der Weiterverarbeitung haben. Nicht ohne Grund arbeiten die meisten Unternehmensdatenbanksysteme ebenfalls mit relationalen Datenbanken.

Will man in einer relationalen Datenbank eine bestimmte Information auslesen, benötigt man sozusagen die "Adresse" dieser Information. Die besteht aus drei Teilen: Der Tabelle, der Spalte und der Zeile innerhalt dieser Tabelle. Wie in einem Koordinatensystem kann ich damit jede Position innerhalb der Datenstruktur adressieren.

Ein Modul in MuseumPlus, bei dem einem die tiefere Kenntnis der Datenstruktur wirklich weiter hilft, ist der Listengenerator - also das Modul, in welchem die Druckausgaben und Exportmöglichkeiten definiert werden. Hier besteht nämlich die Möglichkeit, zusätzlich zu den angeboteten Auswahlmöglichkeiten an Feldern und Funktionen direkt auf die Datenbank zuzugreifen. Wenn man also weiß, wie, kann man praktisch jede Information aus der Datenbank auslesen - auch dann, wenn die "Bordmittel" für ein bestimmtes Ausgabeproblem kein Rezept mehr bereithalten sollten. Eine Möglichkeit, direkt auf die Datenbank zuzugreifen, bietet hier der VisualBasic-Befehl DLOOKUP, den man in Listendefinitionen einfach an Stelle eines Feldnamens einbinden kann. Um diesen Befehl einsetzen zu können benötige ich unter anderem auch die Information, in welcher Tabelle ein bestimmten Datenfeld gespeichert ist. Und genau hier hilft hoffentlich meine Übersicht über die Datenstruktur von MuseumPlus weiter.

Ich beginne zunächst einmal mit der Beschreibung der wichtigsten Tabellen der MuseumPlus-Datenbankstruktur. Ich orientiere mich dabei an der gegenwärtig aktuellen Version 5.0, wobei sich die Struktur auf Tabellenebene seit Version 4.1 nur unwesentlich geändert hat. Insofern sollten die meisten Tabellen auch in älteren Versionen von MuseumPlus zu finden sein. Bei der Suche nach der richtigen Tabelle für ein bestimmtes Datenfeld hilft eine interne Namenskonvention von MuseumPlus weiter: Die Namen aller Datenfelder in MuseumPlus beginnen mit einem drei Buchstaben langen Kürzel, welches auf die jeweilige Tabelle verweist, in der das Feld gespeichert ist. Weiß man also den Namen eines Datenfeldes, kann man anhand der folgenden Übersicht leicht die Tabelle ermitteln, in der das Feld gespeichert ist. Zur einfacheren Orientierung habe ich die Auflistung der einzelnen Tabellen in die einzelnen Module oder Bereiche von MuseumPlus gegliedert.

In den Auflistungen der Tabellen steht jeweils in eckigen Klammer hinter dem Tabellennamen immer das Feldpräfix der jeweiligen Tabelle. Darüber hinaus ist für jede Tabelle der Primärschlüssel angegeben - also das Feld, welches die jeweils eindeutige Datensatznummer für alle Datensätze in dieser Tabelle beinhaltet. Bei einigen Tabellen sind außerdem sogenannte Fremdschlüssel angegeben. Es handelt sich dabei um Felder, welche als Verweis auf einen Datensatz in einer anderen Tabelle dessen eindeutige Datensatznummer - also seinen Primärschlüssel - enthalten. Auf diese Weise können Informationen, die in unterschiedlichen Tabellen gespeichert sind, miteinander verknüpft werden. Und bei manchen Tabellen ist darüber hinaus ein Textschlüssel angegeben. Es handelt sich dabei um eine Datenfeld, über das bestimmte Datensätze eindeutig identifiziert werden können. Ein Beispiel dafür ist die Art einer Kommunikationsangabe im Adressmodul: Telefon, Fax, E-Mail, Web.