Not logged in. · Lost password · Register

SpeedyGonzalez
Member since Jul 2017
103 posts
Subject: Wie wird der Redundanzgrad bestimmt?
Hallo zusammen,

wie bestimmt man denn den Redundanzgrad einer Relation?

VG
Speedy
Tenma
faui2k15
Member since Dec 2015
39 posts
+1 SpeedyGonzalez
Hi SpeedyGonzalez,

kann keine pauschale Formel für die Berechnung nennen. (Wär auch langweilig)
Folgende Vorgehensweise:

naja erstmal muss man schauen ob überhaupt Redundanzen in der Relation zu finden sein können:

-> vollständig normalisierte Relation? Dann hast du gar keine Redundanzen -> Die selbe Information wird nur max. 1x auftauchen.

-> Nicht normalisiert? Verstößt irgendeine funktionale Abhängigkeit gegen eine Normalform? Dann untersuchst du diese Funktionale Abhängigkeit.
Ich denke mir grade mal ne Aufgabe aus. (Evtl fehlerhaft :D)
Nehmen wir an wir haben eine Relation R(A,B,C,D) mit den FAs: AB -> C und A->D
Wertebereiche: A [1;10], B[1;20], C[1;500], D[1337;13370]
Wir sehen sofort das AB der einzige Schlüsselkandidat(SK) ist.
Also: SK = AB -> max 200 Tupel möglich, da #A * #B = 200

Nun zu den Normalformen. Wir sehen sofort das D nur partiell vom AB abhängig ist -> KEINE 2. NF.
Das liegt an der Abhängigkeit A->D.

Nun zur Redundanz: Wie oft kann eine Kombination A->D mehrfach/redundant auftauchen?
Naja AB ist SK. D.h. jedes A kann nur 20x auftreten (Wertebereich von B).
-> 20x kann eine Information redundant auftauchen.

Falls du Probleme hast dir das vorzustellen:
|   A       |     B     |    C      |     D    |
|  1        |     1     |  254      |  1337    |
|  1        |     2     |  297      |  1337    |
|  1        |     3     |  137      |  1337    |
|   ....
|  1        |     20    |  39       |  1337    |

Die Information der Zuordnung 1(Spalte A) -> 1337(D) kann max. 20x auftreten, da jede Zeile eindeutig sein muss und im Schlüssel sonst nur noch B (mit Wertebereich 1...20) ist.

Hoffe es ist ein bisschen klarer geworden :D Bei dem Thema muss man auf jeden Fall Normalformen und Funktionale Abhängigkeiten drauf haben.
(Die analogen Übungsaufgaben sind ja auch in der passenden Übungseinheit)

Gruß
Christian
SpeedyGonzalez
Member since Jul 2017
103 posts
Vielen Dank für deine ausführliche Erklärung, Christian!
Moritz
Member since Jul 2018
8 posts
Hallo ihr zwei.

Die Erklärung ist gut aber leider im entscheidenden Punkt nicht ganz richtig.

Der Redundanzgrad ist hier aber 10 und nicht 20.

Das ergibt sich aus dem Primärschlüssel AB. Da A nur einen Wertebereich von 1-10 besitzt und die Attributkombination aus A und B einzigartig sein muss ergeben sich daraus maximal 10 verschiedene Kombinationen aus (a,b).

Also grundsätzlich kann man sagen, wenn der Redundanzgrad abgefragt wird und es eine partielle Abhängigkeit eines nicht Schlüsselattributes (1NF) gibt ist der Redundanzgrad immer entsprechend des kleinsten Wertebereiches der Schlüsselattribute (Stichwort Einzigartigkeit Schlüsselkandidat).

Also ist die erste Spalte in deiner Relation falsch, da ein Schlüsselkandidat eindeutig sein muss :)

Grüße Moritz
This post was edited on 2018-07-06, 16:35 by Moritz.
Tenma
faui2k15
Member since Dec 2015
39 posts
Quote by Moritz on 2018-07-06, 16:24:
Das ergibt sich aus dem Primärschlüssel AB. Da A nur einen Wertebereich von 1-10 besitzt und die Attributkombination aus A und B einzigartig sein muss ergeben sich daraus maximal 10 verschiedene Kombinationen aus (a,b).

Nein? Kombinationen (a,b) gibt es erstmal 200. Dafür Multipliziert man den Wertebereich von A mit dem Wertebereich von B.

Quote by Moritz on 2018-07-06, 16:24:
Also ist die erste Spalte in deiner Relation falsch, da ein Schlüsselkandidat eindeutig sein muss :)

