Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

root

Trainee

  • "root" is male
  • "root" started this thread

Posts: 88

Date of registration: Feb 6th 2003

Location: Hannover

1

Saturday, May 13th 2006, 3:32pm

SQL-Übung 4

Bei Aufgabe f) soll man ja seine MY_STARS Tabelle mit den "wichtigen" Personen aus seinen ausgesuchten Filmen füllen und die Anzahl an Filmen, an denen sie insgesamt mitgespielt haben.
Einzeln sind diese Abfragen ja sehr einfach, aber ich sehe noch keine Möglichkeit, beide Spalten mit einer Abfrage zu füllen. Hat das schon wer geschafft, oder sollen wir in diesem Fall zwei Abfragen schreiben?

Teklan

Erfahrener Schreiberling

Posts: 267

Date of registration: Nov 13th 2004

Location: Hannover

2

Saturday, May 13th 2006, 3:37pm

Ich glaube, dass ich es schon geschafft habe (wenn ich mir meine Filme und deren Character etc so angucke). Hab nur eine Anfrage gebraucht, aber dafür zwei ;) Tabellen statt nur einer benutzt

This post has been edited 1 times, last edit by "Teklan" (May 13th 2006, 3:38pm)


root

Trainee

  • "root" is male
  • "root" started this thread

Posts: 88

Date of registration: Feb 6th 2003

Location: Hannover

3

Saturday, May 13th 2006, 3:56pm

Hab es jetzt auch geschafft :)
Ging mit einer korrelierten Unteranfrage

Panschk[FP]

Junior Schreiberling

  • "Panschk[FP]" is male

Posts: 148

Date of registration: Oct 21st 2005

Location: H-town

Occupation: Informatik Master

4

Sunday, May 14th 2006, 10:29am

Ich war leider bei der Vorlesung nicht da, deswegen habe ich vielleicht was wichtiges verpasst...Wie soll man ein Primary Key definieren, der nicht Unique ist? Im Script finde ich nichts dazu. (1a)

Teklan

Erfahrener Schreiberling

Posts: 267

Date of registration: Nov 13th 2004

Location: Hannover

5

Sunday, May 14th 2006, 12:14pm

als Primary Key kann man auch eine Kombination von mehreren Spalten nehmen

maria

Praktikant

  • "maria" is female

Posts: 24

Date of registration: May 7th 2006

Occupation: Mathe/Info

6

Sunday, May 14th 2006, 10:41pm

Hi! habe eine Frage zu d:

wenn ich die Tabelle mit mind. 3 Zeilen füllen will, muss ich die anfrage INSERT INTO ... VALUES... mind. 3-mal wiederholen oder habe ich nicht richtig verstanden?
und was soll ich als ergebnis zu dieser anfrage eintragen? Tabelle selbst?

Sinan

Senior Schreiberling

  • "Sinan" is male

Posts: 1,021

Date of registration: Jul 5th 2003

Location: Malaga

Occupation: Senior Cloud Solution Engineer bei Oracle

7

Sunday, May 14th 2006, 11:21pm

Quoted

Original von maria
wenn ich die Tabelle mit mind. 3 Zeilen füllen will, muss ich die anfrage INSERT INTO ... VALUES... mind. 3-mal wiederholen oder habe ich nicht richtig verstanden?

In diesem Falll muss man die Anfrage drei Mal wiederholen. Es sei denn man hat die Werte schon bereits in einer anderen Tabelle und führt eine Insert-Anfrage mit SELECT-Unteranfrage aus, INSERT INTO ... VALUES (SELECT ...), dann werden alle Zeilen eingefügt, die von SELECT zurückgegeben werden.

Quoted


und was soll ich als ergebnis zu dieser anfrage eintragen? Tabelle selbst?

