Sie sind nicht angemeldet.

root

Trainee

  • »root« ist männlich
  • »root« ist der Autor dieses Themas

Beiträge: 88

Registrierungsdatum: 06.02.2003

Wohnort: Hannover

1

13.05.2006, 15:32

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

Beiträge: 267

Registrierungsdatum: 13.11.2004

Wohnort: Hannover

2

13.05.2006, 15:37

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

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Teklan« (13.05.2006, 15:38)


root

Trainee

  • »root« ist männlich
  • »root« ist der Autor dieses Themas

Beiträge: 88

Registrierungsdatum: 06.02.2003

Wohnort: Hannover

3

13.05.2006, 15:56

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

Panschk[FP]

Junior Schreiberling

  • »Panschk[FP]« ist männlich

Beiträge: 148

Registrierungsdatum: 21.10.2005

Wohnort: H-town

Beruf: Informatik Master

4

14.05.2006, 10:29

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

Beiträge: 267

Registrierungsdatum: 13.11.2004

Wohnort: Hannover

5

14.05.2006, 12:14

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

maria

Praktikant

  • »maria« ist weiblich

Beiträge: 24

Registrierungsdatum: 07.05.2006

Beruf: Mathe/Info

6

14.05.2006, 22:41

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« ist männlich

Beiträge: 1 020

Registrierungsdatum: 05.07.2003

Wohnort: Hannover

Beruf: Oracle Database Administrator

7

14.05.2006, 23:21

Zitat

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.

Zitat


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:

Zitat

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

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Sinan« (14.05.2006, 23:32)


XAX

Junior Schreiberling

  • »XAX« ist männlich

Beiträge: 207

Registrierungsdatum: 25.12.2004

8

15.05.2006, 08:23

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

maria

Praktikant

  • »maria« ist weiblich

Beiträge: 24

Registrierungsdatum: 07.05.2006

Beruf: Mathe/Info

9

15.05.2006, 08:35

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« ist weiblich

Beiträge: 24

Registrierungsdatum: 07.05.2006

Beruf: Mathe/Info

10

15.05.2006, 08:39

Zitat

Original von Sinan

EDIT:

Zitat

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« ist weiblich

Beiträge: 222

Registrierungsdatum: 24.11.2003

Wohnort: Waqwaq

Beruf: Wie? Ich studiere? seit wann denn?

11

15.05.2006, 20:12

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:

Zitat

...
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:

Zitat

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!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »iriania« (15.05.2006, 20:13)


XAX

Junior Schreiberling

  • »XAX« ist männlich

Beiträge: 207

Registrierungsdatum: 25.12.2004

12

15.05.2006, 20:35

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« ist weiblich

Beiträge: 222

Registrierungsdatum: 24.11.2003

Wohnort: Waqwaq

Beruf: Wie? Ich studiere? seit wann denn?

13

16.05.2006, 12:01

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

Danke!
...und sie dreht sich doch!

Lucky

Erfahrener Schreiberling

  • »Lucky« ist männlich

Beiträge: 449

Registrierungsdatum: 17.10.2003

Wohnort: Dresden

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

14

17.05.2006, 13:55

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

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Lucky« (17.05.2006, 15:15)


DrChaotica

Senior Schreiberling

  • »DrChaotica« ist männlich

Beiträge: 714

Registrierungsdatum: 22.01.2005

Wohnort: SHG

Beruf: SW-Entwickler

15

17.05.2006, 17:00

Zitat

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« ist männlich

Beiträge: 322

Registrierungsdatum: 24.07.2005

Wohnort: Hannover

Beruf: Informatik

16

17.05.2006, 18:12

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?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Neo« (17.05.2006, 18:14)


DrChaotica

Senior Schreiberling

  • »DrChaotica« ist männlich

Beiträge: 714

Registrierungsdatum: 22.01.2005

Wohnort: SHG

Beruf: SW-Entwickler

17

17.05.2006, 18:28

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« ist männlich

Beiträge: 207

Registrierungsdatum: 25.12.2004

18

17.05.2006, 18:34

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

Beiträge: 36

Registrierungsdatum: 11.10.2004

Wohnort: Deutschland

Beruf: Informatik

19

17.05.2006, 23:43

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

Beiträge: 267

Registrierungsdatum: 13.11.2004

Wohnort: Hannover

20

17.05.2006, 23:45

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