bcnf aufspalten
« Vorheriges Thema anzeigen | Nächstes Thema anzeigen »
-infinity-
Gold-Member
Gold-Member


Dabei seit: 26.10.08
Beiträge: 634


Private Nachricht senden
#1 | Gelesener BeitragVerfasst am: 6.2.2010, 16:05   Titel: bcnf aufspalten
http://uploadz.eu/images/q68boxkolj0diivziix.jpghttp://uploadz.eu/images/q68boxkolj0diivziix.jpg

P -> N spalte ich zunächst so auf das ich die Relation [P,N] erstelle, aber wie erzeuge ich die anderen Relationen ? eigentlich ist der BNCF algorithmus ja simpler als der Synthese algorithmus - hab den nur vergessen und werd aus de Mulö nicht schlau
VaLuA
Light-Member
Light-Member


Dabei seit: 03.10.08
Beiträge: 76


Private Nachricht senden
#2 | Gelesener BeitragVerfasst am: 6.2.2010, 16:34   Titel: Re: bcnf aufspalten
du hast ja zu Beginn ne Relation R in denen alle Attribute enthalten sind,
daraus nimmst du deine Abhängigkeit (in dem Fall ):
die erste Abspaltung bildet dabei (also P|N)
die andere Abspaltung ist dann R ohne b ( also P|M|S|V| )
und dann wieder das gleiche mit der nächsten ABhängigkeit
-infinity-
Gold-Member
Gold-Member


Dabei seit: 26.10.08
Beiträge: 634


Private Nachricht senden
#3 | Gelesener BeitragVerfasst am: 6.2.2010, 19:47   Titel: Re: bcnf aufspalten
achso es wird immer der Output vom letzeren Ergebnis genommen, jetz hab ich geschnallt danke
Kilosh
Club-Member
Club-Member


Dabei seit: 11.11.08
Beiträge: 170


Private Nachricht senden
#4 | Gelesener BeitragVerfasst am: 8.2.2010, 21:22   Titel: Re: bcnf aufspalten
ich häng mich hier mal dran Smile

Die Linksreduktion ist doch nicht eindeutig oder?!


Bei folgenden FDs könnte ich ja bei A,C,E -> B
entweder AC wegstreichen oder E.
http://img.skitch.com/20100208-bx93ky1c6i5ehj8mrgb7q2abfx.jpg

Oder liege ich falsch?!

Zuletzt bearbeitet von Kilosh am 8.2.2010, 21:23, insgesamt 3-mal bearbeitet
chrisgo
Club-Member
Club-Member


Dabei seit: 25.10.08
Beiträge: 120


Private Nachricht senden
#5 | Gelesener BeitragVerfasst am: 8.2.2010, 21:51   Titel: Re: bcnf aufspalten
Hallo Kilosh,

habe es eben "nachgerechnet"... Du hast Recht! Beides ist möglich.
Woher hast Du denn diese Aufgabe? Wink

lg
Kilosh
Club-Member
Club-Member


Dabei seit: 11.11.08
Beiträge: 170


Private Nachricht senden
#6 | Gelesener BeitragVerfasst am: 8.2.2010, 22:07   Titel: Re: bcnf aufspalten
aus einer altklausur :=)



http://dl.dropbox.com/u/83197/alte%20GDB%20Klausuren.ziphttp://dl.dropbox.com/u/83197/alte%20GDB%20Klausuren.zip
Jonas
Club-Member
Club-Member


Dabei seit: 13.10.08
Beiträge: 135


Private Nachricht senden
#7 | Gelesener BeitragVerfasst am: 8.2.2010, 22:08   Titel: Re: bcnf aufspalten
Blatt 10, Aufgabe 2: Kanonische Überdeckung ist nicht eindeutig.
*Edit: Danke für Archiv

Zuletzt bearbeitet von Jonas am 8.2.2010, 22:10, insgesamt einmal bearbeitet
domi_21
Neuling
Neuling


Dabei seit: 21.10.08
Beiträge: 40


Private Nachricht senden
#8 | Gelesener BeitragVerfasst am: 9.2.2010, 01:49   Titel: Re: bcnf aufspalten
Achso muss ich dann bei A,C,E -> B auch jeweils "zwei zusammen" testen, dachte mann müsse dann nur schauen was wäre wenn 1) A weg 2) B weg 3) C weg - sprich ist dass korrekt dass ich auch schauen muss ob AC AE CE weg kann?

MfG
Martun
Neuling
Neuling


Dabei seit: 11.12.08
Beiträge: 40


Private Nachricht senden
#9 | Gelesener BeitragVerfasst am: 9.2.2010, 11:13   Titel: Re: bcnf aufspalten
Wieso kann man AC wegstreichen? Die Attributhülle von E ist doch nur {E,B}, von ACE aber {A,C,E,D,B,F}, also funktioniert das doch nicht? E wegstreichen geht, weil da die Attributhülle auch {A,C,E,D,B,F} bleibt. Aber die kanonische Überdeckung ist trotzdem nicht eindeutig.

@domi_21:
Wenn du AC wegstreichen kannst, dann kannst du auch nur A wegstreichen oder nur C, anschließend prüfst du einfach nochmal und dann siehst du das du, ggf., das andere auch noch streichen kannst. In diesem Fall funktioniert das aber, meiner Meinung nach, nicht.
smatter
Neuling
Neuling


Dabei seit: 02.11.08
Beiträge: 18


