Montag, 20. November 2017

Home
Tipps
Bücher
Software
News / Links
Hilfe
Impressum

Sponsored by
QualityHosting

Frage und Antwort
Mehrfach vorkommende Daten bei n:m-Tabellenbeziehungen
Leserbrief vom 29.03.2004
Problem:

Ich erstelle gerade in Access 2000 eine Medien-Datenbank. Dabei handelt es sich um eine Datenbank, mit der ich alle meine CD's, sowie die darauf enthaltenen Lieder erfassen möchte.

Zu diesem Zweck habe ich 3 Tabellen angelegt. In der Tabelle "CD's" wird der Titel der jeweiligen CD gespeichert. In der Tabelle "Songs" werden alle Lieder erfasst. Die beiden Tabellen habe ich über eine m:n Beziehung miteinander verknüpft (Verknüpfungstabelle "Songdetails"), da ein Lied ja auf mehreren CD's vorkommen kann (Studio-Album, Live-CD etc.), umkehrt aber auch eine CD mehrere Lieder enthält. Orientiert habe ich mich bei der Erstellung der Beziehung an der Beispieldatenbank Nordwind, wo die Tabellen "Bestellungen" und "Artikel" über die Verknüpfungstabelle "Bestelldetails" verbunden sind (m:n Beziehung). Es hat auch alles einwandfrei funktioniert.

Es gibt da jedoch ein Problem, wenn ich ein und dasselbe Lied mehrmals auf einer CD habe (Live-Aufnahmen von verschiedenen Konzerten). Als ich das Lied zum zweiten Mal für die gleiche CD erfassen wollte, wurde mir folgende Fehlermeldung angezeigt: "Die von Ihnen vorgenommenen Änderungen an der Tabelle konnten nicht vorgenommen werden, da der Index, Primärschlüssel oder die Beziehung mehrfach vorkommende Elemente enthalten würde. Ändern Sie die Daten in den Feldern, die gleiche Daten enthalten, entfernen Sie den Index, oder definieren Sie den Index neu, damit doppelte Einträge möglich sind, und versuchen Sie es erneut". Dieselbe Fehlermeldung erscheint auch bei der Beispieldatenbank Nordwind, wenn man in dem Formular "Bestellungen" unter Artikel mehrmals den gleichen Artikel auswählt. Ich hoffe Sie können mir bei der Lösung dieses Problems behilflich sein.

Antwort der TriniDat GmbH:

Für dieses Problem gibt es zwei Lösungen:

  1. Sie fügen der Tabelle "Songdetails" einen neuen Primärschlüssel hinzu (z.B. "SongdetailNr"). Der aus den beiden Feldern "SongNr" und "CDNr" bestehende, zusammengesetzte Primärschlüsse wird dadurch ersetzt. Hierdurch wird auch die Regel außer Kraft gesetzt, dass ein Song auf einer CD nur ein einmal vorhanden sein darf.

  2. Sie fügen der Tabelle "Songdetails" noch das Feld "TrackNummer" hinzu. Dieses Feld fügen Sie dem zusammengesetzten Primärschlüssel hinzu. Wenn Sie nun z.B. einen Song zweimal auf einer CD haben, unterscheiden sich die beiden Datensätze trotzdem noch, da z.B. die erste Version das. 5. Lied und die zweite Version das 8. Lied ist. Der Nachteil dieser Lösung: Sie müssen auch die bereits vorhandenen Daten überarbeiten und hier eine TrackNummer eingeben.

Nummer 1) wäre die schnelle und Nummer 2) die bessere Lösung, da Sie damit auch die Position eines Liedes auf der CD festhalten können).


Ein Service der TriniDat Software-Entwicklung GmbH - Am Wehrhahn 45 - 40211 Düsseldorf

  Suche
Suche starten
  Service
Leserbrief / Frage zu Access
Kontakt
  NewsLetter
NewLetter bestellen
NewsLetter abbestellen
  Partner-Seiten
HyperLink

www.trinidat.de


HyperLink

www.fulldotnet.de