Definition des Natural Join < Datenbanken < Praktische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 17:49 Fr 26.03.2010 | Autor: | Wimme |
Hi!
Ich wundere mich über folgende Definition des Natural Join:
R [mm] \triangleright\!\!\triangleleft\ [/mm] S = [mm] \pi_{R \cup S} \sigma [/mm] R.A1 = S.A1 [mm] \wedge \dots \wedge [/mm] R.Am = S.Am R [mm] \times [/mm] S
wobei A1...Am die Attribute die sowohl in R als auch in S vorkommen sein sollen.
Was genau soll denn S.Am bedeuten?
[mm] \pi_{R \cup S} \sigma [/mm] R.A1 ist doch totaler Blödsinn. Erst selektiere ich (ohne Bedingung?) alle Werte aus R.A1 (ist das nur die Spalte A1 von R?) und dann projiziere ich auf A1...Am ?
Irgendetwas verstehe ich grundsätzlich bei der Notation falsch, obwohl ich eigentlich alles relevante, vorhandene gelesen haben müsste.
Ich hoffe ihr kennt das und könnt das entziffern.
Dankesehr,
Wimme
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 06:44 Sa 27.03.2010 | Autor: | rainerS |
Hallo!
> Ich wundere mich über folgende Definition des Natural
> Join:
> [mm]R \triangleright\!\!\triangleleft\ S = \pi_{R \cup S} \sigma R.A1 = S.A1 \wedge \dots \wedge R.Am = S.Am R \times S[/mm]
>
> wobei A1...Am die Attribute die sowohl in R als auch in S
> vorkommen sein sollen.
>
> Was genau soll denn S.Am bedeuten?
Attribute Am in Tabelle S, um es von Attribut Am in Tabelle R zu unterscheiden.
> [mm]\pi_{R \cup S} \sigma[/mm] R.A1 ist doch totaler Blödsinn.
> Erst selektiere ich (ohne Bedingung?) alle Werte aus R.A1
> (ist das nur die Spalte A1 von R?) und dann projiziere ich
> auf A1...Am ?
Nein, die R.A1=S.A1 usw. sind die Bedingungen. Bei der Projektion lässt du alle doppelten Einträge (R.A1,S.A1) usw. weg.
Vielleicht hilft dir das hier weiter.
Viele Grüße
Rainer
|
|
|
|