Private Nachricht senden
#10 | Gelesener BeitragVerfasst am: 9.2.2010, 11:38   Titel: Re: bcnf aufspalten
Martun hat Folgendes geschrieben
Wieso kann man AC wegstreichen? Die Attributhülle von E ist doch nur {E,B}, von ACE aber {A,C,E,D,B,F}, also funktioniert das doch nicht?

Doch, denn du musst bei der Linksreduktion prüfen, ob

In unserem Fall:

Und da B in {B,E} enthalten ist, darfst du AC wegstreichen, imo
Martun
Neuling
Neuling


Dabei seit: 11.12.08
Beiträge: 40


Private Nachricht senden
#11 | Gelesener BeitragVerfasst am: 9.2.2010, 11:47   Titel: Re: bcnf aufspalten
aber dann könntest du ja immer alles streichen, wenn du EC streichst hast du A->B, dann ist B in der Attributhülle davon und es geht. Genauso bei allen anderen Möglichkeiten, du könntest sogar ACE streichen weil dann die B von der leeren Menge abhängig ist, dann wäre B auch in der Attributhülle.

Und deine Bedingung für die Linksreduktion ist falsch, es muss gelten:



Das ist hier nicht der Fall, da AC nicht in {E,B}

Zuletzt bearbeitet von Martun am 9.2.2010, 11:54, insgesamt 3-mal bearbeitet
domi_21
Neuling
Neuling


Dabei seit: 21.10.08
Beiträge: 40


Private Nachricht senden
#12 | Gelesener BeitragVerfasst am: 9.2.2010, 11:59   Titel: Re: bcnf aufspalten
smatter hat Folgendes geschrieben
Martun hat Folgendes geschrieben
Wieso kann man AC wegstreichen? Die Attributhülle von E ist doch nur {E,B}, von ACE aber {A,C,E,D,B,F}, also funktioniert das doch nicht?

Doch, denn du musst bei der Linksreduktion prüfen, ob

In unserem Fall:

Und da B in {B,E} enthalten ist, darfst du AC wegstreichen, imo


Ahh ich hab jetz nochmal nachgeforscht, hier steht das ganz gut beschrieben:
http://de.wikipedia.org/wiki/Synthesealgorithmus-Normalform#Reduktionhttp://de.wikipedia.org/wiki/Synthesealgorithmus-Normalform#Reduktion

Sprich man muss schauen ob man von dem was links "übrig" ist auf das kommt (sprich über die Attributhülle) was ich eben links weggennommen habe! Sozusagen ist die rechte Seite bei der Linksreduktion 0 relevant Wink
Ergo kann ich hier AC NICHT weglassen, sondern nur E!

mfg
Kilosh
Club-Member
Club-Member


Dabei seit: 11.11.08
Beiträge: 170


Private Nachricht senden
#13 | Gelesener BeitragVerfasst am: 9.2.2010, 13:48   Titel: Re: bcnf aufspalten
achso ok alles klar

vielen Dank Smile
-infinity-
Gold-Member
Gold-Member


Dabei seit: 26.10.08
Beiträge: 634


Private Nachricht senden
#14 | Gelesener BeitragVerfasst am: 9.2.2010, 20:52   Titel: Re: bcnf aufspalten
domi_21 hat Folgendes geschrieben

Sprich man muss schauen ob man von dem was links "übrig" ist auf das kommt (sprich über die Attributhülle) was ich eben links weggennommen habe! Sozusagen ist die rechte Seite bei der Linksreduktion 0 relevant Wink

Wenn ich eine FD AB -> C habe und die reduzieren will, dann mache ich Attr(FD,A) und Attr(FD,B) ... und schaue beide Male ob ich nach C komme. Also schaue ich schon C an, daher ist die rechte Seite nicht unwichtig
Kilosh
Club-Member
Club-Member


Dabei seit: 11.11.08
Beiträge: 170


Private Nachricht senden
#15 | Gelesener BeitragVerfasst am: 9.2.2010, 21:06   Titel: Re: bcnf aufspalten
-infinity- hat Folgendes geschrieben
domi_21 hat Folgendes geschrieben

Sprich man muss schauen ob man von dem was links "übrig" ist auf das kommt (sprich über die Attributhülle) was ich eben links weggennommen habe! Sozusagen ist die rechte Seite bei der Linksreduktion 0 relevant Wink

Wenn ich eine FD AB -> C habe und die reduzieren will, dann mache ich Attr(FD,A) und Attr(FD,B) ... und schaue beide Male ob ich nach C komme. Also schaue ich schon C an, daher ist die rechte Seite nicht unwichtig

jo stimmt.


Zitat
aber dann könntest du ja immer alles streichen, wenn du EC streichst hast du A->B, dann ist B in der Attributhülle davon und es geht. Genauso bei allen anderen Möglichkeiten, du könntest sogar ACE streichen weil dann die B von der leeren Menge abhängig ist, dann wäre B auch in der Attributhülle.

EC kannst du nicht streichen
weil du nur mit dem A nicht auf B kommst!

also war meine aussage am fang doch richtig! Weil die Definitionen die smatter geschrieben hat steht genau so im Buch!

Zuletzt bearbeitet von Kilosh am 9.2.2010, 21:07, insgesamt einmal bearbeitet
Beiträge anzeigen:
Neue AntwortNeue Antwort
Du kannst auf Beiträge in diesem Thema nicht antworten.
Du kannst deine Beiträge in diesem Thema nicht bearbeiten.
Du kannst deine Beiträge in diesem Thema nicht löschen.
Alle Zeiten sind GMT + 1 Stunde
Infler © 2005-2008 alcaeus (Impressum)
Portions based on phpBB © 2001, 2005 phpBB Group
Infler 2.4.7 YASE
RSS-Feed verfügbar