12 Föderative Datenbanksysteme
Nach [KS91] äußert sich semantische Heterogenität in Form von Schemakonflikten sowie Datenkonflikten. Schemakonflikte können weiterhin unterteilt werden in Namenskonflikte, strukturelle Konflikte sowie Konflikte bei Integritätsbedingungen. Datenkonflikte beruhen entweder auf unterschiedlicher Datenrepräsentation oder fehlenden bzw. widersprüchlichen Datenbankinhalten. Diese Konfliktarten sollen im folgenden näher diskutiert werden. Wir nehmen dazu an, daß die LDBS das relationale Modell unterstützen (bzw. dieses als CDM verwendet wird). Einige der Konflikte können mit folgendem Beispiel illustriert werden.
UNIBIB PUBLIKATION (Pubnr, Titel, Typcode) BUCHPUB (Pubnr, Verlag, Ejahr, #Exemplare, ISBN) VERFASSER (Pubnr, Vname) SCHLAGWORT (Pubnr, Sname) STADTBIB BUCH (ISBN, Titel, Autor, Vnr, Jahr, Preis, Standort) VERLAG (Vnr, Vname, Adresse)
Für relationale Datenbanken beziehen sich Schemakonflikte v.a. auf Relationen und Attribute. Namenskonflikte treten in zwei Varianten auf: Synonyme und Homonyme. Synonyme liegen vor, wenn zwei identische bzw. semantisch äquivalente Objekte (Relationen, Attribute) unterschiedliche Namen tragen. Unterschiedliche Objekte mit demselben Namen dagegen repräsentieren Homonyme. In obigem Beispiel sind die Attribute "Verlag" in BUCHPUB (UNIBIB) und "Vname" in VERLAG (STADTBIB) Synonyme, ebenso "Ejahr" (BUCHPUB) und "Jahr" (BUCH). Die Attribute "Vname" in VERFASSER bzw. in VERLAG sind dagegen Homonyme (Verfasser- vs. Verlagsname).
Strukturelle Konflikte treten in vielfältiger Weise auf. So können semantisch äquivalente Informationen (Objekte, Beziehungen) entweder als Relationen oder als Attribute repräsentiert werden. Dabei ist eine Abbildung auf unterschiedlich viele Relationen sowie unterschiedlich viele Attribute möglich. Im Beispiel liegt so in STADTBIB eine eigene Relation VERLAG vor, während in UNIBIB "Verlag" ein einfaches Attribut ist. Umgekehrt werden Angaben zu Autoren in UNIBIB innerhalb einer eigenen Relation geführt (VERFASSER), um mehrere Autoren pro Publikation gleichrangig berücksichtigen zu können, während in STADTBIB ein einfaches Attribut (Autor) verwendet wird. Buchangaben sind primär in den Relationen BUCHPUB bzw. BUCH repräsentiert, welche unterschiedlich viele Attribute aufweisen. Insgesamt sind die bibliographischen Angaben über unterschiedlich viele (4 vs. 2) Relationen verstreut.
Konflikte bezüglich Integritätsbedingungen beziehen sich auf Relationenebene auf Unterschiede bei der Definition der Primärschlüssel und weiteren Schlüsselkandidaten, die Festlegung der Fremdschlüssel sowie unterschiedliche Aktionen zur Wartung der referentiellen Integrität sowie sonstige anwendungsspezifische Integritätsbedingungen, wie sie in SQL92 mit der CHECK-Klausel definiert werden können. Auf Attributebene können Unterschiede beim Datentyp, dem Wertebereich, bei Default-Werten, bezüglich der Zulässigkeit von Nullwerten sowie allgemeinen CHECK-Bedingungen Probleme bereiten.
Im Beispiel liegen unterschiedliche Primärschlüssel vor. In UNIBIB wird hierzu eine in der anderen Datenbank unbekannte "Pubnr" verwendet, während in STADTBIB Bücher über ihre ISBN identifiziert werden. Dieses Attribut existiert auch in UNIBIB, könnte dort jedoch optional besetzt werden (bei Zulässigkeit des Nullwertes). Dann wären möglicherweise übereinstimmende Bücher nicht ausfindig zu machen. Auch bei den Attributen bezüglich Titel-, Autoren- oder Verlagsangaben könnten unterschiedliche Datentypen bzw. sonstige Abweichungen bezüglich Integritätsbedingungen vorliegen, welche die Vergleichbarkeit einschränken.
Datenkonflikte betreffen Unterschiede hinsichtlich der DB-Inhalte, welche auf Schemaebene nicht erkennbar sind. Eine Konfliktursache liegt dabei in der Verwendung unterschiedlicher Datenrepräsentationen, wie sie auch bei übereinstimmenden Datentypen und Wertebereichen möglich ist. So kann bei Preisangaben die Vergleichbarkeit durch Verwendung unterschiedlicher Währungen und Mehrwertsteuer-Berücksichtigung erschwert werden. Für Namen (z.B. Autorennamen) können unterschiedliche Regelungen vorliegen bezüglich der Reihenfolge von Vor- und Nachnamen, der Verwendung von Trennzeichen zwischen Namensteilen, der Behandlung akademischer Titel, etc. So dürfte es z.B. schwierig sein, automatisch zu erkennen, daß die Angaben "Prof. Dr. Theo Härder", "Härder, Theo" und "HAERDER THEO" jeweils dieselbe Person bezeichnen.
Ähnliche Datenkonflikte entstehen durch falsche bzw. unvollständige DB-Inhalte, wie sie z.B. durch Eingabefehler oder unzureichende Informationen entstehen können (z.B. Autorennamen "T. Härder", "Harder, Th."). Widersprüchliche DB-Inhalte ergeben sich auch, wenn repliziert vorliegende Daten nicht zeitgleich geändert werden (z.B. Verlagsadresse).