# Klausur aufgabe! Bitte um mithilfe



## qwertz123 (26. Jun 2010)

Hallo zusammen ich habe hier eine klausuraufgabe und ich bin mir nicht sicher ob ich das so richtig gemach habe wäre nett wenn mir jemand sagen könnte ob das so richtig ist.

Die Aufgabe ist im Anhang aufgabe21!

Meine Lösung ist in dem zweiten anhang.

Die erste tabelle hat in der dritten spalte die PunktId welche mit der Id aus der zweiten in beziehung steht. In der Klausur wird es Handschriftlich verlangt.
Die abfrage habe ich mir gedacht wäre dann

select p.Nr,p.PunktID,pu.PunktID,pu.Punkte where Polygon as p, Punkte as pu where p.Nr=3 and where p.PunktID = pu.PunktID;

wäre nett wenn mir jmd sagen kann ob ich das so richtig gemacht habe und wenn nicht mir helfen könnte wie es denn richtig geht.

MfG Qwertz123


----------



## slawaweis (26. Jun 2010)

qwertz123 hat gesagt.:


> Hallo zusammen ich habe hier eine klausuraufgabe und ich bin mir nicht sicher ob ich das so richtig gemach habe wäre nett wenn mir jemand sagen könnte ob das so richtig ist.


erstmals, das Datenbankschema ist richtig und in 3NF. Es gibt aber eine Kleinigkeit. Einen Typ "Punkt" gibt es in relationalen Datenbanken nicht. D.h. das Feld "Punkte" wird als Zeichenkette abgelegt. Beim Rauslesen muss das zuerst geparst werden. Besser wäre es zwei Integer Felder "X" und "Y" zu haben. Aber das ist reine Designsache, kommt darauf an, wie der Prüfer es sieht.



qwertz123 hat gesagt.:


> select p.Nr,p.PunktID,pu.PunktID,pu.Punkte where Polygon as p, Punkte as pu where p.Nr=3 and where p.PunktID = pu.PunktID;


das geht so nicht. Erstmal ist da drei Mal "WHERE" drin. Zweitens würde es 4 Spalten ausgeben, wo in der Aufgabe nur die Punkte eines Pfades auszugeben sind. So wäre es richtig, ohne dass ich das jetzt getestet habe:


```
SELECT pu.Punkte AS "Punkte"
FROM Polygon AS p, Punkte AS pu
WHERE p.Nr = 3 AND p.PunktID = pu.ID
```

Slawa


----------



## qwertz123 (26. Jun 2010)

ok danke und anstelle von punkte dann zwei spalten mit x und y ist mir auch später eingefallen  aber vielen dank


----------

