Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
15.09.2009, 00:32
gc_Alpha



Ich arbeite ehrenamtlich für eine Jugendaustauschorganisation und organisiere mit ein paar Mitstreitern mehrmals jährlich die An- und Abreise von mehreren Hundert Austauschschülern. Bisher haben wir dafür Excel benutzt aber wollen jetzt auf Access oder ein anderes DBMS wechseln. Wir erhoffen uns davon deutliche Zeitersparnisse und weniger Probleme mit doppelten Daten.

Was passiert:
1. Teilnehmer kommt am Flughafen, Bahnhof oder Busbahnhof an
2. Wird abgeholt und zum Sammelpunkt gebracht
3a) Fährt mit Zug, begleitet, zur Gastfamilie
3b1) Fährt mit einem Bus zur Jugendherberge und übernachtet dort
2) Fährt mit am nächsten morgen mit Bus zum Bahnhof
3) Fährt mit Zug begleitet zur Gastfamilie
3c) Wird von seiner Gastfamilie direkt abgeholt

Zahlen und Fakten:
Teilnehmer: 300-700 (davon 50% am 1. und 50% am 2. Tag)
Ehrenamtliche Mitarbeiter: 30-80
Teilnehmer die in der Jugendherberge übernachten: 60-150 (ca 50% der Teilnehmer die pro Tag ankommen)
Busfahrten: 20-40
Zugtouren: 30-60 (mit ca 80 Stationen)

Daten die wir bekommen oder uns selber holen bzw "input":
1. Teilnehmerliste:
Name, Land, Geschlecht, Flugdaten (Flugnummer und Ankunftszeit), Gastfamilienname, Gastfamilienadresse, gastfamilien Tel
2. Mitarbeiterliste:
Name, Sprachen die er beherrscht, Geschlecht, Erfahrungsstufe, Alter
3. Zuglisten:
Abfahrtszeit, zwischenstation (Bahnhöfe), Ankunftszeit zu den zwischenstationen, ankunftszeit endstation
4. Jugendherbgszimmerliste
Zimmernummer, Mädchen/Jungenzimmer, Bettenzahl

Was wir daraus machen müssen bzw "output":
1. Dienstpläne für alle Mitarbeiter
Wann macht Mitarbeiter xy was (z.B. 16:30 Mexikaner, Flug IB3250 aus Madrid abholen , 18:00 mit Bus 23 zur Jugendherberge fahren, an Bord Mexikaner und Chinesen)
2. Fluglisten
Liste aller Schüler auf einem Flug (zum abhaken wer angekommen ist)
3. Buslisten
Liste aller Schüler auf einem Bus (der entweder vom Flughafen zur Jugendherberge fährt oder von der Jugendherberge zum Bahnhof)
4. Zimmerliste
Welcher Schüler ist in welchem Zimmer
5. Zugtourlisten (mit Untertouren, bsp: Frankfurt nach Hamburg. In Hannover (vor Hamburg) steigen 5 Teilnehmer mit einem Mitarbeiter aus und fahren weiter nach Hildesheim)
Welcher Schüler fährt auf der Zugtour mit und wohin.
6. Namensschilder für die Teilnehmer mit ihrer Zugtour, Name etc
7. Infozettel für die Schüler mit ihrem Namen darauf, Zimmernummer, Abfahrtszeit ihres Busses am Morgen und einigen Erklärungen in ihrer Landessprache (d.h. aufgrund des Landes müssen entsprechende Textbausteine eingefügt werden).

Jetzt zu meiner Frage:
Wie setze ich das am besten in Access um?

An dieser Stelle hänge ich absolut und komme gedanklich einfach nicht weiter.

Wie verknüpfe ich die Tabellen bzw teile die Informationen sinnvoll auf Tabellen auf?

Ich hoffe hier kann mich jemand auf den richtigen Weg bringen :-)

--

zum Seitenanfang zum Seitenende Profil || Suche
001
15.09.2009, 02:02
Bluthund



Kleiner Anstoß (kein Anspruch auf Korrektheit oder Vollständigkeit; des weiteren bin ich davon ausgegangen, dass ihr die Busfahrten selbst organisiert und keine öffentlichen Linien benutzt, da dazu keine Aussage in deinem Text zu finden war):

Legende:
vorangestelltes § bezeichnet den Primärschlüssel einer Tabelle (bei mehreren so markierten Attributen in einer Tabelle handelt es sich um einen zusammengesetzten Primärschlüssel)
vorangestelltes $ bezeichnet eine Fremdschlüsselbeziehung zu einer anderen Tabelle
Id bezeichnet eine Identifikationsnummer (automatisch generiert, eindeutig für die jeweilige Tabelle)

