Erik: Nachtrag

Beitrag lesen

Hallo Michael,

Das gibt dann eine Zeile zurück. Das sollte doch auch
kein größerer Aufwand sein, als das ganze mit drei
SELECT zu machen, oder?

Mir ist völlig unklar, wie Du das mit drei SELECTs semantisch äquivalent hinkriegen willst.
(Jedes Deiner drei Statements kann beliebig viele Treffer liefern - und die müßtest Du dann in Deinem Anwendungsprogramm ausmultiplizieren. Das allerdings ist nicht der Sinn von SQL.)

Es sei denn, b ist unique in _jeder_ Deiner Tabellen - dann allerdings wäre Deine relationale Zerlegung untauglich, weil dann alle Daten in eine einzige Tabelle gehören (so daß sich Deine Frage gar nicht mehr stellen würde).

'b' ist unique. Aber die Zerlegung in die drei Tabellen hat durchaus ihren Sinn. Denn nicht nicht für jedes 'b' sind in allen drei Tabellen Werte. In einer Tabelle sind zudem (sofern sie vorhanden sind) sehr große Werte und eine Tabelle hat (sehr kleine) Werte die sehr oft geändert werden müssen. Und dann ist es doch ein Vorteil, wenn ich eine 'kleine' Zeile habe, die geändert werden muss, die vielleicht 1 kb hat, als wenn ich eine Zeile ändere die ca. 50 kb hat, oder sehe ich das falsch?

Viele Grüße
Erik