Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

So wie es in dem Bild dargestellt ist, ist die Beziehung richtig. Es kann mehrere Teile in der Teil Tabelle geben, die zu einer Gruppe in der TeilGruppe Tabelle gehören. Ein Primärschlüssel kann nie ein n sein, da er eindeutig sein muss. 

Bearbeitet von Datawrapper

  • Autor
vor 7 Minuten schrieb Datawrapper:

So wie es in dem Bild dargestellt ist, ist die Beziehung richtig. Es kann mehrere Teile in der Teil Tabelle geben, die zu einer Gruppe in der TeilGruppe Tabelle gehören. Ein Primärschlüssel kann nie ein n sein, da er eindeutig sein muss. 

ok dann habe ich das falsch verstanden, danke. Was meinst du mit dass ein PK  nie ein n sein kann?

Bearbeitet von rasenganIT

PK = Primary Key
FK = Foreign Key
Definitionen bitte mal selber nachschlagen.

PK = ein-eindeutig, damit kann der PK niemals der N Teil einer 1:N Beziehung sein.

Beispiel:
Tab: Teil / PK = Gruppe_ID (mus ein-eindeutig sein, also darf jeweils nur 1mal vorkommen)

Da aber in jeder Gruppe mehrere Teile enthalten sein können, also in der Tabelle Teil mehrere Teile der gleichen Gruppe zugeordnet sein können kann die TeilGruppe.Gruppe_ID mehrmals in der Teil.Gruppe_ID vorkommen. Damit ist Teil.Gruppe_ID nicht mehr eindeutig. und kann darum kein PK werden.

 

 

 

 

 

Und um es schlimmer zu machen, nur für die Experten. Eine Beziehung TeilGruppe zu Teil wird nie als 1:n sondern immer als N:M dargestellt.

Wer beantworten kann warum bekommt nen virtuellen Keks. :)

 

vor 36 Minuten schrieb Enno:

Wer beantworten kann warum bekommt nen virtuellen Keks. :)

Das wird gemacht, weil du dir mit dem oberen Datenmodell eine im Nachhinein nicht mehr änderbare Beschränkung einbaust. Und zwar kann mit dem obigen Modell ein Teil immer nur zu genau einer TeilGruppe gehören. Sollte es mal erforderlich sein, ein Teil zu mehreren TeilGruppen hinzuzufügen ist das mit dem Modell nicht möglich.

Bei einer n:m Beziehung kannst du die einzelnen Teile zu mehreren TeilGruppen hinzufügen ohne Redundanzen zu erschaffen.

vor 8 Minuten schrieb Enno:

P.S. änderbar wäre die Beschränkung schon, nur mit viel Aufwand. :)

Du hast recht. Theoretisch ist es änderbar. Ein Datenbankmodell im Laufenden Betrieb zu ändern ist aber alles andere als einfach. Die ganzen Abhängigkeiten die entstehen müssen alle angepasst werden. Das können je nach Datenbank schonmal ein paar mehr werden :D
 

Als kurze Ergänzung: Denk immer daran, dass Kardinalitäten in Datenbank-Modellen immer aus zwei (!) Sätzen bestehen, die beide immer mit "1" beginnen. Wenn du diese Sätze formulierst, kannst du ausgehend von der Start-Tabelle das jeweilige Ergebnis an die andere Tabelle schreiben. So notierst du die Kardinalitäten im Diagramm.

Obiges Beispiel:

1) Ein Teil gehört zu einer TeilGruppe.

2) Eine TeilGruppe kann mehrere Teile beinhalten.

Aus dem ersten Satz schlussfolgerst du die "1" an der Tabelle TeilGruppe. Aus dem zweiten das "n" an der Tabelle Teil.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.