Tabellen für eure Eingangsdaten:
Quellcode:Teilnehmer (§Id, Name, $Land, Geschlecht, $Flug, $Gastfamilie)
Land (§Iso-Ländercode, Name)
Flug (§Flugnummer, Ankunftszeit)
Gastfamilie (§Id, Name, Adresse, Telefonnummer)

Mitarbeiter (§Id, Name, Geschlecht, $Erfahrungstufe, Alter)
Erfahrungsstufe (§Id, Stufenname)
Mitarbeiter_Sprache (§$Mitarbeiter, §$Sprache)
Sprache (§Id, Sprachname)
Land_Sprache (§$Land, §$Sprache)

Zug (§Id, Abfahrtszeit)
Station (§Id, Name)
Zug_Station (§$Zug, §$Station, Stationsnummer, Ankunftszeit)

Herbergszimmer (§Zimmernummer, Zimmerart, Bettenzahl)
Falls ihr mehrere Herbergen zu bestücken habt, kommt noch ne Herbergstabelle dazu, die Zimmertabelle bekommt ne Fremdschlüsselbeziehung auf die Herbergstabelle und der Primärschlüssel der Zimmertabelle wird aus Zimmernummer und Herbergsnummer zusammengesetzt.
Evtl. wäre es noch sinnvoll die "Abfertigung" (3a, 3b oder 3c) für jeden Teilnehmer zu speichern falls diese vorab bekannt ist. Dafür einfach noch ne Tabelle für die Prozeduren und diese dann per Fremdschlüssel in der Teilnehmertabelle verlinken.

Für den Output (MS Access oder vergleichbares Desktop DBMS angenommen):
Quellcode:Dienstpläne: Tabellen + Eingabeformular (mit ein bisschen Logik, damit euch bei der Auswahl der Mitarbeiter niemand angezeigt wird, der schon anderweitig verplant ist oder die benötigten Voraussetzungen nicht bringt)
Tabellen:
Dienstplan (§Uhrzeit, §$Mitarbeiter, $Aufgabe, geplante Dauer)
Aufgabe (§Id, Aufgabenname, Beschreibung/Kommentar)

Fluglisten: einfacher Bericht

Busliste: Tabellen + Eingabeformular (Erstellen neuer Busfahrten, besetzen von Bussen mit Teilnehmern) + Bericht (einfach für jeden Bus die Teilnehmer aus der Koppeltabelle ziehen)
Tabellen:
Bus (§Id, Sitzplätze)
Busfahrt (§Uhrzeit, §$Bus, $Ziel, Fahrtzeit)
Ziel (§Id, Zielname)
Busfahrt_Teilnehmer (§$Busfahrt, §$Teilnehmer)

Zimmerliste: Tabelle + Eingabeformular (fürs Zuteilen der Zimmer) + Bericht
Tabellen:
Teilnehmer_Herbergszimmer ($Teilnehmer, $Herbergszimmer)
So und hier beende ich das ganze mal (6 und 7 solltest du auch ohne Hilfe hinbekommen und 5 ist mir für die Uhrzeit zu viel ^^). Sollte dich der Weg dahin interessieren, helfen dir das Entity-Relationship-Modell und Datenbanknormalisierung.
Falls du dir erhofft hattest z.B. die Dienstpläne automatisch generieren lassen zu können, so wirst du damit zu kämpfen haben, dass du da nen hübsches Optimierungsproblem hast, falls du nen möglichst effizienten und für alle beteiligten angenehmen Dienstplan haben möchtest ;)

edit: Mir fällt grad noch auf, dass es unter Umständen noch günstig wäre zwischen den Entitäten Station und Ziel eine is-a-Beziehung herzustellen, um dem System für die Planung der Fahrten noch etwas mehr Information mit auf den Weg zu geben.

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-


Dieser Beitrag wurde am 15.09.2009 um 02:09 von Bluthund bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
15.09.2009, 09:16
Adrian_Broher
Admin


Zitat:
gc_Alpha postete
Daten die wir bekommen oder uns selber holen bzw "input":
1. Teilnehmerliste:
Name, Land, Geschlecht, Flugdaten (Flugnummer und Ankunftszeit), Gastfamilienname, Gastfamilienadresse, gastfamilien Tel
2. Mitarbeiterliste:
Name, Sprachen die er beherrscht, Geschlecht, Erfahrungsstufe, Alter
3. Zuglisten:
Abfahrtszeit, zwischenstation (Bahnhöfe), Ankunftszeit zu den zwischenstationen, ankunftszeit endstation
4. Jugendherbgszimmerliste
Zimmernummer, Mädchen/Jungenzimmer, Bettenzahl
Existieren noch weitere Eingabewerte?

