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.

Catherine

Trainee

  • "Catherine" is female
  • "Catherine" started this thread

Posts: 61

Date of registration: Oct 6th 2003

1

Wednesday, November 12th 2003, 4:27pm

Datenbanksysteme I - Übungsblatt 4

Hallo Leute,

eine Frage über Aufgabe 2, "Relation mit den Attributen Name und Elternteil" <=> Eltern(Name, Elternteil) ?

Und Elternteil bedeutet entweder Vater oder Mutter, also dann der Wert des Elternteil sind: Vater, Mutter oder Null, habe ich richtig verstanden?

Danke!
Follow your heart, not brain!

AnyKey

Erfahrener Schreiberling

Posts: 451

Date of registration: Dec 11th 2001

Location: H-Town

Occupation: Student

2

Wednesday, November 12th 2003, 10:01pm

Nein!
Die Relation ist schon ELTERN(Name, Elternteil)
ABER in der Spalte Elternteil stehen die Namen eines Elternteils.
So kommt dann ein Kind in der Regel in der Spalte Name 2x vor, also einmal mit der Mutter und einmal mit dem Vater.
So hab ich das verstanden.

"Der Mensch braucht Schubladen." -- Any Key

Catherine

Trainee

  • "Catherine" is female
  • "Catherine" started this thread

Posts: 61

Date of registration: Oct 6th 2003

3

Thursday, November 13th 2003, 3:25pm

Vielen Dank AnyKey! :)
Follow your heart, not brain!

AnyKey

Erfahrener Schreiberling

Posts: 451

Date of registration: Dec 11th 2001

Location: H-Town

Occupation: Student

4

Thursday, November 13th 2003, 4:19pm

Wie sieht das denn eigentlich mit den Halbgeschwistern aus? Hat da einer mal nen tipp? Ich tapp da nämlich im dunklen :(

"Der Mensch braucht Schubladen." -- Any Key

Wanja

Junior Schreiberling

Posts: 150

Date of registration: Feb 4th 2003

5

Saturday, November 15th 2003, 5:45pm

Hallo, wie kann ich Aufgabe 2 in Relationsalgebra aufschreiben, ich finde dazu kein Beispiel. Wenn man nen 3fachen Selfjoin macht und dann wie in nem Baum die Kinder abarbeitet, kann man das mit sigma Elternteil = Name aufschreiben? Und für Elternteil setzt man die Unteranfrage ein?

This post has been edited 2 times, last edit by "Wanja" (Nov 15th 2003, 5:50pm)


migu

free rider

  • "migu" is male

Posts: 2,643

Date of registration: Dec 11th 2001

Occupation: Developer

6

Saturday, November 15th 2003, 9:36pm

nix
tar: Anlegen eines leeren Archivs wird feige verweigert.

This post has been edited 3 times, last edit by "migu" (Nov 15th 2003, 9:41pm)


NullAhnung

Erfahrener Schreiberling

  • "NullAhnung" is female

Posts: 332

Date of registration: Apr 28th 2003

7

Sunday, November 16th 2003, 10:43am

Kann das so funktionieren? Für 1b

SELECT PRES_NAME, YEARS_SERV
FROM PRESIDENT
WHERE NOT EXISTS
(SELECT *
FROM PRES_MARRIAGE
WHERE PRES_NAME = '%' AND SPOUSE_NAME = '%');

migu

free rider

  • "migu" is male

Posts: 2,643

Date of registration: Dec 11th 2001

Occupation: Developer

8

Sunday, November 16th 2003, 12:40pm

Quoted

Original von NullAhnung
Kann das so funktionieren? Für 1b

SELECT PRES_NAME, YEARS_SERV
FROM PRESIDENT
WHERE NOT EXISTS
(SELECT *
FROM PRES_MARRIAGE
WHERE PRES_NAME = '%' AND SPOUSE_NAME = '%');


Nein, ich denke nicht. Du musst prüfen, ob für einen president.pres_name ein pres_marriage.pres_name existiert.
tar: Anlegen eines leeren Archivs wird feige verweigert.

This post has been edited 1 times, last edit by "migu" (Nov 16th 2003, 12:40pm)


NullAhnung

Erfahrener Schreiberling

  • "NullAhnung" is female

Posts: 332

Date of registration: Apr 28th 2003

9

Sunday, November 16th 2003, 5:31pm

Also ich hab bei 2)
a) Geht nicht
b) Geht nicht
c) SELECT Name, Elternteil
FROM ELTERN E1
WHERE (SELECT *
FROM ELTERN E2
WHERE E1.Elternteil=E2.Elternteil)


Ist da irgendwas von richtig? Und wenn nicht, wie mach ichs besser?

cowhen

Muuuh!

  • "cowhen" is male

Posts: 1,374

Date of registration: Dec 13th 2001

10

Sunday, November 16th 2003, 6:19pm

Quoted

Original von NullAhnung
a) Geht nicht
b) Geht nicht
Also IMHO gehen a) und b) auch
plenty of time to relax when you are dead

dfex

Junior Schreiberling

  • "dfex" is male

Posts: 248

Date of registration: Dec 11th 2001

11

Sunday, November 16th 2003, 8:00pm

hi ...

bitte um meinungen:

c) geht auch...

falls jemand anderer meinung ist, bitte "gegenbeispiel daten" posten ... thx

NullAhnung

Erfahrener Schreiberling

  • "NullAhnung" is female

Posts: 332

Date of registration: Apr 28th 2003

12

Sunday, November 16th 2003, 8:07pm

Quoted

Original von NullAhnung
c) SELECT Name, Elternteil
FROM ELTERN E1
WHERE (SELECT *
FROM ELTERN E2
WHERE E1.Elternteil=E2.Elternteil)




WEnn das da richtig sein sollte, wie forme ich das jetzt in eine Relationenalgebra um?

dfex

Junior Schreiberling

  • "dfex" is male

Posts: 248

Date of registration: Dec 11th 2001

13

Sunday, November 16th 2003, 8:19pm

Quoted

Original von NullAhnung
WEnn das da richtig sein sollte, wie forme ich das jetzt in eine Relationenalgebra um?

leider ist die abfrage nicht ganz so einfach. bei mir funktioniert deine abfrage nicht.

MAX

Senior Schreiberling

  • "MAX" is male

Posts: 822

Date of registration: Dec 11th 2001

Location: Hannover

14

Sunday, November 16th 2003, 8:25pm

2c

ich habe die aufgabe ähnlich gelöst, aber mit einem kleinen unterschied und zwar:
select e1.name, e2.name from eltern e1, eltern e2 where e1.name <> e2.name and e1.elternteil = e2.elternteil;

wie man sieht, ist hier noch ein zusatz mit e1.name <> e2.name, sonst würde die abfrage einen einfachen cross join liefern, so quasi gekreuzt mit sich selbst und ausgegeben. das ist, denke ich, unerwünscht. bitte um meinungen.
mfg
MAX

dfex

Junior Schreiberling

  • "dfex" is male

Posts: 248

Date of registration: Dec 11th 2001

15

Sunday, November 16th 2003, 11:09pm

RE: 2c

Quoted

Original von MAX
select e1.name, e2.name from eltern e1, eltern e2 where e1.name <> e2.name and e1.elternteil = e2.elternteil;

deine abfrage liefert falsche ergebnisse, sobald eine person mehr als ein kind hat.