Zum Inhalt springen

Datenbank Beziehungen


Empfohlene Beiträge

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
Link zu diesem Kommentar
Auf anderen Seiten teilen

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. :)

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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
 

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...