T001_SUBJECT_TYPE
,
T002_SUBJECT
und T003_SUBJECT_TREE
. Sie sind in der Abbildung
2.1 grau hinterlegt.
Die Relation r(T002_SUBJECT)
enthält Informationen über Nutzer und OE.
Die Attribute der Relation sind selbsterklärend, wobei t002_login
einzigartig bleiben muss.
Die Relation r(T001_SUBJECT_TYPE)
bestimmt die Ausprägung der in
T002_SUBJECT
abgelegten Objekte und ist damit Fremdschlüssel in
T002_SUBJECT
. Ein Beispiel für einen Eintrag in T001_NAME
ist
"'user"' oder "'group"'.
Abhänigkeiten zwischen den Objekten in T002_SUBJECT
werden durch
einen Selbstbezug oder rekursive Beziehung der Relation
r(T003_SUBJECT_TREE)
zu sich selbst erzeugt. Dafür werden zwei
Fremdschlüssel, die auf die Relation T002_SUBJECT
referenzieren,
genutzt. Sie agieren nach dem "'Vater-Kind-Prinzip"' und dürfen nicht NULL sein.
Dadurch ergeben sich einige Schwierigkeiten bei der Bildung von Gruppen ohne
Mitglieder und der Festlegung der Wurzelgruppe. Eine Wurzelgruppe zeichnet sich
dadurch aus, dass sie niemals das Kind einer andern Gruppe ist. D.h. sie ist in
der Spalte der Kinder nicht vorhanden. Dieses Merkmal ist nicht eindeutig und
somit besteht die Möglichkeit mehrerer Wurzelgruppen.
Die weitere Schwierigkeit besteht darin, eine Gruppe ohne Mitglieder zu
erstellen. Es müßte einen Eintrag in T002_SUBJECT_TREE
geben, dessen
Kindeintrag NULL wäre. Wie eingangs erwähnt, verstößt das gegen die
Integrationsbedinungen und kann nur mit "'Dummynutzern"' gelöst werden.
Die Visualisierung der Abhänigkeiten muss entsprechend auf diese Eigenheiten
reagieren können.
Karl Spies 2006-01-09