<!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 />
    <article-meta>
      <title-group>
        <article-title>Aspektorientierte Datenhaltung - ein Modellierungsparadigma</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Matthias Liebisch</string-name>
          <email>m.liebisch@uni-jena.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Friedrich-Schiller-Universita ̈ t Jena Lehrstuhl f u ̈r Datenbanken und Informationssysteme Ernst-Abbe-Platz 2 07743 Jena</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2010</year>
      </pub-date>
      <abstract>
        <p>ZUSAMMENFASSUNG Relationalen Datenbanksystemen kommt seit Jahrzehnten eine zentrale Rolle bezuglich der Speicherung von Anwendungsdaten zu. Im Fokus der nicht nur initial zu bewaltigenden Aufgabe einer Datenbankmodellierung steht vor allem die strukturierte und modularisierte Abbildung von fachlichen Anforderungen aus den zugehorigen Anwendungen. In vielen Fallen storen jedoch sogenannte funktionale Aspekte, wie beispielsweise die Internationalisierung oder Versionierung von Nutzdaten, diesen Prozess, da sie als querschnittliche Belange weite Teile des Datenmodells betre en und sich mit herkommlichen Methoden nicht als eine logische Einheit modellieren lassen. Durch den damit verbundenen Verlust der Modularisierung entstehen weitere Nachteile wie eine schlechtere Wiederverwendbarkeit, Nachvollziehbarkeit und Wartung. Diese Arbeit prasentiert das Paradigma der Aspektorientierten Datenhaltung als Losungsansatz fur die beschriebene Problematik. In Analogie zum Konzept der Aspektorientierten Programmiersprachen (AOP) zur Bewaltigung der Cross-Cutting Concerns wird dabei das Ziel einer weitestgehenden Modularisierung sowohl der fachlichen als auch funktionalen Aspekte wahrend der Datenbankmodellierung verfolgt. Hierfur werden Anforderungen und Eigenschaften formuliert, die spater als Spezi kationsgrundlage fur mogliche Realisierungsstrategien dienen. Abschlie end beschreibt die Arbeit einen Implementierungsansatz am geeigneten Beispiel sowie dessen Bewertung.</p>
      </abstract>
      <kwd-group>
        <kwd>Bezeichnung</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Modul</title>
      <p>. . .
. . .</p>
    </sec>
    <sec id="sec-2">
      <title>Wahrung</title>
      <p>. . .</p>
    </sec>
    <sec id="sec-3">
      <title>Flags</title>
      <p>. . .</p>
    </sec>
    <sec id="sec-4">
      <title>Modulstruktur</title>
    </sec>
    <sec id="sec-5">
      <title>Oberteil</title>
    </sec>
    <sec id="sec-6">
      <title>Unterteil</title>
      <p>. . .
. . .</p>
    </sec>
    <sec id="sec-7">
      <title>Menge</title>
      <p>. . .</p>
      <p>Oberteil sowie
Unterteil sind
Fremdschlussel bezogen auf
Modul.TeilNr</p>
      <p>
        Abbildung 1: Modellierung von Stucklisten
Vertreter solcher funktionalen Aspekte sind insbesondere
die Versionierung, Internationalisierung und
Tenantfahigkeit von Datenmodellen, wobei letztgenannter Aspekt
gerade auch im Kontext von Database as a Service eine
wichtige Rolle spielt[
        <xref ref-type="bibr" rid="ref2">1</xref>
        ]. Zur Verdeutlichung der
