Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
--- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
---- Datenbanken (http://www.informatikerboard.de/board/board.php?boardid=19)
----- select statement gesucht (http://www.informatikerboard.de/board/thread.php?threadid=2129)


Geschrieben von Haevelin am 03.02.2015 um 18:24:

  select statement gesucht

wie kann man in einer Datenbank auf die funktionale Abhängigkeit
AB-> CDAF
mit einer SQL Abfrage antworten?



Geschrieben von ed209 am 03.02.2015 um 20:31:

  RE: select statement gesucht

Zitat:
Original von Haevelin
die funktionale Abhängigkeit AB-> CDAF?


Kannst Du erläutern, was damit gemeint ist?

Gruß,
ED



Geschrieben von as_string am 04.02.2015 um 09:56:

 

Hallo!

Ich weiß zwar, was eine funktionale Abhängigkeit im Zusammenhang mit Datenbanken ist und mit SQL habe ich auch einige Erfahrung, aber wie diese Frage gemeint sein sollte, ist mir auch ein Rätsel.
Ist das wirklich der originale und vollständige Aufgabentext? Kann ich mir kaum vorstellen eigentlich...

Gruß
Marco



Geschrieben von Haevelin am 04.02.2015 um 13:28:

 

also die Relation besteht aus den Attributen R(ABCDEF) - darin gibt es functional dependencies, eben jene AB-> CDAF ist zu prüfen. D.h. es soll ein SQL statement geschrieben werden der überprüft ob diese FD in R besteht. Ich habe folgendes probiert, aber das kann auch Mist sein:

SELECT C,D,A,F FROM R WHERE R.A=A and R.B=B



Geschrieben von as_string am 04.02.2015 um 14:59:

 

Ich denke, ich würde hier einen sog. "self-join" benutzen (Du kannst eventuell mal danach auch googlen), etwa so was:

code:
1:
2:
3:
4:
5:
SELECT * FROM R AS R1, R AS R2
  WHERE R1.A = R2.A AND R1.B = R2.B AND
    (R1.C <> R2.C OR R1.D <> R2.d OR R1.E <> R2.E OR R1.F <> R2.F)


Wenn da ein Ergebnis kommt, dann ist die funktionale Abh. nicht erfüllt, wenn keines kommt, schon.

Aber probier das erst mal aus, ob es überhaupt geht. Ich habs nämlich gerade nicht ausprobiert...

Gruß
Marco



Geschrieben von eulerscheZahl am 04.02.2015 um 18:07:

 

Ich bin in SQL zwar nicht gerade fit, aber FROM geht meines Wissens nur mit einer Tabelle, nicht mit zwei.
Hier bräuchte man wohl ein JOIN.



Geschrieben von as_string am 04.02.2015 um 22:33:

 

Da liegst Du allerdings falsch! Mit Zunge

Gruß
Marco


Forensoftware: Burning Board, entwickelt von WoltLab GmbH