Tom: ERM und Kardinalitäten

Hello,

in einer Aufgabe zur Erstellung eines ERM sollen, angelehnt an die Schreibweise im OOP Klassenmodell, die unterschiedlichen "Kardinalitäten"

1      genau einmal
1..*   einmal bis beliebig oft
0..1   Null- oder einmal
*      beliebig oft

angebracht werden.

Es sollen die Entitäten ermittelt werden und die Kardinalitäten.
Ein Teil der Aufgabe lautet:

Eine Führerscheinklasse wurde von einem Mitarbeiter abgelegt oder nicht abgelegt.

Als Entitäten wurden unter anderem "Mitarbeiter" und "Führerscheinklasse" ermittelt. Wie würdet Ihr die Relationship kennzeichen und warum?

+-------------+
         | Mitarbeiter |
         +-------------+
                |0..1
                |
               / \               /   \               \   / hat erworben
               \ /
                |
                |*
         +-------------+
         | FS-Klasse   |
         +-------------+

oder

+-------------+
         | Mitarbeiter |
         +-------------+
                |*
                |
               / \               /   \               \   / hat erworben
               \ /
                |
                |*
         +-------------+
         | FS-Klasse   |
         +-------------+

Meine Meinumg dazu:
Ein MA kann mehrere Klassen inne haben
eine Klasse kann von mehreren MA gehalten werden

Oder bin ich zu blöd, die Aufgabe zu verstehen?
Nur raus mit der Wahrheit. Ich habe dann ja das ganze Wochenende, um mich wieder zu erholen...

