Klausurfragestunden

Das Gekritzel ist online.

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Klausurfragestunden
Hi!

Ich wollte mal bescheid geben, dass das Gekritzel (Die “Tafelanschriebe”) von den beiden Klausurfragestunden nun im StudOn stehen. Diese helfen wahrscheinlich weniger, wenn man nicht anwesend war, sind aber auch eher als Hilfe für die Anwesenden gedacht, damit keine Zeit mit Abmalen verloren geht.

Man bedenke ein paar Dinge: Beim Top-N haben wir ein Ranking marke “Die n ärmsten Menschen” gemacht - hier dreht sich meistens das Ungleichheitszeichen um. IAI steht für “Irgendeine andere Information”. Der E/R-Ausschnitt bezüglich der Beispielklausur ist rein exemplarisch und nicht vollständig - wie in einem anderen Thread erwähnt, ist durchaus die “Begegnung” als schwache Entität sinnvoll modellierbar, und auch eine totale Teilnahme hat sich “nicht aus dem Gespräch ergeben”.

Sollte es weitere Fragen oder Ergänzungsbedarf geben, stehe ich euch gerne zur Verfügung. :wink:

-Jerry


Frage:
Wenn man bei SQL Anfragen Joins mittels “,” ausfuehrt und dann im WHERE Teil diese Tabellen
ueber Primaer- und Fremdschluessel erst verbindet bzw richtig ordnet, gibt es keinen Punktabzug oder?
Weil es ja nicht so perfomant ist, weil man ja erst das komplette Kreuzprodukt bildet und dann selektiert…
Mir ist das naemlich lieber wie das JOIN ON USING und so. Komme damit vom Denken her besser klar.

Als Beispiel:

[quote] SELECT bestellung.bestelldatum,
produkt.produktbeschreibung,
bestellung_produkt.anzahl AS menge,
produkt.preis AS einzelpreis,
produkt.preis * bestellung_produkt.anzahl AS gesamtpreis
FROM bestellung_produkt
JOIN produkt
USING (artikelnummer)
JOIN bestellung
ON bestellung_produkt.bestellung = bestellung.id
WHERE bestellung.kunde = 4929092626735051
ORDER BY bestelldatum ASC,
gesamtpreis DESC; [/quote]

[quote]SELECT DISTINCT firmenname
FROM produkt
JOIN firma
USING(strasse, hausnummer, plz, stadt)
WHERE produkt.preis < 450
ORDER BY firmenname ASC;[/quote]


Ein DBMS sollte erkennen, dass damit ein join gemeint ist und es auf dieselbe weise ausführen. Kann man sich gut mit EXPLAIN anschauen


Das bedeutet also, dass ich es auch so schreiben darf?
Funktionieren tut es ja, habe ich sicherheitshalber schon ausprobiert (in der Datenbank im CIP).
Mir gehts ja grad nur darum, dass ich das in der Klausur so machen darf.


Die Klausur richtet sich nach Übung bzw. Vorlesung: In beiden wurden die verschiedenen Notationsformen eines JOIN besprochen und als gültige Lösungen präsentiert :wink:


Kurz: Ja, darfst du. Die von dir beschriebene Methode wird, wie DerIch schon gesagt hat, bei keinem relevanten DBMS tatsächlich ein Kreuzprodukt bilden.