Subtraktion in der relationalen algebra?
Ich Frage mich, ob es möglich ist, zu subtrahieren Beziehungen, die eine unterschiedliche Anzahl von Attributen und Tupeln? Zum Beispiel, wenn ich eine Beziehung Ein, die 3 Attribute und 10 Tupel, und die relation B hat 2 Attribute und 5 Tupeln, sind A-B und B-A möglich? Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
du nicht erwähnt, ob Sie Ihre beiden Beziehungen haben alle Attribute gemeinsam. Als Thanatos sagt: streng genommen für relationale MINUS, muss es die gleiche Menge von Attributen.
Denke aber über Natural Join: diese 'matches' - Tupeln, die die gleichen Werte auf die Attribute gemeinsam. Dann gibt ' s eine operation (manchmal auch als 'antijoin' ( ▷ ) http://en.wikipedia.org/wiki/Relational_algebra#Antijoin_.28.E2.96.B7.29 ), die Renditen Tupel aus der linken argument, dass nicht match durch die Werte der Attribute gemeinsam.
In dem Fall, wo die Beziehungen haben die gleichen Attribute (union-kompatibel), antijoin ist das gleiche wie MINUS.
Ergebnis antijoin hat die gleichen Eigenschaften wie das linke argument. Also ja, erhalten Sie sowohl Eine ▷ B und B ▷ A (das ist, setzen antijoin statt minus); die Ergebnisse werden mit unterschiedlichen überschriften sowie unterschiedlichen Tupeln.
Antijoin ist in etwa vergleichbar mit SQL NICHT VORHANDEN ist (in der Auswahl auf die Eigenschaften gemeinsam, die gleich sind). Einige Dialekte von SQL haben einen operator, EXCEPT. Diese doco vergleicht AUSNAHME und NICHT VORHANDEN ist: http://download.oracle.com/otndocs/products/rdb/pdf/tech_archive/except_intersect_minus_ops.pdf Aber (wie üblich und im Gegensatz zu den RA) SQL keine Tabellen verknüpfen, die durch gleichnamige Attribute.
Bekommen Sie die Verknüpfung von Spaltennamen mit AUSNAHME der ENTSPRECHENDEN-aber Lesen Sie dieses Dokument sorgfältig! SQL macht nicht das was Sie erwarten würden von RA.
Für Interesse: Tutorial D der name für antijoin ist NICHT passend -, die nur sagt es allen.
Sehen Wikipedia:
In Ihrem Fall, im Grunde keine. Dies ist aufgrund der unterschiedlichen Attribute: wie würden Sie selbst definieren "Subtraktion" über zwei Sätze von im wesentlichen verschiedene Dinge?
Wenn Sie einige Kriterien /Methode, wie die Subtraktion funktionieren sollte, ist es wahrscheinlich, dass relationale algebra) Ausdrücken können, was Sie tun möchten; setzen Sie die Subtraktion kann einfach nicht das richtige Werkzeug.