ER Diagramm so richtig?

n3oth3on3

Mitglied
Guten Tag,
Ich muss für mein Fach Datenbank eine komplette Datenbank in den nächsten Wochen erstellen. Als erstes sollten wir ein "ER Diagramm" erstellen, was ich woll soweit habe... Nun würde ich aber gerne wissen ob es richtig ist :)

http://img232.imageshack.us/img232/158/hon.png
oder im Dateianhang...

Da ich nicht besonders gut in Datenbank stehe, kann hier vielleicht einer mal kurz drübergucken. Will nur Tipps, und so, also keine Lösungen ;)

HON = Heroes of Newerth, ist ein Spiel und ich habe mir das ganze so gedacht :

Es gibt einen Benutzer ( User ), und der kann ein Spiel spielen. Das Spiel hat zwei Seiten ( gut und böse ), und jede Seite hat 5 Helden. Nun haben die Helden jeweils ein Hauptarribute ( Int,Agi,...), sie haben jeweils einen attacktype ( nahkampf oder fernkampf ) und sie haben jeweils einen spell...

Mit denn Spells wußte ich nicht ganz wie ich das machen soll, jeder Spell gehört zu einem Hero, und jeder Hero hat nur 4 Spells. Hoffe das geht so :D

Zu denn Items, es gibt Kauforte ( Shops ) wo man halt Items kaufen kann.
 

Anhänge

  • hon.png
    hon.png
    116,2 KB · Aufrufe: 265
Moin,

so auf den ersten Blick sieht es sehr hübsch aus :p

Aber ohne die detaillierte Aufgabenstellung zu kennen, wird Dir keiner sagen können, ob es denn auch richtig modelliert ist ;-]

Gruß
Klaus
 
Es gibt keine Aufgabenstellung :D

Jeder durfte sich einen Bereich auswählen wie z.b. die Börse, Schulnetzwerk, Spiele, Banken, Autos usw...

Dazu sollten wir dann halt ein ER-Diagramm machen, die Datenbank halt und später noch Abfragen via mysql...

Aber damit ich anfangen kann brauche ich halt ein richtiges ER-Diagramm.

Zu dem Diagramm und die Erklärung des Spiels : Das meiste steht schon oben, HON ist eine Dota Kopie was vielleicht mehr leute kennen, und ich wollte dazu halt eine Datenbank machen...

Also nochmal etwas genauer erklärt :

In dem Spiel, hat jeder Spieler einen Account. Wenn man dann einem spiel joint, gibt es zwei Seiten ( gut und böse ) mit jeweils 5 Helden, also können max. 10 Spieler in einem Spiel mitspielen, aber es gibt auch 2vs2 usw.

Nachdem man nun in dem Spiel ist, kann man sich einen Helden aussuchen, die sind in drei Kategorien unterteilt ( intelligenz ( Magier...), Fernkampf ( Bogenschütze), Nahkampf ( Krieger ) und dann gibt es noch Nah und Fernkampf...), wenn man sich dann einen Hero ausgewählt hat, fängt das Spiel an.

Im Spiel kann man dann Items kaufen, die es in bestimmten Shops gibt.
 
Wie ich meine, solltest du dich an dein ER-Diagramm noch einmal ransetzen:

  • es gibt nur vier Verhältnistypen: 1:1, n:m, 1:m und n:1. Du verwendest allerdings auch so etwas: 1:5, was es aber nicht gibt
  • bei 1:1-Verhältnissen brauchst du keine Zwischentabelle, die die Verhältnisse beinhaltet. Generell werden diese Tabellen nicht in einem ER-Diagramm eingezeichnet, da diese erst bei der Umsetzung erstellt werden, theoretisch aber nicht existieren.
 
Ohhh, dann hab ich das leicht "verpennt", werde das heute abend wenn ich wieder zurück bin nochmal überarbeiten...

das heißt z.b. bei attribute und held bräuchte ich die Zwischentabellen nicht? Also immer nur bei 1:n und n:m ?

und wie mach ich das dann, wenn man nur max. 5 Helden "auswählen" kann? Gar nicht in das Diagramm also 1:n dann?

mfg
 
Zuletzt bearbeitet:
Genau. Wie du richtig erkannt hast, sind die Attribute zwischen den Tabellen "attribute" und "held" falsch. Aber auch bei 1:m, n:1 und n:m gehören diese Zwischentabellen nicht hin, da sie, wie schon gesagt, Teil der praktischen Umsetzung und nicht der Theorie - was das ER-Diagramm nun mal ist - sind. Und auch die Beschränkung, dass man nur maximal fünf Helden auswählen kann, ist Teil der praktischen Umsetzung und hat in dem Diagramm keineswegs etwas zu suchen.
 
So habs nun mal leicht verbessert, hoffe es ist nun "ganz" richtig :)

Muss in Datenbank noch bissl was an meiner Note machen :(

So nun meine Erklärung dazu :

Ein Benutzer spielt ein Spiel.
Ein Spiel hat mehrere Rassen ( Gut und Böse ). (2)
Eine Rasste hat mehrere Helden. ( 5)
Ein Held hat einen attacktype.
Ein Held hat ein Hauptarrtibute.
Ein Held kann mehre Items kaufen, und mehrer Items haben einen Shop.
Ein Held hat mehrer Spells. (4)

Ist das nun dann so richtig? Die Zahlen in denn (z.b.2), sind die Zahlen die da eigentlich reinmüssten, da aber sowas nicht in ein ER Diagramm reinkommt hab ich das mal so hingeschrieben ;)

Achso, was mich gerade noch so Interessiert... Wofür steht das "m"? "n" ist doch unendlich oder? und 1:m z.b.?
 

Anhänge

  • hon.png
    hon.png
    108,4 KB · Aufrufe: 82
Ich konnte jetzt nichts mehr finden, von dem ich sagen würde, dass es falsch ist. Aber zu dem m: wie du schon richtig gesagt hast, ist n unendlich oder steht für eine beliebig große natürliche Zahl. Da aber ein n:n-Verhältnis bedeuten würde, dass auf beider Seite gleichviele Verknüpfungen existieren müssen, nimmt man gerne den Buchstaben, der im Alphabet nachfolgend kommt. Das ist in diesem Falle eben das m.
 
Danke, für tolle Hilfe hier :)

Wenn einer noch was findet, dann bitte sagen ;D Aber ein großes Danke schön an "einfach nur crack"
 
Wie ich meine, solltest du dich an dein ER-Diagramm noch einmal ransetzen:

  • es gibt nur vier Verhältnistypen: 1:1, n:m, 1:m und n:1. Du verwendest allerdings auch so etwas: 1:5, was es aber nicht gibt
  • bei 1:1-Verhältnissen brauchst du keine Zwischentabelle, die die Verhältnisse beinhaltet. Generell werden diese Tabellen nicht in einem ER-Diagramm eingezeichnet, da diese erst bei der Umsetzung erstellt werden, theoretisch aber nicht existieren.

[smartshit]
* 1:5 kannst Du sehr wohl modellieren, indem Du fünf foreign key Spalten an Deine Entity klemmst ODER eine Relation mit einem passenden CHECK CONSTRAINT versiehst (was mysql afaik net kann)
* bei 1:1 Verhältnissen brauchst Du dann eine Zwischentabelle, wenn Du der Beziehung Attribute hinzufügst, die weder der einen noch der anderen Entity zughörig sind (Beispiel Person>-Aktueller Job-<Job. Hier würde beispielsweise das Eintrittsdatum weder der einen, noch der anderen Entity zugehörig sein)
[/smartshit]

Grüße
gore
 

Neue Beiträge

Zurück