bluepeople12
Aktiver Benutzer
- Beiträge
- 26
Hab mal wieder eine Aufgabe und komme leider nicht ganz weiter
a) Ich hab mir das hier so gedacht. Ich schaue bei jeder funktionellen Abhängigkeit, was die Attributhülle ist und dann entscheide ich was für ein Schlüssel bei rauskommt (X ist die Attributhülle in meinem Fall, in Klammern ist die Regel die ich angewendet habe).
X = ABJ
X = ABJD (ABJ -> D)
X = ABCDEJHI (J -> HI)
=> kein Superschlüssel (also kein Schlüsselkandidat)
X = D
X = DABCEJ (D -> ABCEJ)
X = DABCEJHI (J -> HI)
=> kein Superschlüssel
X = DF
X = DFG (DF -> G)
X = DFGABCEJ (D -> ABCEJ)
X = DFGABCEJHI (J -> HI)
=> kein Superschlüssel
X = DO
X = DON (DO -> N)
X = DONKL (N -> KL)
X = DONKLM (KL -> N)
X = DONKLMABCEJ (D -> ABCEJ)
X = DONKLMABCEJHI (J -> HI)
[F fehlt] => kein Superschlüssel (kommt aber schon sehr nah ran)
X = J
X = JHI
=> kein Superschlüssel
X = N
X = NKL
X = NKLM
=> kein Superschlüssel
X = KL
X = KLM
=> kein Superschlüssel
Also eigentlich finde ich hier keinen vernünftigen Schlüssel. Was ich mir aber überlegt habe, kann man ja den Schlüssel (D, F, O) nehmen, weil dann hätte ich noch das F mit drin. Aber kann ich das einfach so machen? Oder gibt es dafür eine Regel wie ich das machen kann ?
b) ABJ -> D
D -> ABCEJ
(es gibt hier eine transitive funktionale Abhängigkeit)
DO -> N
H -> KL / N -> KL
KL -> M
(auch hier gibt es tranistive funktionale Abhängigkeiten)
c) Wiki sagt folgendes:
Wir haben hier aber ja keinen Schlüsselkandidaten. Was soll ich dann hier machen?
d) Ich versuch jetzt erstmal mit der Verlustfreiheit. Meine Zerlegungen
V1 (A, B, D, F, G, H, I, J, K, L, N, O)
V2 (D, C, E)
V3 (K, L, M)
Was genau muss ich denn jetzt prüfen? Ob
D -> CE bzw.
D -> ABFGHIJKLNO
in der transitiven Hülle ist?
Soll ich testen ob ich mit den funktionalen Abhängigkeiten
ABJ -> D
DF -> G
DO -> N
J -> HI
N -> KL
KL -> M
auf
D -> CE bzw. D -> ABFGHIJKLNO komme?
Wär nett wenn ihr mir da ein wenig Hilfe geben könntet ...
a) Ich hab mir das hier so gedacht. Ich schaue bei jeder funktionellen Abhängigkeit, was die Attributhülle ist und dann entscheide ich was für ein Schlüssel bei rauskommt (X ist die Attributhülle in meinem Fall, in Klammern ist die Regel die ich angewendet habe).
X = ABJ
X = ABJD (ABJ -> D)
X = ABCDEJHI (J -> HI)
=> kein Superschlüssel (also kein Schlüsselkandidat)
X = D
X = DABCEJ (D -> ABCEJ)
X = DABCEJHI (J -> HI)
=> kein Superschlüssel
X = DF
X = DFG (DF -> G)
X = DFGABCEJ (D -> ABCEJ)
X = DFGABCEJHI (J -> HI)
=> kein Superschlüssel
X = DO
X = DON (DO -> N)
X = DONKL (N -> KL)
X = DONKLM (KL -> N)
X = DONKLMABCEJ (D -> ABCEJ)
X = DONKLMABCEJHI (J -> HI)
[F fehlt] => kein Superschlüssel (kommt aber schon sehr nah ran)
X = J
X = JHI
=> kein Superschlüssel
X = N
X = NKL
X = NKLM
=> kein Superschlüssel
X = KL
X = KLM
=> kein Superschlüssel
Also eigentlich finde ich hier keinen vernünftigen Schlüssel. Was ich mir aber überlegt habe, kann man ja den Schlüssel (D, F, O) nehmen, weil dann hätte ich noch das F mit drin. Aber kann ich das einfach so machen? Oder gibt es dafür eine Regel wie ich das machen kann ?
b) ABJ -> D
D -> ABCEJ
(es gibt hier eine transitive funktionale Abhängigkeit)
DO -> N
H -> KL / N -> KL
KL -> M
(auch hier gibt es tranistive funktionale Abhängigkeiten)
c) Wiki sagt folgendes:
Eine Relation ist in BCNF, wenn sie die Voraussetzungen der 3NF erfüllt, und jede Determinante (Attributmenge, von der andere Attribute funktional abhängen) ein Schlüsselkandidat ist (oder die Abhängigkeit ist trivial). Ein Schlüsselkandidat ist eine Menge von Attributen, von der alle Attribute der Relation voll funktional abhängig sind.
Wir haben hier aber ja keinen Schlüsselkandidaten. Was soll ich dann hier machen?
d) Ich versuch jetzt erstmal mit der Verlustfreiheit. Meine Zerlegungen
V1 (A, B, D, F, G, H, I, J, K, L, N, O)
V2 (D, C, E)
V3 (K, L, M)
Was genau muss ich denn jetzt prüfen? Ob
D -> CE bzw.
D -> ABFGHIJKLNO
in der transitiven Hülle ist?
Soll ich testen ob ich mit den funktionalen Abhängigkeiten
ABJ -> D
DF -> G
DO -> N
J -> HI
N -> KL
KL -> M
auf
D -> CE bzw. D -> ABFGHIJKLNO komme?
Wär nett wenn ihr mir da ein wenig Hilfe geben könntet ...