Es ist eine Datenbank über Schauspieler und Filme. Ich möchte es auch mit ihrem Alter füllen, damit ich die Fragen beantworten kann:
- in welchem Alter machten sie ihre zuletzt Film.
- was ist der durchschnittlich Alter, als sie ihre Filme gemacht haben?
usw. Dies sind meine vorgeschlagenen Tabellen: Akteurtabelle mit den Feldern:
- Name
- Alter
- Name der Filme gemacht
- Jahr der Filme gemacht
eine Filmtabelle mit den Feldern:
- Name der Filme gemacht
- Jahr der Filme gemacht
- Namen der Schauspieler in diesem Film
Was wäre das Beste, um es als Schlüssel zu verwenden?
C. Dann brauche ich wahrscheinlich eine Verknüpfungstabelle mit den Feldern:
- Schauspieler
- Filme
Für alle 3 Tische: Was wäre das beste Feld, um es als Schlüssel zu verwenden?
Meine folgende Frage ist: Welche anderen Tische würde ich brauchen?
Und Access 2003 ist das einzige, für das der Client eine Lizenz besitzt. Liebesarbeit, ehrenamtliche Arbeit.
database
microsoft-access
database-administration
GwenKillerby
quelle
quelle
Antworten:
Für mich wären das drei verschiedene Tische.
In der Verknüpfungstabelle werden einfach actorTableKeys und die zugehörigen filmTableKeys aufgelistet.
Dann kannst du a
groupby actorTableKey
in demLinking Table
um eine Liste der filmIDs zu erhalten, die jedem Schauspieler entsprechen, und umgekehrtgroupby filmTableKey
Schauspieler durch Film zu bekommen.Mein Zugriff ist ein wenig verrostet, daher weiß ich nicht genau, welche Abfrage es ist. Für mich ist dies jedoch die sauberste Methode, ohne dass die Darstellertabelle jedes Mal aktualisiert werden muss, wenn Sie einen Film hinzufügen oder umgekehrt.
Dies ist eine Viele-zu-Viele-Beziehung, die das verwendet, was access a nennt Kreuzungstisch .
quelle