[FRAGE] - Verbund
Results 1 to 8 of 8

Thread: Verbund

  1. #1
    Shade's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Posts
    484
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Arrow Verbund

    Hallo,
    irgendwie versteh ich diese verbund sache ned ganz...
    zb. wird im Buch Datenbank kompakt die zeile über die der Verbund gemacht wird weggelassen(glaub S.33 Produkt gejoint mit Hersteller)
    bei der übung am dienstag wurde aber aus der tabelle ab und ac
    die tabelle abc.wieso?
    und wie funktioniert dieser "externe" verbund?
    Danke im vorraus...
    ALL GLORY TO THE HYPNO TOAD...

  2. #2

    Title
    Elite
    Join Date
    May 2002
    Posts
    351
    Thanks
    1
    Thanked 0 Times in 0 Posts
    verbund (natürlicher bzw. natural join) verknüpft relationen über ihre
    GEMEINSAMEN attribute, also jene spalten, die gleich heissen UND gleiche werte haben, werden verschmolzen:
    a1b1 join a2c2 wird zu a(1,2)b1c2 - und nur jene zeilen werden gewählt, wo der wert von a ident ist, im bsp ist nur a=4 ident, also ergibt sich nur die zeile 4(4) 5 2
    in sql ist das soviel wie t1 natural join t2
    oder man bildet das kartesische produkt, wo man in where extra die gleichheitsbedingung angibt:
    select *
    from t1,t2 (=das liefert n-tupel v.t1 * n-tupel v.t2)
    where t1.a = t2.a (auch hier wird 'verschmolzen', mit dem unterschied, dass die spalte aber für jede relation angeschrieben wird, also steht 2mal a mit dem selben wert)

    der externe verbund verbindet relationen einerseits über die gemeinsamen attribute, aber nimmt auch noch jene tupel hinzu, die für a kein gleichwertiges attribut haben, also:

    a b c
    2 3 - linke relation ohne passendes a
    4 5 2 natürlicher verbund
    5 7 - linke seite ohne passendes a
    1 - 1 rechte seite .....
    5 -3 rechte seite ......

    wird nur die linke seite od. nur die rechte seite dazugenommen, so ist das der left join od. right join

    also: natürlicher verbund sind nur jene tupel, wo gemeinsame attribute gleiche werte aufweisen
    externer verbund sind auch jene tupel, die keine entsprechung in gemeinsamen attributen haben
    vielleicht hilft diese erklärung? .... der gute wille war da ;-)
    tip: mit google findet man viele informative seiten
    lg, m

  3. #3
    Shade's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Posts
    484
    Thanks
    0
    Thanked 0 Times in 0 Posts
    danke habs verstanden
    was mich aber verwirrt ist das im buch S.26
    Produkt JOIN Hersteller
    in einer tabelle resultiert in der das gemeinsame attribut herstellerID weggelassen wird.liegt das daran das im buch von der relationsalgebra ausgegangen wurde, während bei der übung von einer SQL anfrage ausgegengen wurde
    ALL GLORY TO THE HYPNO TOAD...

  4. #4
    Länz's Avatar
    Title
    Principal
    Join Date
    Feb 2002
    Posts
    78
    Thanks
    0
    Thanked 0 Times in 0 Posts
    es gibt bereits ein Thema (weiter unten) Fehler im Buch Kapitel ...
    da wird auch die seite 26 erwähnt - auch ich gehe davon aus dass HerstID einfachen vergessen wurde und defintiv in die Ergebnisrelation gehört!

  5. #5
    MarvinTheRobot's Avatar
    Title
    Dipl.Ing
    Join Date
    Feb 2002
    Location
    48° 09′ N, 16° 27' E
    Posts
    1,753
    Thanks
    121
    Thanked 105 Times in 58 Posts
    Ähm und wenn ich T2 vor T1 stelle? dreht sich dann left und right join auch um?

    mfg, Phil.
    Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders!
    www.chuckbronson.net
    www.spreadshirt.net/shop.php?sid=104618
    - TU-Funshirt-Shop
    Quote Originally Posted by peszi_forum
    Schiefe optik? siehe dazu den atttachment.. Und deine reaktion war wirklich robot mäßig bei antworten geben

  6. #6
    MarkusL's Avatar
    Title
    Master
    Join Date
    Feb 2002
    Location
    wien 12 / tirol (reutte)
    Posts
    155
    Thanks
    0
    Thanked 0 Times in 0 Posts
    1. ist ein "natural outer join" nicht wieder gleich einem "natural join"?

    2. bei einem "cross join" kommen gleich benannte spalten doch auch doppelt vor, dh sie werden nicht verschmolzen, oder?

    3. bei den Di-übungsbeispielen wird öfter "join" alleine verwendet. nur join alleine geht aber nicht (zumindest in postgresql)! es geht nur wenn "join... on..." oder "natural join" dasteht. Fehler bei den Angaben am Dienstag (bsp 3)?

    danke für alle antworten.

  7. #7
    Shade's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Posts
    484
    Thanks
    0
    Thanked 0 Times in 0 Posts
    1. ist ein "natural outer join" nicht wieder gleich einem "natural join"?
    ähh noch nie davon gehört

    2. bei einem "cross join" kommen gleich benannte spalten doch auch doppelt vor, dh sie werden nicht verschmolzen, oder?
    des cross join ist das kartesische produkt.Dh, jede zeile der einen tabelle wird mit jeder zeile der anderen tabelle verschmolzen...

    3. bei den Di-übungsbeispielen wird öfter "join" alleine verwendet. nur join alleine geht aber nicht (zumindest in postgresql)! es geht nur wenn "join... on..." oder "natural join" dasteht. Fehler bei den Angaben am Dienstag (bsp 3)?
    keine Ahnung...
    Last edited by Shade; 13-06-2002 at 19:54.
    ALL GLORY TO THE HYPNO TOAD...

  8. #8

    Title
    Baccalaureus
    Join Date
    Feb 2002
    Location
    Wien
    Posts
    534
    Thanks
    3
    Thanked 124 Times in 78 Posts
    Original geschrieben von MarkusL
    1. ist ein "natural outer join" nicht wieder gleich einem "natural join"?

    nein,
    "natural join" bedeutet "natural inner join"
    2. bei einem "cross join" kommen gleich benannte spalten doch auch doppelt vor, dh sie werden nicht verschmolzen, oder?
    sie werden nicht verschmolzen
    3. bei den Di-übungsbeispielen wird öfter "join" alleine verwendet. nur join alleine geht aber nicht (zumindest in postgresql)! es geht nur wenn "join... on..." oder "natural join" dasteht. Fehler bei den Angaben am Dienstag (bsp 3)?

    danke für alle antworten.
    stimmt, bei postgresql geht das nicht, da braucht man entweder "natural" oder "on" oder "using"

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •