Beispiel 2 EER Anregungen

  • Hallo,

    kann mir vielleicht jemand sagen wie ich die sql befehle über den minteka server machen kann?

    Hab mich mit putty eingeloggt und eine sql session gestartet!
    Muss ich dort dann die sql-befehl ausführen? also create table, inserts und dann die delete?
    Kann man irgendwie einen editor verwenden?????? wenn ja wie?

    Wie funktioniert der spool befehl-befehl? Bzw. wie führt man den aus? Es steht ja in der Angabe dass man eine Listing datei bereitstellen muss!

    Danke für eure Hilfe schon mal im voraus!

    Lg

    Eine Akademikerkarriere: Dissertation, Habilitation, Rehabilitation. :devil:

  • Hab mich mit putty eingeloggt und eine sql session gestartet!
    Muss ich dort dann die sql-befehl ausführen? also create table, inserts und dann die delete?
    Kann man irgendwie einen editor verwenden?????? wenn ja wie?

    kannst lokal an den *.sql-dateien arbeiten, auf minteka kopieren und die dann remote mittels "start create.sql" (während der sqlsession) ausführen . bezüglich editor -> es gibt am minteka auch vim, für die meisten sachen recht fein. ausserdem(aus einer tuwis++-mail):
    oracle-session mit "sqlp" und nicht "sqlplus" auf minteka starten und man hat eine cmd-history. andere tips gibts in dem forum einen sticky-thread wo zb sowas steht (und mehr) "select * from cat;" (anzeigen aller tabellen/sequences usw)

    Quote


    Wie funktioniert der spool befehl-befehl? Bzw. wie führt man den aus? Es steht ja in der Angabe dass man eine Listing datei bereitstellen muss!

    such da einfach nach spool
    http://www0.fh-trier.de/~steinbus/or_intro.htm

  • Zum herumprobieren habe ich den Oracle SQL-Developer verwendet. Ist für den Beginn sicherlich von Vorteil. Dazu gibt es auch einen Thread.

    Um die Shell kommst du dann im Endeffekt aber doch nicht herum :).

    Zum hochladen der Files... cuteFTP ist grafisch :thumb:

  • Danke für eure hilfe

    Wieso verwendet man bei create table person für persnr NUMERIC?? Kann man da auch number verwenden?
    Was ist der Unterschied zwischen Numeric und number?

    Lg

    Eine Akademikerkarriere: Dissertation, Habilitation, Rehabilitation. :devil:

  • Wie kommt man beim Relationenmodell auf folgendes: (Das Relationenmodell wurde oben gepostet von lidl)

    fanclub (name, sid:fanclub.sid, gegruendet, obmann:mitlgied.persnr)

    Gehört statt sid:fanclub.sid nicht sid:stondort.sid???????

    Von wo kommt auf einmal der obmann:mitglied.persnr her?

    Das selbe frage ich mich bei der mannschaftsrelation. Wo kommt aufeinmal chef_trainer:trainer.persnr und co_trainer:trainer.persnr her?


    Viele Grüße

    Eine Akademikerkarriere: Dissertation, Habilitation, Rehabilitation. :devil:

  • bei dem fanclub hast recht, da stimmt "fanclub (name, sid: fanclub.sid,..)" nicht.
    Aber wenn du das schon richtig hast verstehe ich die nächste Frage nicht so ganz. obmann == name des attributs in der tabelle fanclub(ist ein FK). mitglied.persnr bezeichnet das attribut auf das dieser FK verweist (verweis auf tabelle mitglied, dort aufs attribut persnr). usw usf bei mannschaft uä

  • Danke für eure hilfe

    Wieso verwendet man bei create table person für persnr NUMERIC?? Kann man da auch number verwenden?
    Was ist der Unterschied zwischen Numeric und number?

    Lg


    Im Inet hab ich gefunden, dass für Oracle gilt: "NUMERIC = NUMBER ohne Nachkommastellen"


    lidl: Eine kleine Frage zu deiner Lösung:
    Wieso hast du beim droppen nie "CASCADE CONSTRAINTS" verwendet? (dann funktionierts doch gar nicht oder?)

  • Im Inet hab ich gefunden, dass für Oracle gilt: "NUMERIC = NUMBER ohne Nachkommastellen"

    lidl: Eine kleine Frage zu deiner Lösung:
    Wieso hast du beim droppen nie "CASCADE CONSTRAINTS" verwendet? (dann funktionierts doch gar nicht oder?)



    "CASCADE CONSTRAINTS" kannte ich bis zur Abgabe nicht.
    Insgesamt funktioniert die drop.sql schon, musst nur aufpassen, dass du die Entities in der richtigen Reihenfolge löscht. Du darfst nie ein Entity löschen auf die eine andere Entitiy mittels Foreign-Key verweist. Also am besten die Entities zuerst löschen die eine n:n Relation auflösen, danach kannst du voranschreiten. Bei zyklischen FKs kommst du um "CASCADE CONSTRAINTS" natürlich nicht herum, es sei denn du löscht den Foreign Key vorher mittels ALTER TABLE aus der Entity - was natürlich nicht so elegant ist wie "CASCADE CONSTRAINTS".

    fanclub(sid:fanclub.sid) stimmt natürlich überhaupt nicht :)

    onu

    Quote

    Aber wenn du das schon richtig hast verstehe ich die nächste Frage nicht so ganz. obmann == name des attributs in der tabelle fanclub(ist ein FK). mitglied.persnr bezeichnet das attribut auf das dieser FK verweist (verweis auf tabelle mitglied, dort aufs attribut persnr)



    Warum verstehst du das nicht? Du beschreibst es doch eh schon richtig. obmann verweist auf mitglied.persnr - und mitglied.persnr auf person.persnr.
    Obmann darf nicht direkt auf person.persnr verweisen, da nur ein Mitglied Obmann sein darf.

    Quote

    Das selbe frage ich mich bei der mannschaftsrelation. Wo kommt aufeinmal chef_trainer:trainer.persnr und co_trainer:trainer.persnr her?


    Aus den beiden Relationen zwischen Mannschaft und Trainer. Irgendwo musst du ja speichern von wessen Trainer bzw. Co-Trainer eine Mannschaft trainiert wird.

  • "CASCADE CONSTRAINTS" kannte ich bis zur Abgabe nicht.
    Insgesamt funktioniert die drop.sql schon, musst nur aufpassen, dass du die Entities in der richtigen Reihenfolge löscht. Du darfst nie ein Entity löschen auf die eine andere Entitiy mittels Foreign-Key verweist. Also am besten die Entities zuerst löschen die eine n:n Relation auflösen, danach kannst du voranschreiten. Bei zyklischen FKs kommst du um "CASCADE CONSTRAINTS" natürlich nicht herum, es sei denn du löscht den Foreign Key vorher mittels ALTER TABLE aus der Entity - was natürlich nicht so elegant ist wie "CASCADE CONSTRAINTS".


    Ok alles klar. :)
    Und danke für die ausgearbeitete Lösung, hat bei mir sicherlich den einen oder anderen Punkteabzug vermieden. ;)

  • So, hier jetzt mal mein vorläufiges Endergebnis.
    Ein paar Kleinigkeiten gehören noch "optimiert", aber im großen und ganzen denke ich, daß es paßt.

    Files

    • er-diagramm.pdf

      (134.2 kB, downloaded 159 times, last: )
    • Relationenschema.pdf

      (34.76 kB, downloaded 139 times, last: )
    • create.txt

      (3.58 kB, downloaded 169 times, last: )
    • insert.txt

      (8.45 kB, downloaded 142 times, last: )
    • drop.txt

      (544 Byte, downloaded 118 times, last: )
  • @ lidl:

    Da du jeweils chef-trainer und co-trainer unique gesetzt hast ist zwar gewährleistet, dass jemand immer nur einmal cheftrainer oder co-trainer sein kann. Es wäre aber möglich dass jemand chef-trainer von mannschaft1 ist und co-trainer von mannschaft 2 ist. Dann wäre ein Trainer ja nicht immer nur einer Manschaft zugeordnet.

  • hallo. ich habe mir nun einmal das relationenmodell und die create.txt angesehen. irgendwie finde ich nicht das diese kompatiebel sind. ich glaube schon dass alle tabellen welche im create.txt vorkommen auch im relationenmodell angeführt werden müssen. ansonsten würde man ja ein relationionenmodell in der 3 NF nicht machen - oder? vielleicht stehe ich nur einwenig auf der leitung:confused:

  • kann vll nochmal wer meines überfliegen? :)


    Ich hab mir nur das ER-Model angeschaut....:
    1) Ein Angestellter muss genau einen Fanclub betreuen?
    2) Angabe: An jedem Standort gibt es 1 oder mehrere Fan-Clubs.
    3) Was ist Primary-Key von Spiel?

    Die drei Sachen hab ich beim kurzen überfliegen gesehen....

    ....jetzt geh ich weiter meins fertig machen :verycool:

    LG Pio24 :coolsmile:

  • 1) und 2) jo, hab ich übersehen, danke :)


    @3) hab sdann in den relationen so gemacht, das der key (datum + Mannschaft.bezeichnung) ist, ka ob das dann so richtig modelliert ist im er :)

  • Hallo! eine frage: Wieso ist Trikot abhängig von Spieler? Ist es nicht eher abhängig von Mannschaft? Die spieler innerhalb einer mannschaft müssen jeweils eine eindeutige Trikotnummer haben... wenn man also Trikot abhängig macht von Spieler hat dann nicht der Spieler egal in welcher Mannschaft er spielt die selber Nummer? das wäre ja dann nicht richtig? weil er kann in verschiedenen mannschaften spielen mit jeweils verschiedenen nummern.. so hab ich das verstanden..
    oder bin ich grad vollkommen verwirrt? hehe :lauscher::omg::p:thumb::engel::wave2:


    dankeee für jede hilfreiche aufklärung im vorraus! :thumb:

    Lets Rock This Planet!!!! \m/ :devil:


    and:


    Muskarci vladaju svetom, zene vladaju muskarcima :D

  • keine ahnung :)
    wurde auch nicht genau durchgekaut im abgeabegespräch.


    ich kann dir nur meinen gedankengang ohne gewähr anbieten.


    eine mannschaft hat trikots, mindestens 11 bis *.
    jedes dieses trikots ist genau einem spieler zugeordnet.


    allerdings kann ein spieler mehrere trikots haben, wenn er in verschiedenen mannschaften spielt. jedes dieser trikots hat dann eine bestimmte nummer.


    allerdings ist die bezeichung "trikot" etwas ungünstig, aber mir is nix besseres eingefallen.
    übrigens ist bei meiner lösung nicht sichergestellt, dass es nur einen kapitän gibt, hab es einfach begründet mit auswechslungen :D


    naja, so ungefähr hab ich mir das gedacht