Nein die erste Spalte ist korrekt. Warum soll es nicht mehrere Tupel mit dem Wert 1 des Attributs A geben? (genau 20 Stück kann es maximal geben, weil eben der Wertebereich von B genau 20 groß ist)
Verstößt weder gegen die Eindeutigkeit des Schlüsselkandidats (da B ja unterschiedlich ist), noch gegen irgendeine andere FA....
This post was edited on 2018-07-07, 19:40 by Tenma.
Moritz
Member since Jul 2018
8 posts
Hm okay entschuldigt die Verwirrung, ich habe es jetzt auch verstanden; hatte davor einen Denkfehler drin!

Danke für die Erklärung :)
Moritz
Member since Jul 2018
8 posts
Hallo Leute,

also scheinbar hab ich es doch noch nicht so ganz gerafft. Mich verwirrt gerade die Lösung aus den Kontrollfragen aus der VL_06

Gegeben Sei die Tabelle R(A,B,C,D)
Es gelte AB -> CD und B -> D
Die Wertebereiche der Attribute seien
A∈ {1,…, 10}; B ∈ {1,…, 20}; C ∈ {1,…, 40}; D ∈ {1,…, 50};


Lösung zur Frage nach dem Redundanzgrad inkl. Erklärung:

Redundanzgrad: Wie oft kann eine Information1)maximal in R auftauchen ? 10 mal

Zur Erläuterung: Die Informationen die redundant auftreten können sind vom Typ B D. D.h. zu einem bestimmten b vom Typ B gehört immer ein bestimmtes d vom Typ D. Betrachten wir also o.B.d.A. dieInformation b1 d1. Die Frage lautet also: Wie oft kann die Kombination (b1, d1) in der Tabelle R vorkommen. In jedem Tupel in dem das Attribut B den Wert b1 hat muss das Attribut D den Wert d1 haben. Es reicht also aus zu fragen wie oft kann b1 vorkommen? Weil die Attributkombination AB eindeutig sein muss (Schlüsselkandidat) kann ein gegebenes b1 höchstens 10 mal vorkommen, denn es gibt nur 10 verschiedene Werte in A, und damit nur maximal 10 verschiedene Kombinationen (a,b), die ein gegebenes b1 enthalten.

Die partielle Abhängigkeit von B->D ist ja hier Ursache für mögliche Redundanz. AB bildet gemeinsam den PK. Jetzt wird aber zur Erklärung angegeben, dass A höchstens 10 unterschiedliche Werte annehmen kann. Das macht ja soweit auch Sinn.

Warum ist hier der Redundanzgrad 10 und nicht 20? Übersehe ich hier gerade einen Unterschied von deiner Erklärung und der Lösung?

Grüße
Moritz
Member since Jul 2018
8 posts
Oder ist es grundsätzlich einfach so, dass der Wertebereich des Schlüsselkandidaten den Redundanzgrad bestimmt, der eben nicht die Determinante der partiellen Abhängigkeit ist?
Tenma
faui2k15
Member since Dec 2015
39 posts
In reply to post #7
+1 Moritz
Quote by Moritz:
Warum ist hier der Redundanzgrad 10 und nicht 20? Übersehe ich hier gerade einen Unterschied von deiner Erklärung und der Lösung?


Weil meine Aufgabe sich von der Aufgabe in der Vorlesung unterscheidet? AB -> C und A->D statt  AB -> CD und B -> D. Der SK ist zwar der gleiche, aber die Redundanz tritt durch eine andere Funktionale Abhaengigkeit auf...
Moritz
Member since Jul 2018
8 posts
Ich fühle mich grad dämlich XD
Moritz
Member since Jul 2018
8 posts
Aber danke für die Antwort :)
Tenma
faui2k15
Member since Dec 2015
39 posts
In reply to post #8
Quote by Moritz:
Oder ist es grundsätzlich einfach so, dass der Wertebereich des Schlüsselkandidaten den Redundanzgrad bestimmt,

Nein? Grundsaetzlich schaust Du dir Funktionale Abhaengigkeiten an, die gegen eine Normalform verstossen. Du musst die Themen FA und Normalformen zuvor verstanden haben damit du diese Aufgabe verstehst.
Dann schaust du dir jede FA an die gegen eine Normalform verstoesst und schaust dir an wie oft eine Wertekombination auftreten kann. Natuerlich kann aber eine redundanz MAXIMAL so oft vorkommen wie es maximal Tupel in der Tabelle geben kann. Aber hier muss man sich immer auch nach strengeren Einschraenkungen umschauen.
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
Datenschutz | Kontakt
Powered by the Unclassified NewsBoard software, 20150713-dev, © 2003-2011 by Yves Goergen