Herausforderungen im Zusammenhang mit funktionalen Aspekten sei das in
Abbildung 1 dargestellte Beispiel mit der(unvollstandigen)
relationalen Modellierung einer Stucklistenstruktur
betrachtet. Neben den fachlichen Anforderungen, welche sich
beispielsweise im Schema der Tabellen Modulstruktur und
Modul widerspiegeln, ist in diesem Beispiel die Integration
des funktionalen Aspektes der Internationalisierung denkbar
{ von mehrsprachigen Texten (Modul.Bezeichnung) uber
verschiedene Preise und Wahrungseinheiten (Modul.Preis,
Modul.Wahrung) bis hin zu marktspezi schen
Stucklistenvarianten[
        <xref ref-type="bibr" rid="ref6">5</xref>
        ]. Abhangig von der Realisierung des
funktionalen Aspektes kommt es dadurch zu einer mehr oder
weniger starken Transformation des ursprunglich fachlich
orientierten Datenmodells, wobei auch Attribute von
jeglichen Aspekten unbeein usst bleiben (Modul.TeilNr,
Modul.Flags).
      </p>
      <p>Eine derartige Vermischung von fachlichen und funktionalen
Anforderungen bei der Modellierung bringt einige Probleme
mit sich. Eine direkte Folge ist die fehlende Abgrenzung von
Zustandigkeiten, da eine Kapselung der funktionalen
Aspekte nicht ohne weiteres moglich ist, wie beispielsweise bei der
Modellierung verschiedener Business-Objekte durch die
jeweiligen Experten bzw. Fachabteilungen. Stattdessen kann
sich der Wirkungsbereich eines funktionalen Aspektes uber
das gesamte Datenmodell erstrecken und zur Anpassung
einer Vielzahl von Relationen fuhren. Dadurch ist neben der
eigentlichen Arbeit zur Realisierung des fachlich orientierten
Datenbankmodells zusatzlicher Abstimmungsaufwand
notwendig, um die Anforderungen bezuglich der funktionalen
Aspekte adaquat zu berucksichtigen. Aufgrund einer solch
engen Verzahnung ist weiterhin sowohl mit einem
geringen Wiederverwendungsgrad als auch mit erhohtem
Wartungsaufwand der einzelnen Modellierungsobjekte zu
rechnen, d.h. es ist beispielsweise nicht einfach moglich ein
implementiertes Modul "Mehrsprachkeit\ aus einem
Datenmodell zu isolieren und in einem anderen Anwendungskontext
zu verwenden.</p>
      <p>Nachfolgend wird in Abschnitt 2 ein Konzept zur Losung der
einleitend beschriebenen Probleme bezuglich der
Integration funktionaler Aspekte vorgestellt, welches die
Entwicklung strukturierterer Datenmodelle ermoglicht. Hierfur
notwendige Strategien und Methoden zur Realisierung werden
anschlie end in Abschnitt 3 vorgestellt und in Abschnitt 4
bewertet, bevor Abschnitt 5 die vorliegende Arbeit
zusammenfasst.</p>
      <sec id="sec-7-1">
        <title>2. PRINZIP DER ASPEKTORIENTIERTEN</title>
      </sec>
      <sec id="sec-7-2">
        <title>DATENHALTUNG</title>
        <p>Dieser Abschnitt stellt das Konzept der Aspektorientierten
Datenhaltung vor, welches bezugnehmend auf die
Beschreibung funktionaler Aspekte (siehe De nition 1) wie folgt
formuliert werden kann.</p>
        <p>
          IDe nition 2. Die Aspektorientierte Datenhaltung
ist ein Paradigma, welches eine Datenbankmodellierung
unterstutzt, in der funktionale Aspekte unabhangig von der
fachlichen Modellierung integriert werden konnen.
Vordergrundig wird dabei das Ziel einer weitestgehenden
Modularisierung sowohl der fachlichen als auch funktionalen
Anforderungen verfolgt, sodass es zu einer moglichst minimalen
Uberschneidung dieser beiden Modellierungsebenen kommt.
Dabei grenzt sich das hier vorgestellte Konzept gegenuber
den von Rashid postulierten Aspect-Oriented
Database Systems (AODB) durch die grundsatzliche Zielstellung
ab. Auf der einen Seite werden die AODB als
Weiterentwicklung objektrelationaler bzw. -orientierter
Datenbanksysteme dargestellt, wobei Techniken der AOP sowohl zur
System-Implementierung selbst als auch fur die
Bereitstellung notwendiger Hilfsmittel zur Speicherung und Abfrage
von Aspekten aus einer entsprechenden
Programmiersprache heraus (z.B. AspectJ[
          <xref ref-type="bibr" rid="ref3">2</xref>
          ]) eingesetzt werden[
          <xref ref-type="bibr" rid="ref14">13</xref>
          ]. Auf der
anderen Seite soll das Paradigma der Aspektorientierten
Datenhaltung Moglichkeit aufzeigen, fur funktionale Aspekte
eine geeignete Abbildung basierend auf dem relationalen
Datenbankmodell als praxisrelevanteste DBMS-Technologie zu
de nieren, um sie im Rahmen einer klassischen (nicht
notwendigerweise aspektorientierten) Anwendungsentwicklung
bzw. -evolution zur Verfugung zu stellen.
        </p>
        <p>In einem ersten Unterabschnitt wird auf die Entstehung und
Bedeutung des Begri s der Aspektorientierten
Datenhaltung eingegangen, deren Ziele und Eigenschaften
anschlieend Gegenstand der Betrachtung sind.</p>
      </sec>
      <sec id="sec-7-3">
        <title>2.1 Begriffsbildung</title>
        <p>
          Fundamentale Konzepte der Informationstechnologie sind
die Modularisierung und Kapselung von Daten und
Funktionalitat in logische Einheiten. Dies au ert sich neben der
Denition von Architekturen und Schichtenmodellen wie dem
ANSI/SPARC-Modell[
          <xref ref-type="bibr" rid="ref1 ref7">6</xref>
          ] vor allem auch in der Entwicklung
der Programmiersprachen. Beginnend mit
Assemblersprachen uber Prozedurale Sprachen bis hin zur
Objektorientierten Programmierung (OOP) wurden Moglichkeiten
geschaffen, um Programmierer bei der Entwicklung von
wiederverwendbarem sowie leicht p egbarem modularisierten Code zu
unterstutzen, welcher logisch zusammengehorende
Funktionen kapselt.
        </p>
        <p>
          Seit uber einem Jahrzehnt hat sich als Weiterentwicklung
der OOP das Paradigma der Aspektorientierten
Programmierung[
          <xref ref-type="bibr" rid="ref11">10</xref>
          ] etabliert. Motiviert ist dieses
Programmierkonzept aus dem Kon ikt heraus, dass es selbst bei einer
optimalen Modularisierung der Geschaftslogik nicht moglich
ist, ubergreifende Querschnitts-Funktionalitat im Rahmen
einer Anwendung sinnvoll zu kapseln. Diese auch mit
CrossCutting Concerns oder Aspekten bezeichneten
Anforderungen sind demzufolge uber mehrere Module und logische
Einheiten verteilt, womit sich die P ege und Wartung sowie die
Wiederverwendbarkeit des Codes deutlich aufwandiger
gestaltet. Beispiele fur derartige Aspekte sind Logging,
Fehlerbehandlung oder Transaktionsverwaltung.
Aspektorientierte Programmiersprachen wie AspectJ[
          <xref ref-type="bibr" rid="ref3">2</xref>
          ] bieten dem
Entwickler mit Join Points, Pointcuts sowie Advices sprachliche
Konstrukte die es ermoglichen, derartige Aspekte
modularisiert zu realisieren. Anschlie end ndet im Prozess des
Weaving eine Verzahnung des Codes statt.
        </p>
        <p>Aufgrund der Analogie zwischen Cross-Cutting Concerns
und den einleitend in Abschnitt 1 beschriebenen
funktionalen Aspekten sowie der damit verbundenen Probleme bei
der Integration in Applikationscode bzw. in ein
Datenmodell wird das hier vorgestellte Modellierungsparadigma als
"dAerspBeekgtroirie"nDtiaetretnehDaalttuenngh\alatunn,gd\asbsezdeaischPnaerta.dDigambeai sdoewuotehtl
Konzepte fur die reine Modellierung (SQL-DDL) als auch
bezuglich der Interaktion von Anwendungen mit einem
solchen Datenmodell (SQL-DML) beinhaltet muss.</p>
      </sec>
      <sec id="sec-7-4">
        <title>2.2 Eigenschaften</title>
        <p>Entsprechend der einleitenden De nition 2 fur die
Aspektorientierte Datenhaltung werden im Folgenden zur Spezi
zierung des Paradigmas wichtige Anforderungen und
Eigenschaften formuliert.</p>
        <p>Modularitat: Die Integration funktionaler Aspekte soll in
einer Form moglich sein, dass alle zu einem Aspekt
gehorenden Informationen in einer logischen
Modellierungseinheit (z.B. einem Relationsschema)
zusammengefasst werden konnen und sich dadurch die
Vermischung mit der fachlichen Abbildung vermeiden lasst.
Orthogonalitat: Diese Eigenschaft umfasst zwei
Dimensionen bei der Betrachtung von funktionalen Aspekten.
Einerseits ergeben sich bei einer Menge von n
verschiedenen Aspekten insgesamt n! mogliche Reihenfolgen
fur deren Integration in ein Datenmodell. Andererseits
ist zu erwarten, dass ein konkretes Attribut fur
beliebig viele [0; : : : ; n] Aspekte eine Relevanz besitzt.
Dadurch gilt fur zwei Aspekte Ai und Ak bezuglich ihrer
beein ussten Attributmengen M:
jM(Ai) \ M(Ak)j
wobei m
= c (0
c</p>
        <p>m);
=</p>
        <p>max(jM(Ai)j; jM(Ak)j)
Orthogonalitat fordert nun fur die Aspektintegration,
dass sowohl alle potentiellen Reihenfolge-Varianten ein
gegebenes Datenmodell in einen semantisch
aquivalenten Zustand uberfuhren als auch, dass es zu keinen
Wechselwirkungen zwischen den Aspekten bezuglich
ihrer beein ussten Attributmengen kommt.</p>
        <p>Lokalitat: Die Abbildung von funktionalen Aspekten
sollte derart gestaltet sein, dass bei der Integration eines
Aspektes nicht das gesamte Datenmodell einer
Transformation unterzogen werden muss, sondern moglichst
minimale Anderungen nur an den notwendigen Stellen
(Modellierungseinheiten) ausreichen.</p>
        <p>
          Universalitat: Das Konzept der Aspektorientierten
Datenhaltung ist nicht auf einen konkreten
Anwendungsbereich eingeschrankt. Um in der Praxis ein maximal
breites Einsatzgebiet bezuglich realer DBMS-Produkte
zu erreichen, werden zur Implementierung
funktionaler Aspekte nur Konzepte der Datenbankmodellierung
auf Basis des SQL:92 -Standards[
          <xref ref-type="bibr" rid="ref10 ref4">3, 9</xref>
          ] verwendet.
Benutzbarkeit: Ein existierendes oder zu entwickelndes
Datenmodell soll sich einfach um funktionale
Aspekte erweitern lassen. Hierfur ist die Unterstutzung des
Nutzers (vorrangig des Anwendungs-Administrators)
in Form eines Integrations-Assistenten notwendig
(siehe Abschnitt 3.2), welcher nach Abfrage
anwendungsspezi scher Informationen die eigentliche
Transformation des Datenmodells vornimmt.
        </p>
        <p>Basierend auf den beschriebenen Anforderungen konnen nun
Ansatze zur Implementierung entworfen werden, der
nachfolgende Abschnitt 3 vermittelt hierzu einen Uberblick.</p>
      </sec>
      <sec id="sec-7-5">
        <title>3. REALISIERUNGSSTRATEGIEN</title>
        <p>Nachdem im bisherigen Verlauf der Arbeit das Paradigma
der Aspektorientierten Datenhaltung motiviert und naher
beschrieben wurde, widmet sich dieser Abschnitt der
Prasentation geeigneter Ansatze fur die Realisierung. Neben der
eigentlichen Abbildung funktionaler Aspekte in einem
Datenmodell (Abschnitt 3.1) umfasst dieses Thema
entsprechend der Anforderung der Benutzbarkeit auch Strategien
fur die Unterstutzung bei der Integration eines Aspekts
(Abschnitt 3.2).</p>
      </sec>
      <sec id="sec-7-6">
        <title>3.1 Aspektmodellierung</title>
        <p>
          Zur Gewahrleistung der in Abschnitt 2.2 formulierten
Eigenschaften bietet sich das EAV -Konzept[
          <xref ref-type="bibr" rid="ref12 ref13">11, 12</xref>
          ] an,
welches prinzipiell durch die drei Tabellen Entity, Attribute
und Value modelliert wird. Dabei werden Attribute eines
Objektes (Entity) nicht auf traditionelle Weise in Form von
Tabellenspalten abgebildet, sondern als Zeilen mit
zugehorigem Attributwert in der Tabelle Value gespeichert. Damit
ergibt sich die Moglichkeit, zusatzliche Informationen eines
Objektes durch Hinzufugen von Daten (DML-Anweisung)
zu realisieren, statt zwingend eine Schema-Evolution am
bestehenden Datenmodell (DDL-Anweisung) durchzufuhren.
Die grundlegende Idee des EAV-Konzeptes kann nun fur
die Aspektorientierte Datenhaltung genutzt werden, um die
Auswirkungen eines funktionalen Aspektes auf die
fachspezi schen Datenobjekte abzubilden. Zur Veranschaulichung
der nachfolgenden Erlauterungen ist in Abbildung 2 das
resultierende Datenmodell basierend auf dem Beispiel in
Abbildung 1 dargestellt, wobei die Tabelle Modulstruktur
aus Grunden der Ubersichtlichkeit ausgeblendet wurde. Im
Mittelpunkt des Realisierungsansatzes stehen drei Tabellen:
AspectDe nition: Die Tabelle beinhaltet die
Stammdaten eines funktionalen Aspektes. Im vorliegenden
Ansatz umfassen diese die Aspektbezeichnung (Name),
eine Beschreibung der Schlusselwerte (KeyVal) und
einen Primarschlussel (AspDefID). Die tatsachlichen
Wertauspragungen beispielsweise fur die verfugbaren
Lokalen des Aspektes Internationalisierung sind in
einer weiteren hier nicht dargestellten Tabelle hinterlegt.
AspectValue: Diese Tabelle dient zur Persistierung der
eigentlichen Informationen fachlicher Datenobjekte
bezuglich funktionaler Aspekte. Dabei wird fur ein
konkretes Attribut (AttID) eines Datensatzes (RowID)
innerhalb einer bestimmten Tabelle (TabID) der neue
aspektspezi sche Wert (Value) hinterlegt und uber
den Primarschlussel AspValID referenziert. Der
Datentyp von Value muss hier so generisch wie moglich
sein (z.B. nvarchar), um die verschiedenen
Datentypen der referenzierten Tabellenattribute aufnehmen
zu konnen. Der damit verbundenen untypisierten
Speicherung wird mit Hilfe des Attributes TypeID
begegnet, welches die ursprunglichen Typinformationen
aufnehmen kann. Wie die Attributnamen TabID,
AttID und TypeID andeuten, verweisen sie als
Fremdschlussel auf entsprechende Verwaltungstabellen,
welche jedoch aus Platzgrunden nicht dargestellt sind. Zur
besseren Veranschaulichung wurden deshalb statt IDs
sprechende Attributwerte verwendet.
        </p>
        <p>AspectAssign: Uber diese Tabelle ndet die tatsachliche
Zuordnung aspektspezi scher Attributwerte zu
funktionalen Aspekten statt. Dazu enthalt ein Datensatz
neben dem Primarschlussel (AspAssID) einen Verweis
sowohl auf den konkreten Aspekt (AspDefID) als auch
den gep egten Attributwert (AspValID) sowie den
Wert (Value) bezuglich des Schlusselkriteriums des
referenzierten Aspektes. Beispielsweise stehen die
Eintrage mit AspAssID 2 f1004; 1005g fur die
Versionierung (AspDefID = 2) des Attributes Bezeichnung
desjenigen Datensatzes in Modul mit dem
Primarschlusselwert 20080. Gleichzeitig ist mit Y-Kabel\
ei"
ne dieser Versionen (AspAssID = 1006) auch
ubersetzter Attributwert fur die Lokale at\ im Kontext
"
des Aspektes der Internationalisierung.</p>
        <p>Voraussetzung fur das beschriebene Konzept ist die Existenz
einattributiger typgleicher Primarschlussel in allen fur
funktionale Aspekte potentiell relevanten Tabellen, damit
diese in AspectValue.RowID einheitlich referenziert werden
konnen. Diese Forderung lasst sich jedoch immer
gewahrleisten, da entweder die betre ende Tabelle bereits einen
solchen Primarschlussel besitzt oder um einen zusatzlichen
kunstlichen Schlussel mit der Option auto increment
erweitert werden kann.</p>
      </sec>
      <sec id="sec-7-7">
        <title>3.2 Aspektintegration</title>
        <p>Fur den praxistauglichen Einsatz des in Abschnitt 3.1
vorgestellten Realisierungskonzeptes ist wie in den
Anforderungen erlautert zusatzlich eine Unterstutzung des Nutzers bzw.
Administrators im Prozess der Integration von funktionalen
Aspekten in ein bestehendes oder neu zu entwickelndes
Datenmodell notwendig. Der im Folgenden dargestellte
Algorithmus umfasst die wichtigsten Schritte fur einen solchen
Integrations-Assistenten. Werden andere
Realisierungskonzepte verwendet, konnen Abweichungen oder komplett neue
Teilschritte notwendig sein.</p>
        <p>1. Festlegung der Verbindungsparameter zur Datenbank.
2. Auswahl des zu integrierenden funktionalen Aspektes.
3. Festlegung von Tabellen und den jeweiligen
Attributen, welche fur den zu integrierenden Aspekt im Sinne
der zugrundeliegenden Anwendung relevant sind.
Beispielsweise ist beim Aspekt der Internationalisierung
unter anderem die Entscheidung zu tre en, welche
Tabellenattribute zukunftig ubersetzbar (mehrsprachig)
sein sollen.
4. Optional: Erstellung eines Backups der Datenbank.
5. Sicherstellung des einattributigen Primarschlussels in
allen gewahlten Tabellen, gegebenenfalls durch
Hinzufugen eines kunstlichen Schlussels wie am Ende von
Abschnitt 3.1 beschrieben.
6. Erstellung der zum Realisierungskonzept gehorenden</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>Verwaltungstabellen AspectDefinition, AspectVa</title>
      <p>lue und AspectAssign. Existieren diese Tabellen
bereits, so ist nur ein zusatzlicher Eintrag in der
Tabelle AspectDefinition fur den neuen funktionalen
Aspekt notwendig.</p>
      <sec id="sec-8-1">
        <title>4. BEWERTUNG</title>
        <p>
          Abschlie end soll der prasentierte Realisierungsansatz
anhand der fur die Aspektorientierte Datenhaltung
formulierten Anforderungen und Eigenschaften (Abschnitt 2.2)
bewertet werden. Daruber hinaus erlaubt der Ansatz aufgrund
des verwendeten EAV-Konzeptes unabhangig von
funktionalen Aspekten die Abbildung beliebiger zusatzlicher
Tabellenattribute auf Datensatzebene ohne Schemaanderung.
Damit wird eine Semistrukturiertheit ermoglicht, wie sie vor
allem bei der XML-Notation[
          <xref ref-type="bibr" rid="ref8">7</xref>
          ] bekannt ist.
        </p>
        <p>Aufgrund der Kapselung aller notwendigen Informationen
zur Abbildung von funktionalen Aspekte in den Tabellen
AspectDefinition, AspectValue und AspectAssign ist
die Modularitat diesbezuglich sichergestellt. Eine
Veranderung fachlicher Tabellen ist nur im Rahmen der
Voraussetzung eines einattributigen typgleichen Primarschlussels
notwendig. Damit ist auch gleichzeitig die Eigenschaft der
Lokalitat erfullt. Die Modellierung dieser drei beschriebenen
Verwaltungstabellen basiert allein auf atomaren Attributen mit
einfachen Domanen (int, varchar) sowie Fremdschlusseln,
dies genugt der Forderung nach Universalitat.</p>
        <p>Die Bewertung der Orthogonalitat gliedert sich entsprechend
der hier getro enen De nition in zwei Teile. Einerseits ist
fur eine Menge funktionaler Aspekte die semantische
Aquivalenz bezuglich ihrer moglichen Reihenfolgen gesichert, da
sich die Integration aller Aspekte nur als zusatzliche
Datenzeilen in den gemeinsam genutzten initial angelegten
Verwaltungstabellen niederschlagen. Dabei sind keine
aspektspezische Anderungen an den fachlichen Tabellen notwendig.
Andererseits konnen fur zwei verschiedene Aspekte
Wechselwirkungen in Hinblick auf die beein ussten
Attributmengen ausgeschlossen werden aufgrund der getrennten
Speicherung aspektspezi scher Informationen zu fachlichen
Daten (AspectValue) und der tatsachlichen Zuordnung zu
Aspekten (AspectAssign) wie beispielhaft in Abschnitt 3.1
erlautert.</p>
        <p>Schlie lich ist mit dem in Abschnitt 3.2 vorgestellten
Algorithmus die Grundlage fur einen Integrations-Assistenten
gelegt, um die Benutzbarkeit des gesamten
Realisierungsansatz zu gewahrleisten.</p>
      </sec>
      <sec id="sec-8-2">
        <title>5. ZUSAMMENFASSUNG</title>
        <p>Die vorliegende Arbeit prasentierte das
Modellierungsparadigma der Aspektorientierten Datenhaltung mit dem
Ziel, funktionale Aspekte als Vertreter von querschnittlichen
Belangen in einer modularisierten Form im Datenmodell
abzubilden. Dadurch lasst sich die Vermischung von fachlicher
und funktionaler Modellierungsebene vermeiden, dies fuhrt
letztlich zur besseren Strukturierung, Wartbarkeit und
Wiederverwendbarkeit eines Datenmodells.</p>
        <p>Mit den Eigenschaften der Modularitat, Orthogonalitat,
Lokalitat, Universalitat und Benutzbarkeit wurden
grundsatzliche Anforderungen formuliert. Diese dienten anschlie end
TeilNr
19780
20080
. . .
101
102
103
104
105
106
107
108
. . .</p>
      </sec>
    </sec>
    <sec id="sec-9">
      <title>AspectValue AspValID TabID RowID</title>
      <p>0.75
0.10
. . .</p>
    </sec>
    <sec id="sec-10">
      <title>Wahrung</title>
      <p>e
e
. . .</p>
    </sec>
    <sec id="sec-11">
      <title>Flags</title>
      <p>00110101
00110011
. . .</p>
      <sec id="sec-11-1">
        <title>Modul</title>
        <p>Modul
Modul
Modul
Modul
Modul
Modul
Modul
. . .
19780
19780
19780
19780
19780
19780
20080
20080
. . .</p>
        <p>Bezeichnung
Preis
Wahrung
Bezeichnung
Preis
Wahrung
Bezeichnung
Bezeichnung
. . .</p>
        <p>Value
screw
0.45
$
bullone
0.78
e
X-Kabel
Y-Kabel
. . .</p>
      </sec>
      <sec id="sec-11-2">
        <title>CHAR</title>
        <p>DEC
CHAR
CHAR
DEC
CHAR
CHAR
CHAR
. . .
1
2
. . .
1001
1002
1003
1004
1005
1006
1007
1008
. . .</p>
      </sec>
    </sec>
    <sec id="sec-12">
      <title>AspectDefinition AspDefID Name AspectAssign</title>
      <p>101
102
103
107
108
108
104
105
. . .</p>
      <sec id="sec-12-1">
        <title>Lokale</title>
        <p>Revision
. . .</p>
        <p>us
us
us
1
2
at
it
it
. . .</p>
      </sec>
      <sec id="sec-12-2">
        <title>Zusatzliche Integritatsbedingungen:</title>
        <p>Unique-Bedingung in Tabelle AspectValue uber (TabID, RowID, AttID, Value, TypeID)
Unique-Bedingung in Tabelle AspectAssign uber (AspDefID, AspValID, Value)
AspectAssign.AspDefID ist Fremdschlussel bezuglich AspectDefinition.AspDefID
AspectAssign.AspValID ist Fremdschlussel bezuglich AspectValue.AspValID</p>
        <p>Abbildung 2: Modellierungsansatz fur funktionale Aspekte
als Spezi kationsgrundlage fur das am Beispiel vorgestellte
Realisierungskonzept. Die abschlie ende Bewertung zeigte
die Verwendbarkeit dieses Konzeptes fur das Paradigma der
Aspektorientierten Datenhaltung.</p>
        <p>Zukunftige Arbeiten werden sich mit der Vervollstandigung
des skizzierten Realisierungsansatzes beschaftigen, wobei
sowohl fur die angedeuteten Probleme bezuglich des
EAVKonzeptes als auch fur einen generischen
applikationsseitigen Zugri auf funktionale Aspekte Losungsstrategien
bewertet werden mussen. Parallel dazu besteht die Aufgabe
einer prototypischen Implementierung des hier vorgestellten
Konzeptes. Dies betri t sowohl die reale Modellierung
(relationale Abbildung) in einem existierenden DBMS-Produkt
als auch die Entwicklung des Assistenten zur Integration von
funktionalen Aspekten.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>6. LITERATUR</mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.</given-names>
            <surname>Aulbach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Grust</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Jacobs</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kemper</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Rittinger</surname>
          </string-name>
          <article-title>. Multi-tenant databases for software as a service: schema-mapping techniques</article-title>
          .
          <source>In SIGMOD Conference</source>
          , pages
          <volume>1195</volume>
          {
          <fpage>1206</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>O.</given-names>
            <surname>Bo</surname>
          </string-name>
          <article-title>hm. Aspektorientierte Programmierung mit AspectJ 5: Einsteigen in AspectJ und AOP</article-title>
          . dpunkt.verlag,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D. C and H.</given-names>
            <surname>Darwen. SQL - Der Standard</surname>
          </string-name>
          . SQL/92 mit den Erweiterungen CLI und PSM.
          <string-name>
            <surname>Addison-Wesley</surname>
          </string-name>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>C.</given-names>
            <surname>Ebert</surname>
          </string-name>
          . Systematisches Requirements Engineering und Management. dpunkt.verlag,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Go</surname>
          </string-name>
          <article-title>bel. Internationalisierung in Produktkon guratoren - Anforderungen und Konzepte fur die Datenhaltung</article-title>
          . Diplomarbeit, Institut fur Informatik,
          <source>Friedrich-Schiller-Universitat Jena</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>T.</given-names>
            <surname>Ha</surname>
          </string-name>
          <article-title>rder and</article-title>
          <string-name>
            <given-names>E.</given-names>
            <surname>Rahm</surname>
          </string-name>
          .
          <source>Datenbanksysteme: Konzepte und Techniken der Implementierung</source>
          . Springer,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>E. R.</given-names>
            <surname>Harold</surname>
          </string-name>
          and
          <string-name>
            <surname>W. S. Means.</surname>
          </string-name>
          <article-title>XML in a Nutshell</article-title>
          .
          <source>O'Reilly</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Heuer</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Saake, and</article-title>
          K.-U. Sattler. Datenbanken. Konzepte und Sprachen. Mitp-Verlag,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [9] ISO/IEC 9075:
          <year>1992</year>
          ,
          <string-name>
            <given-names>Information</given-names>
            <surname>Technology - Database Language</surname>
          </string-name>
          <string-name>
            <surname>SQL</surname>
          </string-name>
          ,
          <year>1992</year>
          . URL: http://www. andrew.cmu.edu/user/shadow/sql/sql1992.txt [Stand:
          <fpage>30</fpage>
          .
          <fpage>03</fpage>
          .
          <year>2010</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>G.</given-names>
            <surname>Kiczales</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lamping</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Mendhekar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Maeda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. V.</given-names>
            <surname>Lopes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Irwin</surname>
          </string-name>
          , and J.
          <string-name>
            <surname>-M. Loingtier</surname>
          </string-name>
          .
          <article-title>Aspect-Oriented Programming</article-title>
          .
          <source>In ECOOP</source>
          , pages
          <volume>220</volume>
          {
          <fpage>242</fpage>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>P.</given-names>
            <surname>Nadkarni</surname>
          </string-name>
          .
          <article-title>An Introduction to EAV Design for Generic Clinical Study Data Management Systems</article-title>
          ,
          <year>2002</year>
          . URL: http://ycmi.med.yale.edu/nadkarni/ Introduction%20to
          <source>%20EAV%20systems.htm [Stand: 30.03</source>
          .
          <year>2010</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>P.</given-names>
            <surname>Nadkarni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Marenco</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Chen</surname>
          </string-name>
          , E. Skoufos, G. Shepherd, and
          <string-name>
            <given-names>P.</given-names>
            <surname>Miller</surname>
          </string-name>
          .
          <article-title>Organization of Heterogeneous Scienti c Data Using the EAV/CR Representation</article-title>
          .
          <source>In JAMIA, 6</source>
          , pages
          <fpage>478</fpage>
          {
          <fpage>493</fpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>A.</given-names>
            <surname>Rashid.</surname>
          </string-name>
          Aspect-Oriented
          <source>Database Systems</source>
          . Springer,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>