• Guten Start ins Wintersemester 2024/2025

Datenbanken 4.Strukturregel

Unser Sponsor SAP 4 Students
Unser Sponsor
ich habe Probleme beim Verständnis der 4. Strukturregel:

Teil1: „Rekursive Beziehungen zwischen Relationen sind unzulässig.“

Ich betrachte die "unzulässige" Beispiel-Relation auf S.70 Abb. 3.37:
Teil(TeileNr, Bezeichnung, Preis, OUTeileNr, Teileart, Menge)

Dabei enthält OUTeileNr Werte aus dem Wertebereich von TeileNr und stellt eine rekursive Beziehung her. Dabei handelt es sich also um eine rekursive Beziehung innerhalb einer Relation und nicht zwischen Relationen und dürfte eigentlich nicht gegen Regel 4 Teil I verstoßen.
Was hat man sich unter rekursiven Beziehungen zwischen Entitäten vorzustellen? Eventuell würde ich darunter indirekte rekursive Beziehungen verstehen.

Teil2: „In einer Relation R1 darf ein globales Attribut nur mit einem Fremdschlüssel gebildet werden, dessen Ursprungsrelation R2 unabhängig von R1 definiert werden kann.“

Das ist jetzt noch unverständlicher.
Man könnte jetzt einmal OUTeileNr nicht als Fremdschlüssel auffassen, da es nicht der Definition eines Fremdschlüssels entspricht, wonach OUTeileNr auf einen Primärschlüssel in einer anderen Relation verweisen müsste. Damit wäre der Teil 2 völlig irrelevant für die Beispiel-Relation.

Fasst man OUTeileNr als Fremdschlüssel auf, der auf TeileNr verweist, kann aber gerade auf Basis von TeileNr eine zweite unabhängige Relation gebildet werden, was ja direkt unter dem Kasten mit der Regel auch steht. Wenn also alleine dadurch, dass es möglich ist, aus der Beispielrelation Attribute auszulagern und eine unabhängige Relation mit TeileNr als Primärschlüssel zu bilden, der zweite Teil der Regel erfüllt ist, dann verstößt die Beispiel-Relation auch nicht gegen den zweiten Teil der Regel, weil es ja theoretisch möglich wäre genau diese unabhängige Ursprungsrelation zu bilden.

Man könnte Teil 2 höchstens umformulieren:
„In einer Relation R1 darf ein globales Attribut nur mit einem Fremdschlüssel gebildet werden, dessen Ursprungsrelation R2 unabhängig von R1 tatsächlich existiert / modelliert wurde.“
Wenn man nun OUTeileNr als Fremdschlüssel auffasst und dazu keine eigenständige Referenzrelation hat, wäre die Beispiel-Relation alleine unzulässig. Ist aber sehr weit hergeholt.

Gibt es eine verständliche Definition der 4. Strukturregel?

Grüße
ibedi
 
Dr Franke Ghostwriter
Strukturregel 4
Rekursive Beziehungen zwischen Relationen sind untersagt; ein Globalattribut in einer Relation darf nur mit einem solchen Fremdschlüssel gebildet werden, dessen Ausgangsrelation unabhängig von dieser Relation definiert werden kann.
 
Oben