Hallo zusammen,
ich habe mich erstmals mit Access zu beschäftigen und bereits einige Zeit mit der Lektüre verbracht.
Ich habe mir folgende Aufgabe gestellt:
Mein Verein (Segelflugverein) veranstaltet regelmäßig Wettbewerbe mit ca 90-120 Teilnehmern in 3 Flugzeugklassen. Über die vergangenen Jahre hat sich herausgestellt, dass immer wieder gleiche Piloten mit unterschiedlichen Flugzeugen an den Wettbewerben (in der Datenbank "BTW" genannt) teilnehmen. Und jedes Mal haben wir die kompletten Daten in Excel-Dateien erfasst. Diesen manuellen Aufwand möchte ich für die Zukunft reduzieren. Nach dem, was ich bisher verstanden habe, habe ich die Datenbank so aufgebaut, dass ich auf redundante Datenfelder verzichten kann. Später möchte ich darstellen können: Ein Pilot nimmt an mehreren BTW teil; Mehrere Flugzeuge an mehreren Wettbewerben; Mehrere Klassen an mehreren BTW, etc.
Die Beziehungen habe ich mal als Sreenshot mit angehängt.
Später sollen noch dazukommen: "Bestellungen", also der Teilnehmer soll eine Rechnung für Meldegebühr, Start- und Landegebühren erhalten, daher evtl. noch eine Tabelle für Zahlungsangaben nötig.
Wie die Erfassung der Piloten, Flugzeuge und deren korrekte Zuordnung zum Wettbewerb im Form von Formularen erfolgen soll, habe ich mir bisher nicht überlegt. Ersteinmal soll ja die Datenbank stehen.
Bin ich richtig unterwegs? Mache ich Kardinalfehler?
Ich bin für jeden Tip dankbar.
Beste Grüße
Jan
Hallo,
leider hat noch keiner auf meine Fragen geantwortet. Bin ich mit meiner Frage falsch in diesem Forum? Oder ist es eine falsche DB-Version?
Bitte um eine kurze Info.
Danke für Eure Hilfe
Jan
Hallo,
naja, vielleicht gibt es auch mal Zeiten, wo wenig Zeit für das Forum spendiert werden kann...
Im Grund machst Du das schon richtig (Daten/Tabellen-Normalisierung) , wobei ich etwas Konsequenz bei der Benamsung der (Schlüssel-) Felder vermisse.
Hauptsächlich ist mir die Bedeutung der tblPersonendetails nicht klar...
Hallo,
Danke für die Antwort. Es ist mir schon klar, dass hier nicht ständig geantwortet werden kann. Dies sollte keine Kritik sein - ich habe mich nur gefragt, ob ich hier mit meinem Anliegen richtig bin.
Zu Deinen Fragen:
Bei der Namensgebung habe ich mich von Lorenz Hölscher beeinflussen lassen. Du meinst doch sicher die Unterscheidung zwischen ..ID und ..Nr, oder?
Die Tabelle "Personendetails" beeinhaltet im Wesentlichen all jene Angaben, die der Pilot bei der Anmeldung vor Ort (also zu Wettbewerbsbeginn) nachweisen muss. Hier werden auch alle 2 Jahre unterschiedliche Daten zu erfassen sein; z.B. Lizenzdaten, da die Lizenzen Gültigkeitsdaten haben. Die Tabelle ist vergleichbar mit den Flugzeugdetails, die sich auch bei jedem Wettbewerb ändern.
Hallo,
dann sollte die Tabelle eher "tblWettbewerbsAnmeldungen" heißen...
Inkonsequenz bei Benamsungen:
tblRollen: Prefix "fkt" und Beziehung von "fktNr" (obwohl ein ID-Feld) zu "pdRolle"
Es ist auf Anhieb keine (sinngemäße) Zuordnung zwischen den Feldnamen zu erkennen.
O.K., verstanden.
Wenn ich die Tabelle aber umbenenne, dann stimmen die Feldnamen der Tabelle aber auch nicht mehr....
Hallo,
naja, das wäre ja auch "konsequent".... Ist ja nur ein Vorschlag, der Dir (und anderen) die Arbeit wesentlich erleichtert. An der Funktion der Db ändert das nichts..
Hallo,
Danke für die Hinweise. Ich werde sie "konsequent" umsetzen und daher auch die Benamung ändern.
Eine Frage: Jeder Pilot bringt einen Helfer mit, von dem ich nur Name,Vorname und Mobilfunknummer kenne. Wie baue ich diese Informationen sinnvoll ein?
Meine Idee: Person mit Name,Vorname anlegen; Wettbewerbsanmeldung mit Rolle "Helfer" ABER: Wie bekomme ich die Verbindung zum Piloten hin? Habe ich hier einen Knoten in meinen Gedanken? ;)
Danke für einen Tipp.
Hallo,
mhmm, ist denn die "Wettbewerbsanmeldung" nicht auch gleichzusetzen mit "WettbewerbPiloten"... ?
Dann könnten in diese Tabelle, wenn es immer nur einen Helfer gibt, der sich zudem jedesmal (bei jedem Wettbewerb) auch ändern kann, die "Helferdaten" erfasst werden...
Hallo,
das ist richtig. Ich könnte die Helferdaten unter den Anmeldungen speichern. Ich hatte jedoch das Konstrukt im Kopf, dass die Helfer Personen sind und daher auch unter Personen gespeichert werden sollten. Auch könnte ein Helfer in 2014 ja Pilot in 2016 sein, oder ähnliche Konstruktionen. Auch wird es Helfer geben, die aus dem Verein oder von extern kommen, aber keinem Piloten zuzuordnen sind. Z.B. bei großen internationalen Wettbewerben, wie Europa- oder Weltmeisterschaften (die wir auch schon ausgerichtet haben). Irgendwie löst sich mein Knoten im Kopf noch nicht.....
Hallo,
der Gedankengang ist schon richtig... Ich hatte ja Einschränkungen angenommen, wenn aber die Helfer als solcher erfass- und pflegbar sein sollen, dann gehören die in die Personentabelle wie alle anderen auch. In der Wettbewerbsanmeldung kommt dann ein weiteres Fremdschlüsselfeld zu stehen, das die PersID eines Helfers (definiert über die Rolle) aufnimmt. Wenn es weiterhin mehrere Helfer zu einem Piloten und einem Wettbewerb geben kann, dann ist eine weitere Tabelle "tblPilotenHelfer" (tblWettbewerbsanmeldungenHelfer) erforderlich.
Ich rate, zunächst die Tabellen entspr. ihrer genauen Bedeutung umzubenennen, um mehr Klarheit in die Sache zu bekommen.
...dann mach ich mich mal an die Arbeit. :)
Zitat von: DF6GL am Mai 18, 2014, 13:51:26
In der Wettbewerbsanmeldung kommt dann ein weiteres Fremdschlüsselfeld zu stehen, das die PersID eines Helfers (definiert über die Rolle) aufnimmt. Wenn es weiterhin mehrere Helfer zu einem Piloten und einem Wettbewerb geben kann, dann ist eine weitere Tabelle "tblPilotenHelfer" (tblWettbewerbsanmeldungenHelfer) erforderlich.
Hallo,
da stehe ich auf dem Schlauch. Wie gestalte ich die PerID (definiert über die Rolle)? Fremdschlüssel o.k.; Aber wie sieht die "definierte" ID aus. Bitte gib mir ein Beispiel.
Danke für Deine konstruktiven Hilfestellungen.
Hallo,
poste zuerst dein (neues) Tabellenkonzept und die Beziehungen (Screenshot vom Beziehungsfenster)...
Hallo,
anbei die neuen Beziehungen der Wettbewerbsanmeldungen.
Hallo,
tblKontaktdaten ist überflüssig, deren Felder können tblPersonen aufgenommen werden (oder gibt es mehrere PrivatTelNr oder Büro-Emails pro Person?).
Welche Bedeutung hat "tblPersonenWettbewerbe"?
Welche Personen werden mit der Abfrage (vor)gefiltert?
Hallo Franz,
zu Deinen Fragen:
- die tbl_Kontaktdaten habe ich aufgelöst und in tblPersonen integriert
- die tblPersonenWettbewerbe soll die n:m-Beziehung auflösen
- die qry filtert die Personen mit Status "Teilnehmer" aus der tblPersonen, damit ich sie direkt einem Helfer zuordnen kann.
Anbei überarbeitete Beziehungen.
Danke für Deine Unterstützung.
Hallo,
ok, allerdings hab ich immer noch Verständnisprobleme mit tblPersonenWettbewerbe und tblWettbewerbAnmeldungen... Ist das nicht beidesmal das Selbe?
Was ist denn eine "Anmeldung"? M. E. ist das Person (Teilnehmer) , die am Wettbewerb teilnimmt, Wobei "Anmeldung" eher den Vorgang (und nicht den Zustand) bezeichnet, die eine Person beim Wettbewerb inne hat.
Hallo Franz,
Danke für die Antwort. Ich bin derzeit leider beruflich viel unterwegs und kann mich erst am Montag wieder um die DB kümmern.
Ich melde mich.
Servus.