<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>GI-Workshop on Foundations of Databases (Grundlagen von Daten-
banken), September</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Ausblick Auf Einen Erweiterten CHASE-Algorithmus</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andreas Görres</string-name>
          <email>andreas.goerres@uni-rostock.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andreas Heuer</string-name>
          <email>andreas.heuer@uni-rostock.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>CHASE-Algorithmus, Kon uenz, Terminierung, Privacy, Pro-</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Lehrstuhl für Datenbank- und, Informationssysteme, Institut für Informatik, Universität Rostock</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Lehrstuhl für Datenbank- und, Informationssysteme, Institut für Informatik, Universität Rostock</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>venance</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <volume>0</volume>
      <fpage>1</fpage>
      <lpage>03</lpage>
      <abstract>
        <p>Der CHASE ist ein grundlegender Algorithmus der Datenbanktheorie, der uber noch ungenutztes Potential hinsichtlich seiner praktischen Umsetzung in Systemen verfugt. In den von uns untersuchten Anwendungsbereichen wurden eine Reihe von Problemfallen identi ziert, fur die der CHASE interessant sein konnte. Allerdings sind diese Anwendungsbereiche mit zahlreichen Datenbankkonzepten wie komplexeren Anfrageoperationen verbunden, die bisher nicht (gemeinsam) in den CHASE integriert wurden. Die Erweiterung des CHASE um diese Anfrageoperationen, wie Negation, allgemeine Vergleiche oder Aggregatfunktionen, muss jedoch kontrolliert erfolgen, um E ektivitat, Kon uenz und Terminierung des CHASE nicht zu gefahrden und so eine e ektive Anwendung des Algorithmus auf praktisch relevante Problemfalle zu ermoglichen. Um Auswirkungen von CHASE-Erweiterungen einschatzen zu konnen, mussen zunachst E zienz, Kon uenz, Terminierung und E ektivitat des bisher etablierten CHASE verstanden und gegebenenfalls naher untersucht werden. In dieser Arbeit stellen wir erste Erkenntnisse hinsichtlich Terminierung und Kon uenz des Standard-CHASE zusammen.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>KURZFASSUNG</title>
    </sec>
    <sec id="sec-2">
      <title>Stichworte</title>
    </sec>
    <sec id="sec-3">
      <title>ANWENDUNGSBEREICH</title>
      <p>Der CHASE integriert CHASE-Parameter, dargestellt als
spezielle pradikatenlogische Formeln, in CHASE-Objekte,
diese auch dargestellt als spezielle, aber andersartige,
pradikatenlogische Formeln. So kann man Integritatsbedingungen
als CHASE-Parameter in Anfragen integrieren, um die
Anfragen semantisch (unter Berucksichtigung der
Integritatsbedingungen) optimieren zu konnen. Auf diese Weise kann
beispielsweise die Anzahl der Verbundoperationen reduziert
werden, was die E zienz der Anfrage steigert. Man kann als
CHASE-Parameter aber auch Sichtde nitionen verwenden,
um diese in Anfragen integrieren zu konnen, um die
Anfragen statt uber den Relationen der Datenbank nur noch uber
den Sichten auszufuhren. Auf diese Weise kann
beispielsweise Privacy garantiert werden, wenn der direkte Zugri auf
die Basisrelationen der Datenbank aus Datenschutzgrunden
nicht erlaubt ist. Statt Anfragen als CHASE-Objekte zu
verwenden, kann man aber auch eine Datenbank als
CHASEObjekt verstehen. Die CHASE-Parameter sind dann
Transformationen der Datenbank, etwa auch Datenanalysen oder
klassische Anfragen. Der CHASE kann dann als
Anfragemechanismus verstanden werden. Anwendungsfalle fur den
CHASE auf Datenbanken ist etwa die Integration
mehrerer lokalen Datenbanken zu einer zentralen Datenbank oder
die gemeinsame Evolution eines Datenbankschemas und den
jeweiligen Datenbankanfragen unter Berucksichtigung der
Provenance. In Unterabschnitt 3.1 werden wir, nach
Besprechung der theoretische Grundlagen des CHASE und ihrer
Demonstration anhand eines praktischen Beispiels, auf die
unterschiedlichen Anwendungszwecke des CHASE
zuruckkommen.</p>
      <p>Um die oben genannten Teilprobleme der Privacy,
Provenance und Anfrageoptimierung gemeinsam losen zu
konnen, mussen die bisher getrennten Anwendungen des
CHASE auf verschiedene CHASE-Objekte und mit verschiedenen
CHASE-Parametern in eine gemeinsame Technik integriert
werden.
2.</p>
    </sec>
    <sec id="sec-4">
      <title>PROBLEMSTELLUNG</title>
      <p>Die Rahmenbedingungen Privacy, Provenance und E
zenzoptimierung sollen in Datenauswertungsverfahren
integriert werden, indem uber die einheitliche Grundtechnik des
CHASE ursprunglich getrennte Problemlosungen zu einer
Gesamtlosung kombiniert werden.</p>
      <p>Hieraus leiten sich folgende zwei Herausforderungen ab:</p>
      <sec id="sec-4-1">
        <title>Vereinheitlichung der CHASE-Techniken</title>
      </sec>
      <sec id="sec-4-2">
        <title>Kontrollierte Erweiterung des CHASE</title>
        <p>
          Vereinheitlichung der CHASE-Techniken: Obwohl