Ein harzliches Glückauf

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de
  1. Hi Tom!

    in einer Aufgabe zur Erstellung eines ERM sollen, angelehnt an die Schreibweise im OOP Klassenmodell, die unterschiedlichen "Kardinalitäten"

    1      genau einmal
    1..*   einmal bis beliebig oft
    0..1   Null- oder einmal
    *      beliebig oft

    Also vielleicht bin ich ja blöd[+], aber ich assoziere mit Kardinalitäten im ERM die Folgenden:

    1:1             - jeder Entität wird genau eine andere zugeordnet
    1:n (resp. n:1) - einer Entität können 1 bis n Entitäten zugeordnet werden
    n:m             - beiden Entitäten können beliebig viele zugeordnet werden

    Oder habe ich Dich jetzt überhaupt nicht verstanden?

    BTW: Du betreibst aktuell einen Rundumflug durch die Informatik - bereitest du Dich auf eine Prüfung / Zertifizierung vor?

    [+] - würde ich niemals ausschließen wollen

    off:PP

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
    1. Hello,

      1      genau einmal
      1..*   einmal bis beliebig oft
      0..1   Null- oder einmal
      *      beliebig oft

      Also vielleicht bin ich ja blöd[+], aber ich assoziere mit Kardinalitäten im ERM die Folgenden:

      1:1             - jeder Entität wird genau eine andere zugeordnet
      1:n (resp. n:1) - einer Entität können 1 bis n Entitäten zugeordnet werden
      n:m             - beiden Entitäten können beliebig viele zugeordnet werden

      Oder habe ich Dich jetzt überhaupt nicht verstanden?

      Nein, Du hast mich total richtig verstanden.
      Ich habe heute auch erst gestutzt.
      Aber es geht im Kursus um OOA und OOD und man hat uns versichert, dass dies zwar nicht der Standard wäre, zur Analyse aber erlabut sei, denn 1:1 lässt sich als 1:(1), 1:n als 1:(*) und m:n als (*):(*) darstellen. Die weiteren Möglichkeiten gehören dann zur Obermenge und erweitern die darstellung nur ein wenig. Wie und ob man das dann nachher ggf. in ein Datenbank-Design umsetzt, oder doch mit Objekten arbeitet, also ein Klassenmodell daraus erzeugt, ist erst der zweite Schritt.

      BTW: Du betreibst aktuell einen Rundumflug durch die Informatik - bereitest du Dich auf eine Prüfung / Zertifizierung vor?

      Ja, aber das Zertifizierungsmodul (LPI mit Erweiterungen) läuft erst von Mitte Oktober bis Anfang Januar.

      Aber zurück zu meiner Frage, würdest Du aus dem Aufgabentext (wörtlich zitiert, aus dem Kontext ergibt sich, dass jeder MA mehrere Fahrerlizenzen haben kann) Variante 1 oder Variante 2 herauslesen?

      Ein harzliches Glückauf

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. Hello,

        das müsste der Ordnung halber dann auch so geschreiben werden:

        1      genau einmal
        1..*   einmal bis beliebig oft

        0,1    Null- oder einmal

        *      beliebig oft

        Ein harzliches Glückauf

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
        1. Hi Tom!

          Meine Meinumg dazu:
          Ein MA kann mehrere Klassen inne haben eine Klasse kann von mehreren MA gehalten werden

          Da bin ich Deiner Meinumg;)

          off:PP

          --
          "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
    2. Hello,

      1      genau einmal
      1..*   einmal bis beliebig oft
      0..1   Null- oder einmal
      *      beliebig oft

      Also vielleicht bin ich ja blöd[+], aber ich assoziere mit Kardinalitäten im ERM die Folgenden:

      1:1             - jeder Entität wird genau eine andere zugeordnet
      1:n (resp. n:1) - einer Entität können 1 bis n Entitäten zugeordnet werden
      n:m             - beiden Entitäten können beliebig viele zugeordnet werden

      Zum Thema Notationen habe ich bisher gefunden, dass die Martin-Notation im amerikansichen Bereich em weitesten verbreitet ist, vermutlich, weil sie sich auch als (erweiterte) ASCII-Grafik datstellen lässt.

      Wie haben hier scheinbar die klassische Chen-Notation mit der Min-Max-Notaion verbunden.
      Die wäre mir für die weitere Nutztung auch am liebsten.

      Eine anerkannte Norm (DIN/ISO) dazu konnte ich bisher nicht finden.

      Ein harzliches Glückauf

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. Hello,

        fleißiges Lesen hat mir in Erinnerung gerufen, dass es sich hier wohl um

        die Komplexität:

        1      genau einmal
        1..*   einmal bis beliebig oft
        0..1   Null- oder einmal
        *      beliebig oft

        und die Kardianlität:

        1:1             - jeder Entität wird genau eine andere zugeordnet
        1:n (resp. n:1) - einer Entität können 1 bis n Entitäten zugeordnet werden
        n:m             - beiden Entitäten können beliebig viele zugeordnet werden

        handelt.

        Die Komplexität beschreibt, wie oft ein Tupel (wieviele Tupel) einer Entität in _eine_ Relationship mit den einer anderen Entität eingebracht wird. Die Kardinalität beschreibt die die Relationship zwischen den Entitäten allgemein als Einheit.

        Vorhin (vor meinem Spaziergang zum Hengsteysee) hatte ich es noch verstanden ;-)

        Und "verkehrt herum" notiert wird das dann auch noch.

        Ein harzliches Glückauf

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
  2. Hello,

    +-------------+
             | Mitarbeiter |
             +-------------+
                    |*
                    |
                   / \               /   \               \   / hat erworben
                   \ /
                    |
                    |*
             +-------------+
             | FS-Klasse   |
             +-------------+

    Kennt jemand von Euch ein Freeware-Tool, mit dem man diese Modelle zeichnen kann und auch Bilddateien davon erzeugen kann, ggf auch *.WMF oder *.EMF?

    Ein harzliches Glückauf

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Hallo Tom,

      Kennt jemand von Euch ein Freeware-Tool, mit dem man diese Modelle zeichnen kann und auch Bilddateien davon erzeugen kann, ggf auch *.WMF oder *.EMF?

      Wenn's UML sein soll, dann gibt's Umbrello, damit kann man nach UML-Notation modellieren. UML sieht halt etwas anders aus, als Deine Variante, ist dafür halt standardisiert (vielleicht wichtig zur Klarstellung: UML ist der Standard, wie die Dinger aussehen, *nicht* wie die dann später mal als Datei abgespeichert werden). Umbrello ist zwar eine KDE-Anwendung, gibt's aber auch neuerdings für Windows und Mac, da KDE 4 unter Windows und Mac läuft (zumindest Beta, aber so einfache Dinge sollten stabil sein).

      Ich persönlich finde UML nicht so prickelnd [1], daher würde ich eher etwas anderes bevorzugen. Ganz nett ist als Tool, ist MySQL Workbench. Läuft leider nur unter Windows im Moment (Linux und Mac sollen aber angeblich folgen, ich warte schon länger darauf), sieht auch nicht ganz so aus wie das, was Du haben willst, hat aber ein paar sehr praktische Features, was die tatsächliche Arbeit mit MySQL angeht.

      MySQL Workbench ist eine Weiterentwicklung von dem plattformübergreifenden DBDesigner. Das Ding ist auch ganz nett, hat aber ein paar Macken und stürzt manchmal ab, man sollte also häufig speichern.

      Wenn die Dinger dagegen 1:1 so aussehen sollen, wie Du da angegeben hast, dann wüßte ich kein Tool, was das direkt kann (gibt's sicherlich, fragt sich halt, ob das nicht wieder sauteuere Teile sind). Du könntest aber mal mit Graphviz herumspielen - das ist ein Kommandozeilentool, um allgemein Graphen zu erzeugen (es gibt auch Schnittstellen zu diversen Programmiersprachen). Das kann zwar nicht direkt ERMs erzeugen (das ist halt für allgemeines Graphen ausgelegt), allerdings dürfte es mit brauchbarem Aufwand möglich sein, diese dort selbst nachzubilden.

      Und - wie ich gerade sehe: Wikipedia führt eine Liste von Datenmodellierungswerkzeugen, vielleicht findest Du da etwas brauchbares, was ich bloß nicht kenne.

      [1] Zum einen, weil UML in meinen Augen falsche Prioritäten setzt bei dem, was in den ERMs dargestellt werden soll (andere Graphen sind IMHO viel besser Strukturiert) und zum anderen weil ich UML mal in der Uni für eine Info-Vorlesung machen musste und der Prof das so übertrieben angewendet hat, dass ich lange Zeit erst einmal genug von Modellierung allgemein hatte.

      Viele Grüße,
      Christian

      1. Hello Christian,

        einer meiner Mitstreiter macht das mit VISIO. Das hat aber kein anderer im Kurs, auch der Trainer nicht. Ist wohl zu teuer. Und so wird das auch wieder unterbleiben, da die (Zwischen-)Ergebnisse immer weitergereicht werden sollen. Ist dann gleich ein Training für Teamwork.

        In der älteren Szene der Grafikprogramme gab es auch 'was von Micrografx (ABC Flow Charter). Das habe ich sogar zuhause und es war auf einer Ramsch-CD, also mit Lizenz für 10 Euro oder so.. Aber leider ist zuhause eben im Moment ca. 300km weg. Da hätte ich keine Bedenken gehabt ;-)

        Wikipedia gehe ich nochmal durch und auch das Web natürlich. Das wird aber immer zeitraubender.

        Alle möglichen Diagrammtypen zum Projekt-/Softwareentwurf werden wir noch kennen lernen, vornehmlich natürlich die, die sich auf OO* beziehen.

        ERMs zeichen kann man zur Not auch mit Word-Grafik. Das ist aber eben nicht so sonderlich komfortabel.  Darum will ich das ja möglichst loswerden.

        Aber wie man sieht, scheitert der Erfolg im Moment noch an ganz prophanen Dingen, eben, welche Kardinalität die Relationship auf der einen Seite bekommt ;-) Aber es war schließlich auch schon Freitag, 15 Minuten vor Schluss. Ich hab dann noch 20 Minuten diskutiert, aber eine Lösung war nicht in Sicht. Wenn man was neues lernt, oder etwas altes aufs neue, dann könnte es schließlich inzwischen Spielarten geben, die man noch nicht kennt...

        Dank Dir auf jeden fall für Deine Mühe.

        Ein harzliches Glückauf

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
      2. Hello,

        MySQL Workbench ist eine Weiterentwicklung von dem plattformübergreifenden DBDesigner.

        MySQL Workbench benötigt das ".net Framework".
        Wollte ich eigentlich nicht installieren.

        Ok, weiter durchsuchen...

        Ein harzliches Glückauf

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
  3. Hallo Tom,

    Eine Führerscheinklasse wurde von einem Mitarbeiter abgelegt oder nicht abgelegt.

    Als Entitäten wurden unter anderem "Mitarbeiter" und "Führerscheinklasse" ermittelt. Wie würdet Ihr die Relationship kennzeichen und warum?

    Das ist *eindeutig* eine m:n-Beziehung: Die Führerscheinklassen existieren unabhängig von den Mitarbeiten und umgekehrt. Jeder Mitarbeiter kann mehrere Führerscheinklassen beistzen und jede Führerscheinklasse kann von mehreren Mitarbeiten bessessen werden.

    Eine 1:n-Beziehung, so wie Du sie aufgemalt hast, hieße ja, dass jede Führerscheinklasse von maximal EINEM Mitarbeiter bessesn werden könnte - d.h. wenn ein Mitarbeiter bereits Klasse B (Auto) hätte, dann könnte kein anderer Mitarbeiter die selbe Klasse besitzen. Wäre irgendwie doof, was?

    Es gibt durchaus Beispiele, bei denen die Unterscheidung nicht sofort offensichtlich ist, aber hier erschlägt mich doch regelrecht das auf dem Zaunpfahl eingravierte "m:n", mit dem das Beispiel winkt. Du solltest Dir drigend mal eine Pause gönnen und etwas Abstand von dem Problem nehmen, scheint mir ein klarer Fall von Betriebsblindheit zu sein.

    Viele Grüße,
    Christian

    1. Hello,

      Eine 1:n-Beziehung, so wie Du sie aufgemalt hast, hieße ja, dass jede Führerscheinklasse von maximal EINEM Mitarbeiter bessesn werden könnte - d.h. wenn ein Mitarbeiter bereits Klasse B (Auto) hätte, dann könnte kein anderer Mitarbeiter die selbe Klasse besitzen. Wäre irgendwie doof, was?

      Genau das habe ich unserem Dozenten ja auch gesagt, aber da 15 Minuten vor Schluss sowieso sonst keiner mehr aufgepasst hat, hat er sich in seine Aussage verbissen, das müss 0..1 heißen, weil es doch nur für einen Mitarbeiter betrachtet werden würde.

      Wahrscheinlich war er in Gedanken beim Klassenmodell und bei Vererbung gelandet...

      Du solltest Dir drigend mal eine Pause gönnen und etwas Abstand von dem Problem nehmen, scheint mir ein klarer Fall von Betriebsblindheit zu sein.

      Naja, ich warte mal den Montag ab, ob er es sich überlegt hat bis dahin.

      Ein harzliches Glückauf z.Zt aus Dortmund.

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de