"Geben Sie als Ergebnis stets die Rückmeldung des DBMS ab."
Es würde aber meine Meinung nach auch nicht schaden wenn du die Anfragen mit eingibst.
Und wenn ich mich noch gut dran erinnere, gab es da noch ein freies Feld für Bemerkungen. Die Korrektoren freuen sich ;)

EDIT:

Quoted

Falls Sie die Tabelle MOVIE noch nicht auswendig gelernt haben, ...
ich habe bereits ein paar andere Tabellen auswendig gelernt, aber für MOVIE brauch ich noch n bisschen Zeit :D
With great power comes great responsibility

This post has been edited 1 times, last edit by "Sinan" (May 14th 2006, 11:32pm)


XAX

Junior Schreiberling

  • "XAX" is male

Posts: 207

Date of registration: Dec 25th 2004

8

Monday, May 15th 2006, 8:23am

Kennt überhaupt jemand irgendeinen der Filme?
Ich hab keinen bekannten gefunden und filmnummern, datum und bewertung einfach frei erfunden.

maria

Praktikant

  • "maria" is female

Posts: 24

Date of registration: May 7th 2006

Occupation: Mathe/Info

9

Monday, May 15th 2006, 8:35am

doch, habe viele mir bekannte filme gefunden, aber doppelt so viele unbekannte:)

also, bei d schreibt man als ergebnis diese drei anfragen und rückmeldung des DBMS.

maria

Praktikant

  • "maria" is female

Posts: 24

Date of registration: May 7th 2006

Occupation: Mathe/Info

10

Monday, May 15th 2006, 8:39am

Quoted

Original von Sinan

EDIT:

Quoted

Falls Sie die Tabelle MOVIE noch nicht auswendig gelernt haben, ...
ich habe bereits ein paar andere Tabellen auswendig gelernt, aber für MOVIE brauch ich noch n bisschen Zeit :D


Heh, die Zeit braucht man immer;)
Danke:)

iriania

Junior Schreiberling

  • "iriania" is female

Posts: 222

Date of registration: Nov 24th 2003

Location: Waqwaq

Occupation: Wie? Ich studiere? seit wann denn?

11

Monday, May 15th 2006, 8:12pm

Also ich bin erst bei Teilaufgabe a):

Mir ist nicht klar geworden, was man machen muss, um ein Datum nach dem 19.05. 10 Uhr auszuschließen.
Ich habe es mit folgendem versucht:

Quoted

...
seen date not null
constraint date_limit check(date<=TO_DATE('10:00,19.5.2006', 'HH24:MI, DD.MM.YYYY'))
constraint s_d_pk primary key,


aber dann bekomme ich folgende Meldung:

Quoted

ORA-00936:missing expression


