Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
SQL (Microsoft Access)
Eine Frage zu SQL-Datenbanken:
ich habe eine Tabelle, die heißt Teams. da sollen in jeder Zeile für das Jeweilige Team, die Personalnummern der Mitglieder per Fremdschlüssel verlinkt werden. Jetzt die Frage. Wie stelle ich das am besten an? (nutze Microsoft Access)
es gibt ja diese “schönen” Mehrwertfelder von Microsoft, die aber anscheinend nicht so toll sind zu benutzen und auf die keine SQL anfragen gemacht werden können.
wie bringe ich x Fremdschlüssel in eine Tabelle. die Anzahl kann natürlich variieren.
Danke schonmal
Kannst du nicht einfach in der Mitglieder-Tabelle einen Fremdschlüssel auf eine Team-ID erstellen und die Teamzugehörigkeit somit in der Mitglieder-Tabelle speichern? Mehrwertige Attribute würden die 1. Normalform verletzen.
Wenn du die Struktur der Mitglieder-Tabelle nicht ändern willst / darfst, kannst du alternativ eine ganz neue Tabelle “Teamzugehoerigkeit” erzeugen mit Fremdschlüssel auf Mitglieder und Teams und darin die Zuordnung speichern. Dann musst du aber selber sicherstellen, dass ein Mitglied nicht zu mehreren Teams gehören kann, falls das nicht erwünscht sein sollte.
Klassischerweise anders herum: Du speicherst nicht bei den Teams eine Liste der Mitglieder, sondern für jedes Mitglied eine Referenz aufs zugehörige Team. Falls eine Person Mitglied in mehreren Teams sein kann, brauchst du eine Verknüpfungstabelle mit Fremdschlüsseln von Teams und Personen.
Zur Abfrage brauchst du dann einen [m]JOIN[/m].
(Ich hab zwar keine Ahnung von Access, aber das beschriebene ist ein absolutes Standard-Vorgehen in relationalen Datenbanken.)
ja, ist eine m:n Beziehung.
muss es wohl mit der Hilfstabelle machen.
Danke