der CHASE { von einem abstrakten Gesichtspunkt
betrachtet { ein universeller Algorithmus ist, der unterschiedliche
Arten von Parametern verarbeiten und so in einer Vielzahl
von Aufgabengebieten Verwendung nden konnte [
          <xref ref-type="bibr" rid="ref5">4</xref>
          ], gehen
praktische Implementierungen des Algorithmus bisher in der
Regel von einzelnen Anwendungsfallen aus (z.B.
Datenbereinigung oder Anfrageoptimierung). Voraussetzung fur die
folgenden Arbeitsschritte ist, die unterschiedlichen konkreten
Ausfuhrungen des CHASE in einem Gesamtmodell des
Algorithmus zu kombinieren, damit die oben genannten
Fragestellungen der Privacy, Provenance und Anfrageoptimierung
mit derselben Grundtechnik einheitlich und in abgestimmter
Kombination zueinander gelost werden konnen.
        </p>
        <p>Erweiterung des CHASE: Obwohl der CHASE in der
Datenbanktheorie ein ungeheuer machtiges Werkzeug
darstellt, ist er bisher fur praktische Erfordernisse von
Datenbankanwendungen inadaquat. Tatsachlich beschrankt sich
der klassische Standard-CHASE auf die Abbildung von
Konjunktionen positiver
Selektions-Projektions-Verbund-Anfragen, wobei die Selektion lediglich auf dem Testen von
Gleichheit beruht. Um E ektivitat in den zuvor genannten
Anwendungsgebieten zu erreichen, wird eine Erweiterung um
weitere Vergleichsoperatoren, Negation und Funktionen
benotigt. Diese Erweiterung sollte jedoch kontrolliert erfolgen,
um Terminierung, Kon uenz und E zienz des Verfahrens
nicht zu gefahrden. Tatsachlich handelt es sich beim in dieser
Arbeit betrachteten CHASE-Algorithmus bereits um eine
Erweiterung des ursprunglichen Tableau-Verfahrens { auch
diese Erweiterungen gingen mit Einschrankungen der
ursprunglich garantierten Terminierung und Kon uenz einher.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>3. STAND DER FORSCHUNG 3.1</title>
    </sec>
    <sec id="sec-6">
      <title>Der CHASE</title>
      <p>
        Zahlreiche grundlegende Anwendungsfalle der
Datenbankforschung haben gemeinsam, dass sie mit Hilfe eines
Universalmodells gelost werden konnen [
        <xref ref-type="bibr" rid="ref9">8</xref>
        ]. Soll beispielsweise eine
Quelldatenbank unter Berucksichtigung von
Integritatsbedingungen in eine Zieldatenbank uberfuhrt werden, so kann
es zahlreiche mogliche Losungen des Problems geben,
welche die Integritatsbedingungen erfullen. Aus einigen dieser
Zieldatenbanken { den sogenannten universellen Losungen
{ lassen sich alle anderen Losungen des Problems durch
homomorphe Abbildungen gewinnen. Stellt man (boolesche)
Datenbankanfragen an diese Universallosung, so erhalt man
genau fur die Anfragen positive Antworten (die
sogenannten sicheren Antworten), die auch fur jede andere mogliche
Variante der Zieldatenbank eine positive Antwort geliefert
hatten. Es liegt also nahe, eine Universallosung als Losung
des Datenaustauschproblems zu wahlen und zu
materialisieren. Universallosungen lassen sich direkt aus dem
Universalmodell ableiten, welche durch den CHASE berechnet werden
konnen. Allerdings handelt es sich bei der Standard-Variante
des CHASE (im Gegensatz zu einer komplizierteren
Spezialform, dem Core-CHASE) um keinen vollstandigen
Algorithmus, um Universalmodelle zu erzeugen. In der weiteren
Arbeit werden wir jedoch uber diese Unvollkommenheit des
Standard-CHASE (also die Existenz von Universalmodellen,
die dieser CHASE nicht nden kann) hinwegsehen.
      </p>
      <p>Im Folgenden soll der grundlegende Ablauf eines
CHASESchrittes betrachtet werden. Der grundlegende Ablauf ist in
Algorithmus 1 (mit CHASE-Parametern , CHASE-Objekt
I und neu erzeugten Nullwerten bzw. existenzquanti
zierten Variablen FRESH) gegeben. Zunachst mussen wir einige
Begri ichkeiten klaren. Der CHASE arbeitet, allgemein
gesehen, Parameter in Objekte ein. Sowohl Parameter als auch
Objekte sollten als pradikatenlogische Formeln erster
Ordnung (ohne Funktionssymbole oder Negationen) darstellbar
sein. Ohne Verlust der Allgemeinheit werden wir die
Parameter als Integritatsbedingungen und das Objekt als
Datenbankinstanz bezeichnen { tatsachlich konnte die Instanz
jedoch z.B. auch den Korper einer Datenbankanfrage
darstellen (die sogenannte kanonische\ Instanz der Anfrage).</p>
      <p>"
Integritatsbedingungen lassen sich in tupelerzeugende
Abhangigkeiten (TGDs) und gleichheiterzeugende
Abhangigkeiten (EGDs) unterteilen:</p>
      <p>T GD : 8X; Y : (X; Y ) ! 9Z : (X; Z)</p>
      <p>EGD : 8X : (X) ! x1 = x2:
und sind hierbei Mengen relationaler Atome, X; Y und
Z sind jeweils Mengen allquanti zierter Variablen und
Konstanten, Z ist eine Menge existenzquanti zierter Variablen,
und x1 sowie x2 sind Variablen oder Konstanten aus X.
Kommen keine existenzquanti zierten Variablen im Kopf
der TGD vor, so sprechen wir von einer vollen
Abhangigkeit, ansonsten von einer eingebetteten Abhangigkeit.</p>
      <p>Durch den Rumpf der Integritatsbedingung wird ein
Muster de niert. Erfullt ein Tupel der Instanz (oder ein Atom
eines Anfragerumpfes) das Muster, lasst sich ein
Homomorphismus von den Variablen der Bedingung zu den
KonstanAlgorithmus 1 STANDARD-CHASE( , I)
1: while xpoint not reached do
2: choose nondeterministically 2
3: for each active trigger h for in I do
4: if is a TGD with head 9Z : (X; Z) then
5: h := h [ fZ 7! N g where N FRESH
6: I := I [ h( (X; Z))
7: else if is an EGD with head xi = xj then
8: if fh(xi) 6= h(xj)g CONSTANT then
9: fail
10: ! := fh(xi) ! h(xj)g (h(xj) &gt; h(xi))
11: I := !(I)
ten und Nullwerten der Instanz (bzw. zu den all- und
existenzquanti zierten Variablen des Anfragerumpfes) nden. In
diesem Fall sprechen wir auch vom Vorliegen eines Triggers.
Der Trigger ist aktiv (Zeile 3), wenn die Bedingung noch
nicht erfullt ist. Fur TGDs testen wir hierfur, ob der
Homomorphismus so fur die existenzquanti zierten Variablen des
TGD-Kopfes erweitert werden kann, dass das Bild des
TGDKopfes unter dem erweiterten Homomorphismus bereits in
der Datenbank existiert. Ist dies nicht der Fall, wird der
Homomorphismus stattdessen so erweitert, dass die
existenzquanti zierten Variablen auf neu erzeugte markierte
Nullwerte abgebildet sind (Zeile 5). Die so de nierten neuen
Tupel werden in der Datenbankinstanz materialisiert (Zeile 6).
Fur EGDs wird uberpruft, ob das Gleichheitsatom x1 = x2
bereits erfullt ist, also ob das Bild beider Terme unter dem
Homomorphismus identisch ist. Ist dem nicht der Fall,
unterscheiden wir die folgenden drei Falle:</p>
      <p>Das Bild beider Terme sind unterschiedliche
Konstanten (wobei das Bild einer Konstanten die
Konstante selbst ist). Ist dies der Fall, scheitert der CHASE
(Zeile 9).</p>
      <p>Das Bild beider Terme sind unterschiedliche
Nullwerte. In der gesamten (Ziel-) Datenbankinstanz wird
einer der Nullwerte (gewohnlich der mit hoherem Index)
durch den anderen ersetzt.</p>
      <p>Das Bild des einen Terms ist eine Konstante, wahrend
das Bild des anderen Terms ein Nullwert ist. In der
gesamten (Ziel-) Datenbankinstanz wird der Nullwert
durch die Konstante ersetzt.</p>
      <p>Fur Instanzen lasst sich also eine Hierarchie zwischen
Konstanten und Nullwerten de nieren (siehe Gro envergleich in
Zeile 10 des Algorithmus). Handelt es sich beim
CHASEObjekt um eine Datenbankanfrage, besteht diese Hierarchie
zwischen Konstanten, allquanti zierten und
existenzquantizierten Variablen.</p>
      <p>
        In der Langversion dieser Arbeit [
        <xref ref-type="bibr" rid="ref15">14</xref>
        ] wird die
Wirkungsweise des CHASE auf einem Tableau beispielhaft dargestellt;
aus Platzgrunden muss hierauf an dieser Stelle verzichtet
werden.
      </p>
      <p>
        Der CHASE-Algorithmus ist uber vierzig Jahre alt [
        <xref ref-type="bibr" rid="ref17">16</xref>
        ].
Ursprunglich diente er lediglich der Absicherung eines guten
Datenbankentwurfs, seitdem sind jedoch zahlreiche
Anwendungsgebiete hinzugekommen, wie beispielsweise Integration
heterogener Datenbanken [
        <xref ref-type="bibr" rid="ref11">10</xref>
        ], Anfragetransformation mit
Beschrankung auf bestimmte Nutzersichten (AQuV;
Answering Queries using Views) [
        <xref ref-type="bibr" rid="ref10">9</xref>
        ], Data Cleaning [
        <xref ref-type="bibr" rid="ref2">1</xref>
        ],
Anfrageoptimierung unter Integritatsbedingungen [
        <xref ref-type="bibr" rid="ref3">2</xref>
        ] und
Datenbanktransformationen [
        <xref ref-type="bibr" rid="ref11">10</xref>
        ].
      </p>
      <p>
        Weitere Anwendungsgebiete, wie etwa die Invertierung von
Datenbanktransformationen und Provenance-Management,
sind gegenwartiger Stand der Forschung am Lehrstuhl fur
Datenbank- und Informationssysteme [
        <xref ref-type="bibr" rid="ref4">3</xref>
        ].
      </p>
      <p>Aus den oben genannten Anwendungsgebieten ergibt sich
bereits eine deutliche Variabilitat der moglichen
CHASEParameter und -Objekte. Fur Datenbankintegration und
Datenbanktransformation werden Transformationsregeln
(source-to-target TGDs) verwendet, fur AQuV kommen
Sichtdenitionen (TGDs) zum Einsatz, und Data Cleaning sowie
Anfrageoptimierung erfolgt unter Verwendung allgemeiner
Integritatsbedingungen (EGDs und TGDs). Wie bereits
zuvor erwahnt, handelt es sich beim Objekt des CHASE
entweder um eine Datenbankanfrage (Anfrageoptimierung und
AQuV) oder um eine Datenbankinstanz (alle anderen
Anwendungsfalle).</p>
      <p>Wahrend die meisten der oben genannten Probleme bei
Wahl geeigneter CHASE-Parameter und -Objekte durch den
Standard-CHASE direkt gelost werden konnen, setzt die
Anfrageoptimierung und -transformation unter
Integritatsbedingungen durch den CHASE mehrere Hilfsalgorithmen
voraus. Im Wesentlichen handelt es sich hierbei um das unter
dem Namen Backchase bekannte Verfahren, der das
Ergebnis des vorherigen CHASE als Ausgangspunkt eines
erneuten CHASE in umgekehrter Richtung verwendet und
anschlie end durch Finden eines homomorphen Kerns
Redundanzen aus dem Ergebnis entfernt.
3.2</p>
    </sec>
    <sec id="sec-7">
      <title>Konfluenz, Terminierung und Effizienz des universellen CHASE</title>
      <p>
        Bisher wird der CHASE-Algorithmus zwar noch nicht in
kommerziellen Losungen verwendet (Ausnahme: aus dem
Forschungsprototyp Clio entwickelte Teile des IBM
Information Servers), es gibt jedoch eine Reihe prototypischer
Implementierungen, mit denen einige Anwendungsfalle des
CHASE naher untersucht werden konnen. Allerdings kann bisher
keiner dieser Prototypen alle in Unterabschnitt 3.1
genannten Anwendungsbereiche bearbeiten. So sind in der
CHASESoftware Llunatic [
        <xref ref-type="bibr" rid="ref13">12</xref>
        ] e ziente Techniken des
Datenbankbereinigung implementiert. Dies betri t nicht nur das
Ersetzen von Nullwerten durch Konstanten, sondern auch das
Au osen von Kon ikten unterschiedlicher Konstanten,
indem das System auf nutzerde nierte Praferenzregeln,
Mastertabellen oder Nutzereingaben zuruckgreift. Im Gegensatz
hierzu kann PDQ [
        <xref ref-type="bibr" rid="ref7">6</xref>
        ] Anfrageoptimierungen durchfuhren, die
selbst kommerziellen Systemen uberlegen sind. PDQ
berucksichtigt neben Integritatsbedingungen auch Zugri smuster
und Kostenfunktionen. Aus diesen erzeugt das Programm
nicht nur optimierte Anfragen, sondern auch die hierzu
passenden Anfrageplane. Die von Llunatic und PDQ
berucksichtigten CHASE-Objekte sind also unterschiedlich und nur
in der Theorie aquivalent.
      </p>
      <p>
        Die Verarbeitung der unterschiedlichen
CHASE-Parameter und -Objekte ist tatsachlich in keinem uns bekannten
Werkzeug vereinheitlicht, stattdessen kommen immer
getrennte Techniken zum Einsatz. Die CHASE-Software Graal
[
        <xref ref-type="bibr" rid="ref6">5</xref>
        ] zeigt Ansatze fur die analoge Behandlung von
Instanzen und Anfragen, jedoch sind auch hier die
berucksichtigten Anwendungsfalle sehr speziell (eine zu PDQ aquivalente
Anfrageoptimierung ist beispielsweise nicht moglich). Zum
einen ermoglicht es Graal, Anfragen an eine (moglicherweise
unvollstandige) Datenbankinstanz zu stellen, welche durch
Anwendung von TGDs erganzt wurde. Zum anderen
formuliert Graal Anfragen unter Verwendung von TGDs um und
wendet diese auf Datenbankinstanzen an.
      </p>
      <p>
        An dieser Stelle sei erwahnt, dass einige
CHASE-Prototypen bereits jetzt uber Erweiterungen des zuvor
beschriebenen Standard-CHASE verfugen. VLog integriert
beispielsweise Negationen in den CHASE [
        <xref ref-type="bibr" rid="ref1 ref8">7</xref>
        ]. Ursprunglich handelte
es sich bei VLog um eine prototypische Umsetzung der
logischen Programmiersprache Datalog, welche vor allem im
Datenbankumfeld eingesetzt wird. Datalog ermoglicht die
Denition voller TGDs (in VLog auf eingebettete TGDs
erweitert), die keine Funktionssymbole, jedoch unter Umstanden
Negationen enthalten durfen. In VLog sind diese Negationen
auf strati zierte Mengen von TGDs beschrankt, eine
Einschrankung, die auf die Datalog-Theorie zuruckgeht. Wenn
wir den Test der Triggeraktivitat als Negation im CHASE
interpretieren (siehe Abschnitt 5), verfugt jedoch selbst der
klassische Standard-CHASE uber Negationen { und zwar
ohne eine Beschrankung auf strati zierte TGDs.
      </p>
      <p>Die ursprungliche Variante des CHASE { d.h. die
Berucksichtigung von Verbund-Abhangigkeiten (JDs) und
Funktionalen Abhangigkeiten (FDs) beim Datenbankentwurf {
ist sowohl terminierend, als auch kon uent. Der CHASE
erzeugt in diesem Fall also unabhangig von der
Reihenfolge der Regelanwendungen stets das gleiche (oder zumindest
ein isomorphes) Ergebnis. Die Erweiterung des CHASE um
existenzquanti zierte Variablen erlaubt es zwar, z.B.
Inklusionsabhangigkeiten und damit auch
Fremdschlusselbeziehungen zu berucksichtigen, jedoch unter Verlust der sicheren
Terminierung des Algorithmus. Tatsachlich kann diese
Terminierung des CHASE sogar abhangig von der
Reihenfolge der Regelanwendungen sein. Obwohl das allgemeine
Problem der CHASE-Terminierung unentscheidbar ist, wurden
inzwischen eine ganze Reihen von Testverfahren entwickelt,
welche eine sichere Terminierung des CHASE allein auf Basis
der Integritatsbedingungen zusichern konnen. Einige dieser
Kriterien werden in Abschnitt 4 vorgestellt.</p>
      <p>
        Wahrend die Terminierung des CHASE also recht gut
verstanden ist, wurde die erwahnte Reihenfolgeabhangigkeit,
also die Kon uenz des CHASE, bisher kaum untersucht.
Wie zuvor erwahnt ist der CHASE auf Funktionalen
Abhangigkeiten kon uent. Fur Erweiterungen der Funktionalen
Abhangigkeit ist der CHASE entweder kon uent
(GraphCHASE in [
        <xref ref-type="bibr" rid="ref12">11</xref>
        ]) oder Falle von Inkon uenz treten auf, die
dem Standard-CHASE vollig fremd sind (Conditional FDs
in [
        <xref ref-type="bibr" rid="ref18">17</xref>
        ]). Interessanterweise sind wichtige Spezialformen des
CHASE, wie der Oblivious-CHASE, der
Skolem-ObliviousCHASE und der Core-CHASE, kon uent, wenn wir lediglich
eingebettete TGDs, aber keine EGDs, berucksichtigen.
      </p>
      <p>Obwohl zum CHASE bereits zahlreiche
Komplexitatsuntersuchungen existieren, beziehen sich diese bisher meist auf
Worst-Case-Abschatzungen. In dieser Arbeit soll dies durch
neuere Techniken erweitert werden. So erlaubt die
Untersuchung der parametrischen Komplexitat, relativ konstant
bleibende Parameter (z.B. die Anzahl der Attribute) zu
isolieren. Durch die kostenbasierte Laufzeitabschatzung werden
prazisere Aussagen zur E zienz des CHASE moglich, die
uber ein Worst-Case Szenario hinaus gehen.</p>
    </sec>
    <sec id="sec-8">
      <title>VORARBEITEN ZUR TERMINIERUNG</title>
      <p>
        Die Thematik der CHASE-Terminierung wurde von uns
bereits in vorbereitenden Arbeiten untersucht [
        <xref ref-type="bibr" rid="ref14">13</xref>
        ]. Hierbei
lag der Schwerpunkt auf dem Vergleich der bisher bekannten
Terminierungskriterien des Standard-CHASE und der
Implementierung mehrerer dieser Kriterien. Obwohl das
Problem der CHASE-Terminierung namlich im Allgemeinen
unentscheidbar ist, gibt es Klassen von Integritatsbedingungen,
fur die der CHASE stets terminiert.
      </p>
      <p>Indem wir vor Durchfuhrung des eigentlichen CHASE den
verwendeten CHASE-Parameter auf seine Zugehorigkeit zu
einer dieser Klassen uberprufen, konnen wir die
Terminierung des CHASE unabhangig vom verwendeten
CHASEObjekt garantieren. Allerdings berucksichtigen die meisten
Terminierungstests nur eine Form von CHASE-Parameter,
und zwar TGDs, wahrend EGDs entweder ignoriert
werden konnen (z.B. im Fall der Schwachen Azyklizitat) oder
sogar zu fehlerhaften Testergebnissen fuhren konnen (z.B.
im Fall der Azyklizitat). Aus den verglichenen
Terminierungskriterien wurden die Kriterien Schwache Azyklizitat,
Reiche Azyklizitat, Safety und Azyklizitat ausgewahlt und
in Form eines Terminierungstesters des CHASE-Werkzeugs
ChaTEAU umgesetzt. Wahrend einige
Terminierungskriterien nicht vergleichbar miteinander sind, bilden Reiche
Azyklizitat, Schwache Azyklizitat, Safety und Azyklizitat (in
dieser Reihenfolge) eine Hierarchie hinsichtlich ihrer
Machtigkeit, wobei Azyklizitat das machtigste der untersuchten
Kriterien darstellt.</p>
      <p>Schwache Azyklizitat. Wenn eine TGD zu einer
Endlosschleife des Standard-CHASE beitragt, muss sie dazu in
der Lage sein, beliebig oft neue Tupel zu generieren. Da
die ursprungliche Datenbankinstanz als endlich
angenommen wird, enthalten diese Tupel notwendigerweise Werte,
die zuvor noch nicht in der Datenbankinstanz vorkamen {
durch den CHASE zuvor erzeugte markierte Nullwerte.
Diese Erkenntnis gilt ebenfalls fur die eingebetteten TGDs,
welche diese Nullwerte zuvor generiert hatten. Das Kriterium
der Schwachen Azyklizitat verfolgt die Weitergabe dieser
Nullwerte anhand eines Graphen mit besonderen (Beitrag
zur Erzeugung eines neuen Nullwertes) und gewohnlichen
Kanten (Weitergabe eines Wertes). Existiert in diesem
Graphen ein Zyklus, der durch eine besondere Kante geht, ist
die Terminierung des CHASE nicht garantiert.</p>
      <p>Reiche Azyklizitat. Im Gegensatz zum Standard-Chase
uberpruft der naive Oblivious-Chase die Aktivitat des
Triggers nicht. Gerat diese CHASE-Variante in eine
Endlosschleife, so enthalten wenigstens die Trigger der beteiligten TGDs
Werte, die zuvor nicht in der Datenbankinstanz vorkamen.
Wir fordern also nicht, dass diese Nullwerte des Triggers in
die neu erzeugten Tupel gelangen. Es werden folglich in
zusatzlichen Fallen neue Nullwerte erzeugt. Wir erganzen den
Graphen der Schwachen Azyklizitat daher um weitere
spezielle Kanten. Die Terminierung des naiven Oblivious-CHASE
kann nur dann garantiert werden, wenn der Graph keine
Zyklen durch besondere oder spezielle Kanten enthalt. In
diesem Fall wurde auch der Standard-CHASE terminieren, da
die Terminierung des naiven Oblivious-CHASE
hinreichendes Kriterium fur die Terminierung des Standard-CHASE
ist.</p>
      <p>Safety. Fur die Kriterien der Schwachen und Reichen
Azyklizitat wird zwischen der Erzeugung von Nullwerten
und der Weitergabe von Werten unterschieden. Unter
Umstanden konnen wir allerdings ausschlie en, dass bestimmte
Variablen einer TGD mit einem Nullwert der Instanz belegt
sind (indem wir Gleichheit mit einem Attribut fordern,
welches keinen Nullwert enthalten kann). Fur das
Safety-Kriterium schranken wir die Weitergabe allgemeiner Werte auf
die Weitergabe potentieller Nullwerte ein, wodurch wir die
Machtigkeit des Testkriteriums der Schwachen Azyklizitat
erhohen.</p>
      <p>Azyklizitat. Bei diesem Terminierungskriterium wird die
Azyklizitat der gegenseitigen TGD-Aufrufung nicht
untersucht (was einem wesentlich einfacheren
Terminierungskriterium entsprache). Stattdessen werden die relationalen
Atome der einzelnen TGDs um einen String sogenannter
"Adornments\ erganzt. Die Adornments werden auf eine Weise
zwischen Atomen des TGD-Rumpfes und TGD-Kopfes einer
TGD bzw. zwischen TGD-Kopf und TGD-Rumpf
verschiedener TGDs weitergegeben, die dem CHASE-Algorithmus
ahnelt. Diese U bertragung und Neuentstehung von adornten
Atomen wird durch einen Graphen modelliert, dessen
Zyklenfreiheit die Terminierung des CHASE garantiert. Durch
Nutzung des ebenfalls implementierten
Constraint-RewritingAlgorithmus der Substitutionslosen Simulation verarbeitet
der Terminierungstester neben TGDs auch EGDs.</p>
      <p>Diese Vorarbeiten hinsichtlich der CHASE-Terminierung
sollen in Folgearbeiten aktualisiert und durch vergleichbare
Untersuchungen zur Kon uenz erganzt werden.</p>
    </sec>
    <sec id="sec-9">
      <title>ERSTE ERWEITERUNGEN: NEGATION</title>
    </sec>
    <sec id="sec-10">
      <title>UND KONFLUENZ</title>
      <p>Um die Inkon uenz des CHASE anschaulicher diskutieren
zu konnen, de nieren wir zunachst eine Beispieldatenbank,
welche aus einer Tabelle fur Noten des Studiengangs
Informatik und einer Tabelle fur alle eingeschriebenen
Studierenden besteht. Wir nehmen an, dass die Tabelle der Noten aller
Studierenden aus E zienzgrunden horizontal fragmentiert
wurde, sodass jeder Studiengang uber eine separate
Notentabelle verfugt. Die Relation Noten Informatik besteht aus
den Attributen Matrikelnummer (Ma), Modulnummer (Mo)
und Note (No), wahrend die Attribute der
StudierendenRelation Matrikelnummer (Ma), Name (Na) und
Studiengang (St) sind.</p>
      <p>Im Folgenden orientieren sich die Namen der Variablen
an den Abkurzungen der Attribute, in denen sie stehen,
wobei existenzquanti zierte Variablen durch zwei Gro
buchstaben, allquanti zierte Variablen hingegen durch zwei
Kleinbuchstaben gekennzeichnet sind. Aufgrund dieser
Konvention konnte auf Quantoren verzichtet werden.</p>
      <p>U ber die Matrikelnummer der Studierenden sei eine
Fremdschlusselbeziehung zwischen beiden Relationen de niert. Die
folgende TGD r1 beschreibt die hiermit verbundene
Inklusionsabhangigkeit:
r1 :Noten Informatik(ma; mo; no)</p>
      <p>! Studierende(ma; NA; ST ):
Wie in Unterabschnitt 3.2 erwahnt, kann der Test der
Triggeraktivitat als Negation verstanden werden:
r10 :Noten Informatik(ma; mo; no);</p>
      <p>:Studierende(ma; NA2; ST2) ! Studierende(ma; NA; ST ):
Wird der CHASE ausschlie lich auf volle TGDs angewandt,
ist er monoton, womit sich seine Kon uenz begrunden lasst.
Wenn der CHASE durch Erweiterungen ein nicht-monotones
Verhalten zeigt, fuhrt dies also unter Umstanden zur
Inkonuenz des CHASE. Beispiele fur derartige nicht-monotonen
Erweiterungen sind Negation (einschlie lich des Tests der
Triggeraktiviertheit) und Deletion. Letzteres bezieht sich
etwa auf das Verschmelzen zweier Tupel nach Anwendung
einer EGD. Allerdings fuhren EGDs unter Umstanden
divergente Datenbankzustande zusammen und etablieren so
Konuenz.</p>
      <p>Betrachten wir zunachst einen einfachen Fall von
Inkonuenz auf Grundlage der zuvor de nierten
Inklusionsabhangigkeit r1. Wir erganzen eine weitere Inklusionsabhangigkeit
fur die Noten-Tabelle der Mathematikstudenten. Hier wollen
wir jedoch zusatzlich festlegen, dass Studierende, welche
Noten in Mathematik-Modulen erhalten, auch im Studiengang
Mathematik eingeschrieben sind:
r2 :Noten Mathematik(ma; mo; no)</p>
      <p>! Studierende(ma; NA; "Mathematik\):
Objekt des CHASE sei folgende Datenbankinstanz I:
I = fNoten Informatik(2; "Datenbanken III\; 4:0);
Noten Mathematik(2; "Stochastik I\; 1:0);</p>
      <p>Studierende(1; "Mustermann\; "Informatik\)g:
Wenden wir zuerst r1, und dann r2 an, werden zwei neue
Tupel erzeugt. Das gleiche Ergebnis erhalten wir, wenn die
Aktivitat des Triggers nicht getestet wird oder beide Regeln
parallel ausgewertet werden:</p>
      <p>I0 = I [ fStudierende(2; 1; 2);</p>
      <sec id="sec-10-1">
        <title>Studierende(2; 3; "Mathematik\)g:</title>
        <p>Wenden wir r2 zuerst an, wird der Trigger von r1 deaktiviert,
und kein zusatzliches Tupel kann erzeugt werden:</p>
        <p>I00 = I [ fStudierende(2; 1; "Mathematik\)g:</p>
        <p>Das Ergebnis der Regelanwendung ist hier abhangig von
ihrer Reihenfolge. Beide Ergebnisse erfullen alle gegebenen
Abhangigkeiten und sind universelle Losungen. Sind wir nur
an der Existenz eines bestimmten Eintrags interessiert, liefen
beide Reihenfolgen dasselbe Ergebnis. Wollen wir hingegen
die Anzahl vorhandener Tupel bestimmen { z.B. durch
Verwendung der Aggregatfunktion COUNT() in der
Datenbankanfrage { lasst sich eine sichere Antwort lediglich in Form
eines Intervalles ermitteln.</p>
        <p>Nehmen wir an, dass nicht alle Studierenden, die Noten
im Studiengang Informatik erworben haben, auch
Informatik studieren, sondern Informatikmodule etwa nur als
Nebenfach besuchen. Mathematik-Studierende, die Informatik
als Nebenfach belegen, haben durch ihre Hauptfach bereits
einen Eintrag in der Relation Studierende, sollten dort aber
zusatzlich als Informatikstudenten gefuhrt werden, wenn sie
entsprechende Module absolviert haben:
r20 :Noten Informatik(ma; mo; no);</p>
      </sec>
      <sec id="sec-10-2">
        <title>Studierende(ma; na; "Mathematik\)</title>
        <p>! Studierende(ma; NA2; "Informatik (Nebenfach)\):
Erweitern wir die zuvor verwendete Instanz um eine
Mathematikstudentin:</p>
        <p>I2 = fNoten Informatik(2; "Datenbanken III\; 4:0);
Noten Mathematik(2; "Stochastik I\; 1:0);
Studierende(1; "Mustermann\; "Informatik\)
Studierende(2; "Musterfrau\; "Mathematik\)g:</p>
        <p>Obwohl r2 und r20 nahezu identische Kopfe aufweisen, liegt
keine Inkon uenz zwischen r1 und r20 vor. Bei der
Untersuchung von Inkon uenz nehmen wir an, dass mehrere Regeln
gleichzeitig angewandt werden konnten. Wir setzen fur r20
jedoch voraus, dass Mathematik-Studierende bereits einen
Eintrag in der Relation Studierende besitzen. Unter dieser
Annahme (die in I2 zutri t) kann r1 aber nicht angewandt
werden:</p>
        <p>I3 = I2 [ fStudierende(2; 1; "Informatik (Nebenfach)\)g:
Varianten dieser U berlegung konnen genutzt werden, um
zyklische Beziehungen zu untersuchen. Wir de nieren
hierfur, dass Studierende, die Mathematik studieren, auch
mindestens einen Eintrag in der Relation Noten Mathematik
besitzen (vor Absolvieren ihres ersten Moduls erhalten
Studierende etwa einen Platzhalter-Eintrag in dieser Tabelle):
O ensichtlich sind r2 und r3 zyklisch. Tupel, die von der
einen TGD erzeugt werden, konnen von der jeweils anderen
Regel als Trigger verwendet werden. Dennoch besteht (bei
Verwendung des Standard-CHASE) keine Gefahr, in einer
Endlosschleife unendlich viele Tupel zu generieren. Wenn wir
r2 anwenden, erzeugen wir fur einen Studierenden der
Relation Noten Mathematik, dessen Matrikelnummer bekannt
ist, einen Eintrag in der Relation Studierende. Es existieren
nun also Eintrage fur den Studierenden mit besagter
Matrikelnummer in beiden Tabellen. Wenn wir fur diesen
Studierenden r3 anwenden wollen, darf in der Noten
MathematikTabelle noch kein Eintrag mit dieser Matrikelnummer
existieren (alle anderen Attribute sind nicht festgelegt), was fur
diesen Studierenden aber nicht zutri t. Tatsachlich ist dieser
Gedankengang Grundlage eines einfachen
Terminierungskriteriums des CHASE, der Schwachen Azyklizitat.
6.</p>
      </sec>
    </sec>
    <sec id="sec-11">
      <title>FAZIT</title>
      <p>Der CHASE-Algorithmus ist ein universeller Algorithmus
der Datenbanktheorie. Um ihn tatsachlich universell in
praktischen Anwendungsszenarien einsetzen zu konnen, werden
Erweiterungen { wie Negation oder Funktionssymbole {
benotigt.</p>
      <p>Es ist bereits abzusehen, dass diese Erweiterungen Kon
uenz und Terminierung beein ussen. In der vorliegenden
Arbeit wurde dargelegt, dass bereits der etablierte CHASE eine
Form von Negation implementiert und daher inkon uent ist.
Da die Nicht-Terminierung des CHASE auf der Generierung
neuer Werte beruht, ist o ensichtlich, dass skalare
Funktionsterme eine ahnlichen Auswirkung wie existenzquanti
zierte Variablen auf die CHASE-Terminierung haben. Da
Kon uenz, Terminierung und E zienz also wohl nicht im
Allgemeinen fur den erweiterten CHASE garantiert werden
konnen, mussen Spezialfalle identi ziert werden, in denen
der CHASE e ektiv auf die untersuchten Anwendungsfalle
anwendbar ist.</p>
    </sec>
    <sec id="sec-12">
      <title>DANKSAGUNG</title>
    </sec>
    <sec id="sec-13">
      <title>LITERATUR</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          7.
          <string-name>
            <surname>Diese</surname>
          </string-name>
          <article-title>Arbeit wurde durch ein Stipendium der Landesgraduiertenforderung nanziell unterstutzt.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>F. N.</given-names>
            <surname>Afrati</surname>
          </string-name>
          and
          <string-name>
            <given-names>P. G.</given-names>
            <surname>Kolaitis</surname>
          </string-name>
          .
          <article-title>Repair checking in inconsistent databases: algorithms and complexity</article-title>
          .
          <source>In ICDT</source>
          , volume
          <volume>361</volume>
          of ACM International Conference Proceeding Series, pages
          <volume>31</volume>
          {
          <fpage>41</fpage>
          . ACM,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A. V.</given-names>
            <surname>Aho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Sagiv</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Ullman</surname>
          </string-name>
          .
          <article-title>E cient optimization of a class of relational expressions</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .,
          <volume>4</volume>
          (
          <issue>4</issue>
          ):
          <volume>435</volume>
          {
          <fpage>454</fpage>
          ,
          <year>1979</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>T.</given-names>
            <surname>Auge</surname>
          </string-name>
          .
          <article-title>Extended provenance management for data science applications</article-title>
          . In
          <source>PhD@VLDB</source>
          , volume
          <volume>2652</volume>
          <source>of CEUR Workshop Proceedings. CEUR-WS.org</source>
          ,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>T.</given-names>
            <surname>Auge</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Heuer</surname>
          </string-name>
          .
          <article-title>Prosa - using the CHASE for provenance management</article-title>
          .
          <source>In ADBIS</source>
          , volume
          <volume>11695</volume>
          of Lecture Notes in Computer Science, pages
          <volume>357</volume>
          {
          <fpage>372</fpage>
          . Springer,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Baget</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Leclere</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mugnier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Rocher</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Sipieter</surname>
          </string-name>
          .
          <article-title>Graal: A toolkit for query answering with existential rules</article-title>
          .
          <source>In RuleML</source>
          , volume
          <volume>9202</volume>
          of Lecture Notes in Computer Science, pages
          <volume>328</volume>
          {
          <fpage>344</fpage>
          . Springer,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M.</given-names>
            <surname>Benedikt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Leblay</surname>
          </string-name>
          , and
          <string-name>
            <surname>E. Tsamoura.</surname>
          </string-name>
          <article-title>PDQ: proof-driven query answering over web-based data</article-title>
          .
          <source>Proc. VLDB Endow</source>
          .,
          <volume>7</volume>
          (
          <issue>13</issue>
          ):
          <volume>1553</volume>
          {
          <fpage>1556</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>D.</given-names>
            <surname>Carral</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Dragoste</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Gonzalez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. J. H.</given-names>
            <surname>Jacobs</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Krotzsch, and</article-title>
          <string-name>
            <given-names>J.</given-names>
            <surname>Urbani</surname>
          </string-name>
          .
          <article-title>Vlog: A rule engine for knowledge graphs</article-title>
          .
          <source>In ISWC (2)</source>
          , volume
          <volume>11779</volume>
          of Lecture Notes in Computer Science, pages
          <volume>19</volume>
          {
          <fpage>35</fpage>
          . Springer,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Deutsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Nash</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. B.</given-names>
            <surname>Remmel</surname>
          </string-name>
          .
          <article-title>The chase revisited</article-title>
          .
          <source>In PODS</source>
          , pages
          <volume>149</volume>
          {
          <fpage>158</fpage>
          . ACM,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Deutsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Popa</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Tannen</surname>
          </string-name>
          .
          <article-title>Physical data independence, constraints, and optimization with universal plans</article-title>
          .
          <source>In VLDB</source>
          , pages
          <volume>459</volume>
          {
          <fpage>470</fpage>
          . Morgan Kaufmann,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>R.</given-names>
            <surname>Fagin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. G.</given-names>
            <surname>Kolaitis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. J.</given-names>
            <surname>Miller</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Popa</surname>
          </string-name>
          .
          <article-title>Data exchange: semantics and query answering</article-title>
          .
          <source>Theor. Comput. Sci.</source>
          ,
          <volume>336</volume>
          (
          <issue>1</issue>
          ):
          <volume>89</volume>
          {
          <fpage>124</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>W.</given-names>
            <surname>Fan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Fan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Tian</surname>
          </string-name>
          , and
          <string-name>
            <given-names>X. L.</given-names>
            <surname>Dong</surname>
          </string-name>
          .
          <article-title>Keys for graphs</article-title>
          .
          <source>Proc. VLDB Endow</source>
          .,
          <volume>8</volume>
          (
          <issue>12</issue>
          ):
          <volume>1590</volume>
          {
          <fpage>1601</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>F.</given-names>
            <surname>Geerts</surname>
          </string-name>
          , G. Mecca,
          <string-name>
            <given-names>P.</given-names>
            <surname>Papotti</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Santoro</surname>
          </string-name>
          .
          <article-title>An overview of the llunatic system</article-title>
          .
          <source>In SEBD</source>
          , pages
          <volume>159</volume>
          {
          <fpage>166</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>A.</given-names>
            <surname>Go</surname>
          </string-name>
          <article-title>rres. Erweiterung des CHASE-Werkzeugs ChaTEAU um ein Terminierungskriterium</article-title>
          . Masterthesis, Universitat Rostock,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>A.</given-names>
            <surname>Go</surname>
          </string-name>
          <article-title>rres and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Heuer</surname>
          </string-name>
          .
          <article-title>Ausblick auf einen erweiterten CHASE-Algorithmus</article-title>
          .
          <source>Technical Report CS 01-21</source>
          , Institut fur Informatik,
          <source>Universitat Rostock</source>
          ,
          <year>2021</year>
          . Langfassung dieser Arbeit.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>H.</given-names>
            <surname>Grunert</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Heuer</surname>
          </string-name>
          .
          <article-title>Query rewriting by contract under privacy constraints</article-title>
          .
          <source>Open J. Internet Things</source>
          ,
          <volume>4</volume>
          (
          <issue>1</issue>
          ):
          <volume>54</volume>
          {
          <fpage>69</fpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>D.</given-names>
            <surname>Maier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. O.</given-names>
            <surname>Mendelzon</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Sagiv</surname>
          </string-name>
          .
          <article-title>Testing implications of data dependencies</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .,
          <volume>4</volume>
          (
          <issue>4</issue>
          ):
          <volume>455</volume>
          {
          <fpage>469</fpage>
          ,
          <year>1979</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>R. D.</given-names>
            <surname>Ndindi</surname>
          </string-name>
          .
          <article-title>Repairing data with con ict-free conditional dependencies</article-title>
          . Masterthesis, University of Edinburgh,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>