ohne den ersten constraint wird die Tabelle ganz normal erstellt. Mir ist klar, dass da ein Fehler sein muss, bloß welcher? ?(
...und sie dreht sich doch!

This post has been edited 1 times, last edit by "iriania" (May 15th 2006, 8:13pm)


XAX

Junior Schreiberling

  • "XAX" is male

Posts: 207

Date of registration: Dec 25th 2004

12

Monday, May 15th 2006, 8:35pm

check(seen <=TO_DATE('10:00, 19.5.2006', 'HH24:MI, DD.MM.YYYY'))

dir fehlte ein Leerzeichen und statt date nimmste seen

iriania

Junior Schreiberling

  • "iriania" is female

Posts: 222

Date of registration: Nov 24th 2003

Location: Waqwaq

Occupation: Wie? Ich studiere? seit wann denn?

13

Tuesday, May 16th 2006, 12:01pm

Ach ja, klar!
date ist ja bloß das Datentyp, nicht die Spalte. :D

Danke!
...und sie dreht sich doch!

Lucky

Erfahrener Schreiberling

  • "Lucky" is male

Posts: 449

Date of registration: Oct 17th 2003

Location: Dresden

Occupation: Um ein bißchen mehr Ahnung zu haben als andere

14

Wednesday, May 17th 2006, 1:55pm

Formulieren Sie ein Constraint ist eine Aufgabenstellung. Soll ich wirklich nur das abgeben oder eine komplette Abfrage zum ändern der Tabelle? Meiner Meinung nach ist ja die AUfgabenstellung eindeutig und ich soll nur das Constraint abgeben... Aber wer weiß...

davon abgesehen finde ich einfach keine funktion die mir false zurückgibt, wenn ein wert irgendwo nich vorhanden ist
no risk no fun, no brain no pain nor gain

This post has been edited 3 times, last edit by "Lucky" (May 17th 2006, 3:15pm)


DrChaotica

Senior Schreiberling

  • "DrChaotica" is male

Posts: 714

Date of registration: Jan 22nd 2005

Location: SHG

Occupation: SW-Entwickler

15

Wednesday, May 17th 2006, 5:00pm

Quoted

Original von Lucky
davon abgesehen finde ich einfach keine funktion die mir false zurückgibt, wenn ein wert irgendwo nich vorhanden ist

Das klingt ja gerade so, als würdest du da ein REFERENCES brauchen...die passende Constraint sollst du vermutlich per Alter Table blabla hinzufügen, und das dann abgeben....

Neo

Erfahrener Schreiberling

  • "Neo" is male

Posts: 322

Date of registration: Jul 24th 2005

Location: Hannover

Occupation: Informatik

16

Wednesday, May 17th 2006, 6:12pm

Aufgabe c)

ALTER TABLE my_movies
ADD(
CONSTRAINT movie_in_my_languages
FOREIGN KEY(language)
REFERENCES my_languages(language)
ON DELETE SET NULL
)

Fehlermeldung:

ORA-02270: no matching unique or primary key for this column-list

Meine Frage:
Ich möchte language referenzieren, aber anscheinend klappt das nur, wenn das
Original aus der language Tabelle ein Primary Key ist, welches aber nicht
der Fall ist. Jemand einen Vorschlag, wie man dennoch c) effizient lösen kann?

This post has been edited 1 times, last edit by "Neo" (May 17th 2006, 6:14pm)


DrChaotica

Senior Schreiberling

  • "DrChaotica" is male

Posts: 714

Date of registration: Jan 22nd 2005

Location: SHG

Occupation: SW-Entwickler

17

Wednesday, May 17th 2006, 6:28pm

Deine Lösung ist leider richtig (Forenregeln?), du mußt nun nur noch durch hinzufügen eines bestimmten Constraints zu my_languages dafür sorgen, dass dort ein gewisser Schlüssel primär wird....

XAX

Junior Schreiberling

  • "XAX" is male

Posts: 207

Date of registration: Dec 25th 2004

18

Wednesday, May 17th 2006, 6:34pm

Das sollte wohl schon in Aufgabe 1b geschehen sein.
Da steht irgendwas von "Jede Sprache darf nur genau einmal vorkommen",
also beim erstellen der Tabelle gleich auf unique setzen.

Jochen

Trainee

Posts: 36

Date of registration: Oct 11th 2004

Location: Deutschland

Occupation: Informatik

19

Wednesday, May 17th 2006, 11:43pm

mir is bei aufgabe 1 a n gedanke gekommen:
beim datum is ja kein jahr angegeben!?! is da 2006 gemeint oder isses immer aufs aktuelle jahr bezogen? (in dem fall müsste man ja die jahreszahl aus der systemzeit rausfrickeln und mit der angegebenen zeit konkatenieren - zwecks vergleich)

Teklan

Erfahrener Schreiberling

Posts: 267

Date of registration: Nov 13th 2004

Location: Hannover

20

Wednesday, May 17th 2006, 11:45pm

auf dem Zettel steht "...nach dem 19.5. 10 UHr..."

Das ist sozusagen der Termin der nächsten SQL-Vorlesung^^ - ich denk schon, dass man 2006 nehmen darf