# Merken, ob Tabellen zusammen gehoren?



## EOB (19. Dez 2006)

hallo, ich habe hier folgenden ausschnitt eines er-modell: link

ich lese werte aus einer xls datei und schreibe diese in die datenbank. fuer meine fragen sind die tabellen motor, drev, motordrev, fabrikat und modellvariant interessant. ich hatte mir jetzt folgendes ueberlegt.

ich lege einen motor an, gebe ihm eine id, zum beispiel mit _System.currentTimeMillis()_. dann schreibe ich die werte, wie sie aus der xls datei kommen. dann kreiere ich fuer fabrikat und modellvariant jeweils eine neue id, packe diese als fremdschluessel in motor und fuelle passend dazu die tabellen fabrikat und modellvariant. das waere doch ok, oder?

jetzt weiss ich aber nicht, wie ich mit drev und motordrev vorgehen soll. das heisst uebrigens soviel wie antriebsschraube fuer boote. ein motor kann mehere davon habe, also nicht nur eine, sondern X unterschieldiche. aber in dem modell gibts ja keine verbindung zu motor und seinen drevs, oder seh ich das falsch? ich dachte, ich schreibe pro drev eine zeile in die tabelle drev nd fuehre eine liste dieser ids in motor mit. also string mit ; getrennt, oder so. ginge das noch anders?

wozu hats die tabelle motordrev? die macht doch keinen sinn, oder?

vielen dank fuer eure hilfe!!!      :toll:


----------



## DP (19. Dez 2006)

mit der id kannste auch nen autoimcrement-wert nehmen.

bei motor zu motordrev machte ne 1:n beziehung und fettich


----------



## EOB (19. Dez 2006)

hi, das war ne 1:n beziehung...umbrello hatte es nicht richtig gezeichnet. was soll das aber helfen?

danke


----------



## DP (19. Dez 2006)

irgendwie verstehe ich dein problem nicht so ganz...

der nächte bitte


----------



## Yzebär (19. Dez 2006)

Mørketid hat gesagt.:
			
		

> wozu hats die tabelle motordrev? die macht doch keinen sinn, oder?



motordrev ist über motorid mit dem Motor verknüpft. Also nicht der Motor muß sich merken, aus welchen Einzelteilen er besteht, sondern die Einzelteile müssen wissen, zu welchem Motor sie gehören. Außerdem ist motordrev über drevid mit drev verknüpft, damit kann ein Motor mehrere motordrevs verschiedener drev-Typen haben.

D.h. drev ist die Tabelle mit allen möglichen allgemeinen drev-Typen. motordrev ist die Tabelle, die diese allgemeinen drev-Typen einem bestimmten Motor zuordnet (drevid, motorid).


----------



## EOB (19. Dez 2006)

also wenn ich IN die db schreibe, muss zu jedem motor, in die tabelle motordrev des motors id gepackt werden, richtig?


gruesse


----------



## Yzebär (19. Dez 2006)

Ja genau.


----------



## EOB (19. Dez 2006)

nd auch fuer drev...richtig? aber was mache ich, wenn ein motor mehr als ein drev hat? 

1. motor fuellen
2. drev fuellen
3. motordrev fuellen

und nun? jetzt hab ich einen drev? das ganze fuer alle drevs, so dass ich fuer jeden dre auch ein motordrev habe?

danke  :toll:  :toll:


----------



## Yzebär (19. Dez 2006)

In der Tabelle drev sind ja nur allgemeine drev-Typen, die du für jeden Motor wiederverwenden kannst. Deshalb solltest du die zuerst mit Daten füttern. Dann einen Motor anlegen und mit der motorid die motordrev 1....n (mit drevid den Typ festlegen). 

Bsp:

drev 1 Typ: Schraube mit 3 Rotorblättern
drev 2 Typ: Schraube mit 6 Rotorblättern

motor 1 mit 6 motordrevs

motordrev 1 motorid: 1 drevid: 1
motordrev 2 motorid: 1 drevid: 1
motordrev 3 motorid: 1 drevid: 1
motordrev 4 motorid: 1 drevid: 2
motordrev 5 motorid: 1 drevid: 2
motordrev 6 motorid: 1 drevid: 2

Sowas in der Art mußt du auch machen.


----------

