[rak-list] Entity-Relationship-Modell und Relationale Datenbanksysteme

Jürgen Diet diet at bsb-muenchen.de
Don Okt 28 08:33:34 CEST 2010


Lieber Herr Ebersberg, liebe RAK-Liste,

angesichts Ihrer sehr kritischen Äußerungen gegenüber relationalen
Datenbanksystemen (RDB) möchte ich gerne einige Anmerkungen zu
RDBs machen. Sie haben recht, dass es für den Endbenutzer egal sein
sollte, was für ein Datenbanksystem einer bestimmten Anwendung
zugrunde liegt. Für den Endbenutzer ist wichtig, dass das konzeptionelle
Datenmodell die Wirklichkeit gut abbildet. Hierfür hat sich schon seit
Jahrzehnten das Entity-Relationship-Modell bewährt, das ja auch bei
FRBR eingesetzt wird. 
Wenn es um die Umsetzung des konzeptionellen Datenmodells (z.B. eines
Entity-Relationship-Modells) in einer konkreten Datenbank geht, dann
muss man sich für ein Datenbanksystem entscheiden und hat dabei
eine große Auswahl: relationale Datenbanksysteme, objektorientierte
Datenbanksysteme, XML-Datenbanken, usw. Die allermeisten 
Anwendungen laufen heutzutage mit relationalen Datenbanksystemen,
die inzwischen sehr ausgereift sind. Die große Marktdurchdringung der
RDBs hängt auch damit zusammen, dass sich mit der Datenbanksprache
SQL ein internationaler Standard etabliert hat (der zugegebenerweise
nicht von jedem RDB zu 100% erfüllt wird). Als die RDBs vor 30 Jahren
aus dem Boden sprießen, gab es tatsächlich massive Performance-
Probleme und sie schnitten bei den Antwortzeiten gegenüber der
damaligen Konkurrenz der Netzwerk-Datenbanksystemen nicht gut
ab. Diese Zeiten sind aber vorbei. Von Netzwerk-Datenbanksystemen
redet heute niemand mehr, und fast alle TOP-Ergebnisse bei den
aktuellen Datenbank-Benchmarks wurden mit RDBs erzielt (siehe
www.tpc.org ). Dass heutzutage eine neue Generation von
Datenbanksystemen (z.B. objektorientierte Datenbanksysteme) die
RDBs ablösen, sehe ich noch nicht.
Aus meiner Sicht sind RDBs durchaus ein geeignetes Mittel, um ein
Entity-Relationship-Modell zu implementieren. Das haben wir z.B.
im Probado-Projekt gemacht, als wir ein sehr stark an FRBR orientiertes
Entity-Relationship-Datenmodell in MySQL implementiert haben
(siehe http://www.probado.de/publications/Artikel_Forum_Musikbibliothek.pdf ).
Natürlich müssen im RDB nicht nur die Entities, sondern auch die Relationships
aus dem Entity-Relationship-Modell implementiert werden. Das ist ohne
weiteres möglich durch die Verwendung der in SQL normierten Fremd-
schlüssel. Wenn man MySQL einsetzt, muss man nur darauf achten,
dass man nicht die Standard-Storage-Engine MyISAM verwendet, 
sondern die Storage-Engine InnoDB, da MyISAM keine Fremdschlüssel
unterstützt.

Viele Grüße aus München,
Jürgen Diet
*************************************
Jürgen Diet
Bayerische Staatsbibliothek
Abteilung Bestandsaufbau/Erschließung
Referat Digitale Bibliothek
Ludwigstr. 16
80539 München
Tel. 089/28638-2768
email: juergen.diet at bsb-muenchen.de 
Skype-ID: juergen.diet
*************************************

Am 26.10.2010 08:21, schrieb Bernhard Eversberg:

> Das bleibt abzuwarten, an Versuchen wird's nicht fehlen. Worauf's mir
> ankam, war nur der Hinweis, daß "relational" eben gerade nicht
> automatisch als Qualitätsmerkmal für eine sachgerechte Umsetzung
> der FRBR relationships gelten kann, weil es sachlogisch nichts damit
> zu tun hat.
> Auch bisher schon sind die meisten Bibliothekssysteme, mit gewissen
> Ausnahmen, im Kern auf ein RDBS gegründet, z.B. Pica, doch an der 
> Oberfläche sieht man von den relationalen, also den tabellenförmigen,
> Konstrukten, so gut wie nichts, und auch intern stiften sie eher wenig
> Nutzen. Und zwar, weil dicke Schichten von Anwendungssoftware
> draufgesetzt sind. Weswegen es dann kaum noch etwas besagt, wenn das
> Ganze als relationales System betitelt wird. Wer dies ohne
> DB-Sachkenntnis, aber mit FRBR-Kenntnis hört, denkt intuitiv das
> Falsche. Was natürlich eigentlich egal ist, wenn er nicht selber der
> Softwerker ist, der alles umsetzt, aber wenn er z.B. der
> Entscheidungsträger ist, kann es ihn in die Irre führen
> hinsichtlich der Eignung einer DB-Plattform. Auch das ist aber eher
> unwahrscheinlich, weil Entscheidungen für fertige Systeme getroffen
> werden, nicht für DB-Plattformen: deren Wahl entscheiden eher die
> Softwerker - ohne tieferes FRBR-Wissen. Softwerker hingegen, vor die
> Entscheidung gestellt, auf welcher Plattform man etwas realisieren
> sollte, greifen i.d.R. ohne weitere Reflexion zum RDBs ihrer Präferenz,
> weil für sie "Datenbank" gleichbedeutend ist mit "RDBS" und "SQL",
> denn damit kann man, so das Dogma, mit Daten einfach alles machen.
> Performance ist dabei kein Thema - her mit mehr Power und mehr Speicher!
> (Wenn Sie nun eine gewisse Subjektivität des Urteils bei mir argwöhnen,
> mag aber auch da was dran sein...)
> Doch all das hilft weniger als nichts, RDBS hin oder her, wenn die
> Datengrundlage nicht das hergibt, was sachlogisch gebraucht wird. Denn
> es gilt noch stets: garbage in - garbage out. Und auch inkonsistente
> Daten, z.B. als Folge von Regelwerksbrüchen, sind in diesem Sinne ungut.

> B.Eversberg