Ok ich sehe Ihr habt ne...interessante Notation...aber ich denke ich verstehe was gemeint ist. Ich kann das alles jetzt natürlich nur mit meinen eigenen Worten wiedergeben, da ich selbst nicht unterrichte und vor allem nicht bei Euch ^^ Drum kann es schon sein, dass ich was anders erzähle als es Euer Dozent tun würde. Aber ich versuche, möglichst allgemein zu erklären.
Ich versuche jetzt mal das Bild zu erklären, das Du gescannt hast:
So wie ich das sehe sind ja bei Euch die "Rechtecke" die Entitytypen (ich kenne das übrigens eigentlich als Entität). Auf Deinem Bild wären das dann "Systembetreuer" und "Arbeitsplatzrechner".
Beliebig viele Systembetreuer betreuen beliebig viele Arbeitsplatzrechner (m:n-Beziehung). Das bedeutet, dass zB in einer Unternehmung 3 Systembetreuer angestellt sind und diese 3 Systembetreuer für sämtliche Arbeitsplätze zuständig sind. Ein Arbeitsplatz kann somit von jedem der 3 Systembetreuer betreut werden. m:n bedeutet in diesem Fall, es spielt keine Rolle, wer welchen Arbeitsplatz betreut.
Ein Entitytyp hat normalerweise Eigenschaften/Attribute/Felder (ich kenne leider Eure offizielle Bezeichnung in diesem Fall nicht. Bei uns spricht man normalerweise von Attributen oder Feldern). Die Attribute sind auf Deinem Bild die grünen Kreise, das heisst:
Der Entitytyp "Systembetreuer" hat die Attribute "Betreuer Nr", "Telefon" und "Büro Nr".
Der Entitytyp "Arbeitsplatzrechner" hat die Attribute "Festplatte", "RechnerNr", "Betriebssystem", "BüroNr" und "Netzwerkkarte".
Ein Attribut ist quasi eine ein Teil des Entitytyps. Wenn Du einen Entitytyp beschreiben möchtest, könntest Du einfach alle Attribute aufzählen und Dein Gegenüber wüsste, was gemeint ist.
Die Verbindung von Entitytypen werden im Normalfall Beziehung/Verknüpfung genannt. Die Beziehung zeigt auf, wie die beiden verbundenen Entitytypen im System miteinander verbunden sind. Damit eine Beziehung möglich ist, werden, nebst zwei Entitytypen, folgende drei Dinge benötigt:
1) Die Erklärung, was die Verbindung macht.
2) Die Kardinalität.
3) Schlüssel
1) Die Erklärung ist auf Deinem Bild die Raute, die mit "betreut" gekennzeichnet ist. Diese Erklärung auf zwei Arten gelesen werden:
- Ein Systembetreuer betreut Arbeitsplatzrechner.
- Ein Arbeitsplatzrechner wird durch Systembetreuer betreut.
Die Erklärung dient hauptsächlich dem besseren Verständnis des Diagramms und kann meiner Meinung nach auch weggelassen werden, wenn ein entsprechender Beschreibungstext das Diagramm erklärt. Diese Info erhältst Du aber jetzt unter uns und Dein Dozent wird das garantiert nicht so sehen (vor allem nicht in der Prüfung )!
2) Die Kardinalität (1:1, 1:n, m:n) zeigt an, wiviele Entitytypen auf beiden Seiten für eine Zusammenarbeit vorhanden sind. Manchmal wird die Kardinalität auch Gewichtung genannt. Gewöhne Dir aber besser Kardinalität an, dann weiss jeder wovon Du sprichst. Das bedeutet:
1:1 Genau EIN Systembetreuer betreut genau EINEN Arbeitsplatzrechner, nicht mehr und nicht weniger (Beispiel: 1-Mann-Firma).
1:n EIN Systembetreuer betreut BELIEBIG VIELE Arbeitsplatzrechner (Beispiel: Kleine Firma mit nur einem IT-Spezialisten, der sich um alles kümmert).
m:n Beliebig viele Systembetreuer betreuen beliebig viele Arbeitsplatzrechner (Normalfall in einer grossen Firma)
Was mir ehrlich gesagt neu ist sind diese violetten Kreise, die mit der Raute verbunden sind. Aber die sollen vermutlich aussagen, dass ein Betreuer beim betreuen eines Arbeitsplatzrechners die Aufgabe hat, die "RechnerNr", "Uhrzeit", "BetreuerNr", "Stunden" und "Datum" zu betreuen.
Was natürlich auch möglich wäre: In einer Datenbank hat hat man bei einer m:n-Beziehung eine Hilfstabelle, die eben genau den Kontakt zwischen zwei Entitytypen darstellt. Das würde bedeuten, wenn Du eine Datenbank mit den beiden Tabellen "Systembetreuer" und "Arbeitsplatzrechner" hast, würdest Du noch eine Tabelle "Betreuung" (oder sowas) benötigen, weil man sonst die m:N-Beziehung nicht ermöglichen kann. In dieser Tabelle würde man dann für jede Verknüpfung von Systembetreuern zu Arbeitsplatzrechnern je eine Zeile hinzufügen, die eben die Felder "RechnerNr", "Uhrzeit", "Datum", "Stunden" und "BetreuerNr" beinhalten würden. Das ist jetzt aber alles Spekulation, da ich wie gesagt Eure Notation nicht kenne.
3) Schlüssel sind der Anfang und das Ende einer Beziehung. Du musst Dir eine Beziehung wie eine Verbindungslinie von zwei Punkten vorstellen. Auf der Einen Seite der Verbindung hast Du einen Schlüssel (erster Punkt) und auf der anderen Seite einen anderen Schlüssel (zweiter Punkt). Je nach Kardinalität kann ein Schlüssel aus einem oder mehreren Attributen bestehen. Es wird zwischen Primärschlüssel und Fremdschlüssel unterschieden.
Der Primärschlüssel ist ein Attribut, dessen Inhalte innerhalb der selben Spalte einmalig sind. Ein gutes Beispiel ist automatische ID (Identifikationsnummer). Eine automatische ID kann beispielsweise bei 0 beginnen und wird mit jedem Eintrag um 1 Erhöht. Nehmen wir an, Du hast 10 Systembetreuer. Jeder dieser Systembetreuer erhält eine eigene ID, also beispielsweise {0,1,2,3,4,5,6,7,8,9}. Du kannst also jederzeit jeden Systembetreuer anhand seiner ID identifizieren. Ein häufiger Anfängerfehler ist, dass man den Primärschlüssel auf den Namen einer Person setzen möchte. Wenn Du aber nun 10 Systembetreuer hast und alle "Müller" heissen, weiss am Ende weder das System, noch Du selbst, welcher Müller nun wer ist. Das Resultat ist ein Datenchaos. Daher setzt man, wenns nötig ist, dass die Einträge untereinander unterscheidbar sein müssen, eigentlich immer eine einzigartige ID.
Ein Fremdschlüssel ist ein Attribut, das den Endpunkt einer Beziehung darstellt. Es dient dazu, dass das System/der Benutzer weiss, wie verschiedene Einträge von verschiedenen Entitytypen miteinander verbunden sind.
Wichtig: Je nach Kardinalität werden Primärschlüssel und/oder Fremdschlüssel eingesetzt. Erklärung anhand Deines Bildes:
1:1 würde bedeuten, dass Du quasi von der 1-Mann-1-Computer-Situation ausgehen würdest. Für jeden Eintrag unter "Systembetreuer" würde genau ein Eintrag unter "Arbeitsplatzrechner" existieren. Diese beiden Einträge hätten den selben Primärschlüssel.
1:n würde bedeuten, dass Du quasi von der 1-Mann-BeliebigvieleComputer-Situation ausgehen würdest. Jeder Eintrag unter "Systembetreuer" hätte eine eindeutige ID, den Primärschlüssel. Unter "Arbeitsplatzrechner" könnten jedoch beliebig viele Einträge stehen, die alle eine ID der Systembetreuer hätten. Beispiel: 2 Systembetreuer, die je 15 Arbeitsplätze betreuen würde 2 Einträge in der Tabelle Systembetreuer und 2x 15 Einträge in der Tabelle Arbeitsplatzrechner bedeuten. Diese 15 Einträge hätten alle die ID des Systembetreuers, als Fremdschlüssel.
m:n bedeutet, dass Du quasi von der BeliebigvieleMänner-BeliebigvieleComputer-Situation ausgehen würdest. Hier werden nun zwei Primärschlüssel miteinander verbunden, da alle Systembetreuer eine eindeutige ID und alle Arbeitsplatzrechner eine eindeutige ID brauchen. Um dies technisch umsetzen zu können, bräuchte man aber, wie bereits oben erwähnt, (im Normalfall) eine Hilfstabelle. Darauf gehe ich aber nicht weiter ein, da ich Dich nicht weiter verwirren möchte.
Zuletzt noch eine Anmerkung: Im Normalfall werden Primärschlüssel mit einer durchgezogenen Linie geschrieben. Fremdschlüssel werden mit einer gestrichelten Linie geschrieben.
Für Fragen bin ich offen