Hallo
sollen wir bei aufgabe 1 genau 5 attribute suchen oder sind auch 3 in ordnung?
ich habe echt keine idee was ich z.b. bei den wölfen nehmen soll....kennt sich jemand mit wölfen aus?=)
Druckbare Version
Hallo
sollen wir bei aufgabe 1 genau 5 attribute suchen oder sind auch 3 in ordnung?
ich habe echt keine idee was ich z.b. bei den wölfen nehmen soll....kennt sich jemand mit wölfen aus?=)
gut dann belasse ich es bei meinen 3 =)
nein bin in meiner wohnung...
welche attribute hast du genommmen, wenn man fragen darf?
achso
ja gut ich hab folgendes:
rudelaufgabe (rudelführer,jäger,verteidiger usw..)
rudelhöhle (gehe davon aus, dass z.b. die jäger in der höhle 1 sind, verteidiger in der höhle 2 usw..
rudelanzahl ( hier kommt dann die anzahl hien, wieviel wölfe ind der höle 1 sind ...wieviele in der höhle 2 usw...
was glaubst du ? macht dass ^^^sinn=)?
kann mir bitte wer weiterhelfen? wie definiert ihr die FK bei Wolf? Weil in der VO haben wir auch 2 FK verwendet und wenn ich das jetzt in Access eingebe steht da dauernd: Es kann keine Beziehung zwischen einem Feld und sich selbst erstellt werden!
Weiß wer wo das Problem liegt?
CREATE TABLE rudel (
wolfname VARCHAR(15),
wolfalter INTEGER,
rudelname VARCHAR(15),
mitgliederboss SMALLINT NOT NULL,
PRIMARY KEY (wolfname));
CREATE TABLE mitglieder (
mitgliederboss SMALLINT,
wolfname VARCHAR(15),
boss SMALLINT,
PRIMARY KEY (mitgliederboss),
FOREIGN KEY (wolfname) REFERENCES rudel (wolfname),
FOREIGN KEY (boss) REFERENCES mitglieder (boss));
hey hab genau das gleiche Problem...Access bringt immer den Fehler:
Es kann keine Beziehung zwischen einem Feld und sich selbst erstellt werden!
kann wer weiterhelfen???
ja ich hab grad mal ein paar kollegen gefragt, vielleicht kann mir einer von ihnen helfen...werds dann auch posten ;)
Kann mir jemand die Aufgabe 1b erklären oder weiß jemand, ob so eine ähnliche Aufgabe in den Folien zu finden is?
Die 1. hätt ich mal so gelöst, obs stimmt weiß ich allerdings nicht
Hallo! Wie macht ihr denn die Entitäten bei der Wanderung?
lg
ich hab mir bei der wanderung sowas gedacht:
Ausgangsort
Meereshöhe
Steigung
Zeitaufwand
Zielort
Meereshöhe
Steigung
Zeitaufwand
stimmpt aber sicher nicht, denke ich mir =/
hat jemand eine idee, wie man die aufgabe 1b löst?
oder wie man z.b. die aufgabe 3 a löst?
hallo!
die create table statements kann man im access nicht so eingeben wie sie auf folie 44 stehn.
man muss das so lösen:
das erste create table statement könnt ihr übernehmen.
beim zweiten statement müsst ihr den namen der neuen tabelle (auf folie 44 wäre das bossno) und den neuen foreign key (auch bossno) weglassen.
dann müsst ihr eine neue tabelle mit ALTER erstellen:
ALTER TABLE Name der Tabelle wo das Attribut hinzugefügt werden soll
ADD COLUMN neues Attribut;
bei uns hat das so funktioniert...
also bei mir kommt, egal wie ich es versuche die Meldung: "Es kann keine Beziehung zwischen einem Feld und sich selbst erstellen werden!", wenn ich eine Rekursion machen möchte. Auch in der Hilfe von Access steht, dass man das nicht machen kann in Access.. ...
Aufgabe B dagegen ist echt einfach:
Ist eine m:n Beziehung.
Also hat man im ER-Modell im ersten Schritt 2 Entities.
Ausgangsort (Nr, Name, Meereshöhe - zB) und Zielort (Nr, Name, Meereshöhe)
Diese zwei teilt man dann in 2x 1:n-Beziehungen, sonst ist es in Access nicht machbar. Also eine Tabelle mehr im 2. ER-Modell dafür.
Ausgangsort (Nr, Name, Meereshöhe - zB), Zielort (Nr, Name, Meereshöhe) und Wanderungen (Nr, Wanderungsname, Dauer)
Als 1. Ausgangsort & Zielort erstellen -> Dann Wanderungen
In die Tabelle Wanderungen kommt dann der Fremdschlüssel von Ausgangasort.Name und Zielort.Name.
Fertig. nur noch die Abfragen.
Ahhhhhh,. weiss zufällig wer wo hier das problem liegt??
CREATE TABLE ausgangsort (
AOnummer SMALLINT,
AOname VARCHAR (30),
AOmeereshöhe INTEGER,
PRIMARY KEY(AOnummer));
CREATE TABLE zielort (
ZOnummer SMALLINT,
ZOname VARCHAR(30),
ZOmeereshöhe INTEGER,
PRIMARY KEY (ZOnummer));
CREATE TABLE wanderung (
AOnummer SMALLINT,
AOnummer SMALLINT,
wanderungzeit SMALLINT,
PRIMARY KEY(Wanderungnummer),
FOREIGN KEY FKWANDERUNG(AOnummer) REFERENCES ausgangsort ON DELETE RESTRICT,
FOREIGN KEY FKWANDERUNG(ZOnummer) REFERENCES zielort ON DELETE RESTRICT
);
acces markiert andauernd FKWANDERUNG wenn wir die angabe ausführen wollen. :(
wenn du dir die folien der vorlesung genau anschaust, wirst unter dem code immer ein kommentar feststellen: zB "Please note that syntax in MS Access is slightly different (see slide XX).
da du den code einfach nur von den folien abgeschrieben hast, mag in access nicht.
also schau nochmal genau nach :)
danke für die info.. ;)
CREATE TABLE ausgangsort (
AOnummer SMALLINT,
AOname VARCHAR (30),
AOmeereshöhe INTEGER,
PRIMARY KEY(AOnummer));
CREATE TABLE zielort (
ZOnummer SMALLINT,
ZOname VARCHAR(30),
ZOmeereshöhe INTEGER,
PRIMARY KEY (ZOnummer));
CREATE TABLE wanderung (
AOnummer SMALLINT,
AOnummer SMALLINT,
wanderungzeit SMALLINT,
PRIMARY KEY(Wanderungnummer),
FOREIGN KEY (AOnummer) REFERENCES ausgangsort,
FOREIGN KEY (ZOnummer) REFERENCES zielort
);
aber trotzdem funktionierts nicht.. diesmal wird andauernd CREATE der zweiten tabelle markiert.. :(
glg
Hat eigentlich irgendjemand beim 3 Beispiel ein paar Ideen?
Hallöchen!
wir hätten da a frag, und zwar zur dritten Aufgabe.
select wolfsnummer, wolfsname, anzahluntergeordnete FROM wolfsrudel..
so ham wir mal begonnen.. jetzt wissen wir leider nicht weiter wie ma des sortieren soll der Größe nach absteigend (vor allem weil wir diese attribute gar nicht vergeben haben, war ja bei nr 1 nicht gefragt)
LG
hi,
wir hätten bei der 3a) aufgabe so begonnen: SELECT Wolfsnummer, Wolfsname, COUNT(Bossnummer) AS Anzahl FROM Wolf WHERE ... ??
aber weiter wissen wir auch nicht ;) kommt auch immer a fehlermeldung
-.-
Bei dem Beispiel mit den Wölfen reicht meiner Meinung nach 1 Create-Table-Statement! (rekursive 1:N Beziehung)
Ihr habt "anzahluntergeordnete" als attribut definiert und dort einfach die jeweilige anzahl eingetragen?
wär auch ne lösung, die anzahl der untergeordneten sollte hier jedoch durch eine abfrage herausgefunden werden, wenn ich die angabe richtig interpretieren.
absteigend sortiert wird mit dem befehl "order by attribut desc"
es soll nach der anzahl der untergeordneten gereiht werden, jener, mit den meisten untergeordneten, zuerst.
Gut möglich, aber hast du dann auch die Abfrage von 3. dazu?
Ja, hab ich und funktioniert bestens. :D
Hmmm ... ich mach das Aufgabenblatt ja eigentlich für Kollegen ... hab WINF schon letztes Semester gemacht ... aber gut :D
Wenn jemand diese Codes übernimmt, dann unbedingt die Attribute ändern! Sonst bekommt ihr unter Umständen Probleme mit den PS-Leitern! xD
Die Tabelle:
CREATE TABLE Woelfe (
Wolf_ID SMALLINT NOT NULL,
Wolfname VARCHAR (15),
Geschlecht VARCHAR (1),
Fellfarbe VARCHAR (10),
Anfuehrerno SMALLINT,
PRIMARY KEY (Wolf_ID),
FOREIGN KEY (Anfuehrerno) REFERENCES Woelfe (WOLF_ID));
Die Abfrage:
SELECT boss.Wolf_ID, boss.Wolfname, Count(Wolf.wolf_id) AS Untergebene
FROM Woelfe AS boss, Woelfe AS Wolf
WHERE boss.Wolf_ID=wolf.Anfuehrerno
GROUP BY boss.Wolf_ID, boss.Wolfname
ORDER BY Count(Wolf.wolf_id) DESC;
hallo manuel,
hast du nur eine Tabelle gemacht? reicht das aus?? Ich bin eine ziemlich null in informatik! Bzw könntest du mir die komplette aufgabe 2 posten? Ich bin die letzte die irgendwas einfach kopiert/abschreibt! ich wills einfach nur mal verstehen!
LG
Das Beispiel mit den Wanderungen konnten meine Kollegen selbst lösen, deshalb hab ich davon jetzt keine Lösung.
Würde das Beispiel mit den Wanderungen aber als M:N Beziehung (also mit Zwischentabelle!) lösen.
Hab jetzt das Beispiel mit den Wanderungen noch schnell probiert. Mein Lösungsvorschlag sieht folgendermaßen aus:
Tabellen:
CREATE TABLE Orte (
Ort_ID SMALLINT NOT NULL,
Ortname VARCHAR (20),
Seehoehe SMALLINT,
PRIMARY KEY (Ort_ID));
CREATE TABLE wandern (
wandern_ID INTEGER,
Ausgang SMALLINT,
Ziel SMALLINT,
ZEIT_Minuten INTEGER,
PRIMARY KEY (wandern_ID),
FOREIGN KEY (Ausgang) REFERENCES Orte (Ort_ID),
FOREIGN KEY (Ziel) REFERENCES Orte (Ort_ID));
Abfrage:
SELECT wandern.wandern_ID, [Beginn.Seehoehe]-[Schluss.Seehoehe] AS Hoehendifferenz
FROM wandern, Orte AS Beginn, Orte AS Schluss
WHERE Beginn.Ort_ID=wandern.Ausgang AND Schluss.Ort_ID=wandern.Ziel
ORDER BY [Beginn.Seehoehe]-[Schluss.Seehoehe] DESC;
[quote=Manuel89;244877]Hmmm ... ich mach das Aufgabenblatt ja eigentlich für Kollegen ... hab WINF schon letztes Semester gemacht ... aber gut :D
Wenn jemand diese Codes übernimmt, dann unbedingt die Attribute ändern! Sonst bekommt ihr unter Umständen Probleme mit den PS-Leitern! xD
Die Tabelle:
CREATE TABLE Woelfe (
Wolf_ID SMALLINT NOT NULL,
Wolfname VARCHAR (15),
Geschlecht VARCHAR (1),
Fellfarbe VARCHAR (10),
Anfuehrerno SMALLINT,
PRIMARY KEY (Wolf_ID),
FOREIGN KEY (Anfuehrerno) REFERENCES Woelfe (WOLF_ID));
hallo manuel,
also ich tipps genau so ein wie du, natürlich mit anderen attributen, aber dennoch funktionierts nicht so richtig, ständig komm " Tabelle" sollte beim Öffnen gesperrt werden. Dies ist nicht möglich, da sie bearbeitet wird. Versuchen Sie später erneut, die Tabelle zu öffnen."
keine ahnung, warum das so ist ... hast du vielleicht ne idee? ich glaub, ich dreh gleich durch! übrigens: danke fürs posten"
Du musst jede SQL-Anweisung einzeln abschicken! Dann funktioinierts.
Bitte! :D
eine frage hätte ich auch noch zur abfrage wegen den wölfen und den untergebenen:
was für zahlen gibst du bei WolfID und Anführernummer ein? bei meiner abfrage kommen zwar die richtigen spalten aber komplett falsche ergebnisse raus! habs auch mit deiner probiert und sie per sql ausgeführt: selbes ergebnis!
bitte um hilfe!
lg
WolfID sollte der künstliche Primärschlüssel sein, also einfach 1, 2, 3, ...
Bei Anführernummer muss die WolfID des Vorgesetzten drinnstehen.
Angenommen: Wolf A hat die WolfID 1, Wolf B hat 2 und Wolf C hat 3.
Wolf A ist der Vorgesetzte von Wolf B und Wolf C,
dann steht bei Wolf A gar nichts drinnen (er hat keinen Vorgesetzten) und bei Wolf B und C steht jeweils 1 drinnen, da Wolf A ihr Vorgesetzter ist.
Wäre jetzt noch Wolf B von Wolf D ein Vorgesetzter, würde bei Wolf D 2 drinn stehen.
Nochmal kurzes Fazit: immer die WolfID des Vorgesetzten bei Anführernummer eingeben.
vielen vielen dank, das wollte gestern einfach nicht mehr rein ;)
hmm... ich hab jetzt Wolf A, B, C, D genommen
die Hierarchie lautet:
1 Wolf A
2 Wolf B, Wolf C
3 Wolf D
und trotzdem zeigt er mir bei untergebenen bei wolf a nur 2 leute an
und den dritten wolf nur bei wolf b??
ich überlege mir gerade die er darstellung zu diesem beispiel ...kann es sein dass bei dieser rekursiven 1:n beziehung nur eine entität gezeichnet werden muss ??!
in den folien sind ja mindestens immer zwei ... :-/
woher weiß man bei der 3aa die anzahl der dirket untergeordneten wölfe??
wir haben die direkt untergeordneten wölfe bei der ersten aufgabe nämlich nicht als attriobutre genommen? muss man das als attriobut nehemen??