Autor Beitrag
ti laak
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 06.02.14 11:33 
Mit Delphi XE3, TMS, ABS-Database versuche ich schon den x-ten Anlauf. Z.B:
Eisenbahn-Datenbank: eine Tabelle mit verschiedenen Loks (E,Damp,Diesel,etc), eine Tabelle mit den Wagen (Güter, Personen, etc). Die jeweils editierbar und erweiterbar sind. Das ist kein Problem. Nun sollen einer Lok unter Auswahl der Wagen-Tabelle, Wagen zugeteilt werden. Unter Berücksichtigung der gestellten Anzahl von Wagen(Lok). Da habe ich dann das Problem, das ich der Lok-Liste pro Lok (weil nur ein Feld) nur einen Wagen zuteilen kann. Umgekehrt nur eine Lok in die Wagen_liste eintragen kann. Statt nur einem Feld in der Lok-Liste, sollte eine weitere Tabelle für Wagen enthalten sein? Und in der Wagenliste deren zugeteilte Lok gespeichert werden.
Ich möchte keinen fertigen Quellcode, einen Tipp wie ich das angehen kann wäre nicht schlecht. Danke.
Lemmy
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 792
Erhaltene Danke: 49

Windows 7 / 10; CentOS 7; LinuxMint
Delphi 7-XE10.1, VS 2015
BeitragVerfasst: Do 06.02.14 11:42 
Hallo,

was du beschreibst ist eine n:m Beziehung:

Jede Lok kann mehrere Waggons ziehen und ein Waggon(typ) kann an mehrere Loks gehängt werden.

eine n:m Beziehung wird durch eine weitere Tabelle aufgelöst:

LokWagen (
LokID <Typ>,
WagenID <Typ>);

und du hast dann die Möglichkeit in der Tabelle noch weitere Daten abzulegen wie z.B. an welcher Position der Wagen steht, welche Bezeichnung, Ladung,.... er hat

Grüße
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Do 06.02.14 11:48 
Moin und willkommen in der Ecke. :welcome:

Ich denke, Dir fehlt eine weitere Tabelle. Durch die Zuordnung von Loks zu Wagen erstellst Du ja einen Zug.
Also eine Tabelle für die Stammdaten der Loks (hast Du schon):

Tabelle "LOKS"
ausblenden Quelltext
1:
2:
3:
4:
5:
ID  BEZEICHNUNG
---------------
1   Dampflok
2   E-Lok
3   Diesellok


Tabelle "WAGEN"
Eine Tabelle für die Wagen:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
ID  BEZEICHNUNG
---------------
1   Personenwagen A
2   Personenwagen B
3   Personenwagen C
4   Güterwagen

Nun den Zug. Zuerst mal die Grunddaten

Tabelle "ZUEGE"
ausblenden Quelltext
1:
2:
3:
ID  BEZEICHNUNG LOK_ID
----------------------
1   IC0815      2


Und die Zuordnung der Wagen zum Zug:
Tabelle "ZUEGE_WAGEN"
ausblenden Quelltext
1:
2:
3:
4:
5:
ZUEGE_ID WAGEN_ID
-----------------
1        1
1        2
1        3


Nun besteht Dein Zug aus der Lok 2 (E-Lok) mit den Wagen 1-3 (Personenwagen A - C).
Bei diesem Modell musst Du beachten, dass Du dem Zug nur eine Lok zuordnen kannst. Wenn man in einem Zug mehr als eine Lok haben möchte, müssten man für die Zuordnung der Loks zu den Zügen auch eine Detailtabelle machen, nach dem selben Muster wie die Wagentabelle.

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
ti laak Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 06.02.14 17:31 
Vielen Dank für die schnelle Antwort.
Es geht nur mit weiteren Listen, habe das fast vermutet, aber jetzt bestätigt bekommen.
Wäre ärgerlich gewesen ginge es einfacher. Was es aber auch nicht gerade einfacher macht.
Das gegeseitige Verriegeln, nach dem löschen wieder zur Verfügung zu stellen, etc.
Ich denke da kommt noch was mich zu. Egal. Ich habe Zeit. Sozusagen Rentenanwärter in Thailand.

Darf mich doch bestimmt nochmal melden, wenn es nicht weiter geht.

Also besten Dank
ti laak