1. gesprochene Sprachen, Ansprechpartner fuer Notfaelle
2. Adresse/Kontaktdaten, Ansprechpartner fuer Notfaelle
3. Zugnummer
4. Anschrift, Kontaktperson

waeren noch Punkte, welche hinzugenommen werden koennten.

Gibt es noch weitere Anforderungen?
- Werden Aufgaben zentral verteilt und die Software nur durch eine Verwaltungsperson genutzt?
- Sollten die unter 2. erwaehnten Mitarbeiter auch direkt mit der Software arbeiten?
- ???

--

There is nothing wrong with high standards. It's your problem that you don't meet them.
If you think it's simple, then you have misunderstood the problem.
When a customer says "nothing has changed", assume they're lying.

zum Seitenanfang zum Seitenende Profil || Suche
003
15.09.2009, 09:25
gc_Alpha



@Bluthund, erstmal vielen dank!

@Adrian_Broher,
Ja, genau, die von dir genannten Punkte existieren und gehören eigentlich noch dazu.

Die Aufgaben werden Zentral verteilt und die Software wird nur von den Verwaltungspersonen genutzt. Die ausführenden ehrenamtlichen Mitarbeiter bekommen dann jeweils einen Dienstplan für sich, eine Handyliste mit allen Mitarbeiternummern, Bus, Zug und Fluglisten auf der alle diese angegeben sind und jeweils für ihre aufgabe dann noch Teilnehmerlisten und sonstige Informationen (z.B. für eine Flugankunft: Flugteilnehmerliste, Namensschilder zum austeilen).

Das verwaltungspersonal bzw die organisatoren sollen auch wenn möglich während der Ankunft also während der gesamten 2 -3 Tage online mit der Datenbank arbeiten (es gibt mehrere Laptops mit UMTS).

--

zum Seitenanfang zum Seitenende Profil || Suche
004
15.09.2009, 09:32
Adrian_Broher
Admin


Zitat:
gc_Alpha postete
Das verwaltungspersonal bzw die organisatoren sollen auch wenn möglich während der Ankunft also während der gesamten 2 -3 Tage online mit der Datenbank arbeiten (es gibt mehrere Laptops mit UMTS).
In diesem rate ich von der Nutzung von Access als Datenbank ab(!) wenn du dich unbedingt daran binden moechtest nutze nur das Frontend und nicht(!) die Datenbankkomponente. Grund ist einfach die beschraenkte Funktion bezueglich des mehrfachen Schreibzugriffes auf die Datenbank. Auf Dauer schreddert man sich mit Garantie die Daten.

--

There is nothing wrong with high standards. It's your problem that you don't meet them.
If you think it's simple, then you have misunderstood the problem.
When a customer says "nothing has changed", assume they're lying.


Dieser Beitrag wurde am 15.09.2009 um 09:33 von Adrian_Broher bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
005
15.09.2009, 09:43
gc_Alpha



Das heisst extern eine mysql Datenbank zu benutzen über das Frontend von Access?

--

zum Seitenanfang zum Seitenende Profil || Suche
006
15.09.2009, 09:46
Adrian_Broher
Admin


Das waere eine Moeglichkeit.

MySQL -> ODBC -> Access

um genau zu sein.

Aber um sinnvolle Vorschlaege machen zu koennen braeuchte man noch ein paar Informationen.

--

There is nothing wrong with high standards. It's your problem that you don't meet them.
If you think it's simple, then you have misunderstood the problem.
When a customer says "nothing has changed", assume they're lying.


Dieser Beitrag wurde am 15.09.2009 um 09:47 von Adrian_Broher bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
007
15.09.2009, 13:28
gc_Alpha



Wie meinst du das mit ein paar mehr Informationen?

Es gibt 3 Verantwortliche die auf die Datenbank zugreifen müssen.
Alle anderen bekommen die für sie zutreffenden Listen ausgedruckt auf Papier.

Änderungen gibt es sehr viele, auch noch kurzfristig, weshalb Änderungen an so wenigen Stellen wie möglich gemacht werden sollen. Am besten einfach nur einmal in einer Eingabe Maske.

Wünschenswert wäre auch ein Protokoll welches Änderungen festhält.

--

zum Seitenanfang zum Seitenende Profil || Suche