Guru
Date of registration: Dec 11th 2001
Location: Hämelerwald
Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)
Ich verstehe das (auch mit Blick auf das angegebene Beispiel) so:Quoted
Original von Der Micha
Also ich versteh die Fragestellung von Aufgabe 2 nicht ganz:
Sollen alle Filme eines Regisseurs und seine Nachfolger (bei denen
er nicht unbedingt Regie geführt haben muss) in die NACHFOLGER-
Relation oder NUR die Nachfolger "seiner" Filme ???
Ich habs so verstanden dass nur die Nachfolger rein sollen, dann
ist als Ergebnis die NACHFOLGER-Relation bei mir leer.
Guru
Date of registration: Dec 11th 2001
Location: Hämelerwald
Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)
Nachfolger werden in der Tabelle FOLLOWS verwaltet. Ist B ein direkter Nachfolger eines Filmes A, so ist dies entsprechend in der Tabelle FOLLOWS vermerkt.Quoted
Original von MAX
Was ist in der Aufgabe 2 unter Nachfolgerfilme zu verstehen? Was sind direkte und indirekte Nachfolger???
Rocky III ist direkter Nachfolger von Rocky II. Rocky V ist direkter Nachfolger von Rocky IV und indirekter Nachfolger von Rocky II.Quoted
Ein Beispiel???
Trainee
Date of registration: Jan 17th 2002
Location: H. an der L.
Occupation: wenn ich das jetzt noch wüsste....
Trainee
Date of registration: Jan 17th 2002
Location: H. an der L.
Occupation: wenn ich das jetzt noch wüsste....
Guru
Date of registration: Dec 11th 2001
Location: Hämelerwald
Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)
Naja, gerade WEGEN dieses Beispiels liegt es doch sehr nahe, daß auch alle Filme dieses Regisseurs in die Ergebnisliste aufgenommen werden sollen, oder?Quoted
Original von Cee
Aufgabe 2:
Ich verstehe die Aufgabenstellung so, dass ich nur die ID's der nachfolgerfilme ausgeben soll, keine Vorgänger, und nicht die Filme selber.
Dann sehe ich jedoch nicht, wieso Regisseur 161801 dessen 4 selbst gedrehte Filme alle genau keinen nachfolger haben 4 Treffer ergeben sollte...
Trainee
Date of registration: Jan 17th 2002
Location: H. an der L.
Occupation: wenn ich das jetzt noch wüsste....
This post has been edited 1 times, last edit by "Cee" (Dec 17th 2003, 1:02pm)
Guru
Date of registration: Dec 11th 2001
Location: Hämelerwald
Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)
Ne, da ist kein Widerspruch. Wenn man die Aufgabenstellung genau liest, wird man feststellen, daß "die IDs der gesuchten Filme" sich entweder auf alle Filme (also alle Filme des Regisseurs und deren direkte und indirekte Nachfolger) oder nur auf die Nachfolgerfilme beziehen kann. Daher ist die Aufgabenstellung bis zu diesem Punkt noch ungenau. Durch das Beispiel ist die Sache dann aber klar. Also kein Widerspruch – das Beispiel ergänzt die Aufgabenstellung und macht sie damit eindeutig.Quoted
Original von Cee
börp, ist natürlich ne frage dessen, ob man dem beispiel oder der aufgabenstellung einen höheren Stellenwert geben möchte...
Wenn man die beiden gleichwertig nebeneinander stellt isset halt nur nen widerspruch
Trainee
Date of registration: Jan 17th 2002
Location: H. an der L.
Occupation: wenn ich das jetzt noch wüsste....
Source code |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
set echo off set timing off ACCEPT director_id PROMPT 'Bitte id des Regisseurs eingeben:' DECLARE CURSOR directors_movies IS SELECT movie FROM directs WHERE director = &director_id; m NUMBER(6); /* hole alle Nachfolger des Films und speichere sie in der Tabelle nachfolger, inklusive der ID des Regisseurs */ PROCEDURE hole_nachfolger (mov_id NUMBER) IS CURSOR successors IS SELECT successor FROM follows WHERE movie = mov_id; n NUMBER(6); BEGIN /* fuege Film der Tabelle Nachfolger hinzu */ INSERT INTO nachfolger (director, movie) VALUES (&director_id, mov_id); /* durchlaufe alle Nachfolger des Films mov_id */ FOR n IN successors LOOP hole_nachfolger(n); END LOOP; END; BEGIN /* durchlaufe alle Filme des Regisseurs director_id */ FOR m IN directors_movies LOOP hole_nachfolger(m); END LOOP; COMMIT; END; / |
Source code |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
set echo off set timing off ACCEPT the_genre PROMPT 'Bitte Genre eingeben:' /* Hilfs-View mit allen gewuenschten Ergebnissen: */ CREATE OR REPLACE VIEW ratings (count, min, avg, max) AS SELECT COUNT(rating),ROUND(MIN(rating),2),ROUND(AVG(rating),1), ROUND(MAX(rating),1) FROM rating NATURAL JOIN genre WHERE genre = '&the_genre' WITH READ ONLY; VARIABLE result VARCHAR2(200) DECLARE v ratings%ROWTYPE; BEGIN SELECT * INTO v FROM ratings; :result := 'Genre &the_genre hat '||v.count ||' Filme und folgende Bewertungen: ' ||v.min||' / '||v.avg||' / '||v.max; END; / PRINT result |