Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: s11a06 am August 18, 2011, 07:24:06

Titel: Beziehungen
Beitrag von: s11a06 am August 18, 2011, 07:24:06
Hallo ich habe eine Frage zu den Beziehungen. Das hier ist nur eine Beispieltabelle. tblProdukt hat die Seriennummer ist Primärschlüssel und tblProduktdaten hat einen Autowert. Die Beziehung ist 1:n.

tblProdukt
Seriennummer (PK)
Bestand
XXX
XXX

tblProduktdaten
Produktdaten_ID (PK)
Bild
Datenblatt
Technische_Zeichnung


Da die Produktdaten nur einen Autowert als Primary Key haben, weiß ich jetzt nicht wie ich die Zwei Tabellen zueinander in Beziehung setzten soll. Per Hand möchte ich die Daten nicht eintragen weil der Datensatz mehrere 100.000 groß ist. Jemand eine Idee?
Vielleicht die Sereinnummer auch in Produktdaten unterbringen?

Gruß
Titel: Re: Beziehungen
Beitrag von: MzKlMu am August 18, 2011, 08:15:03
Hallo,
die Notwendigkeit für 2 Tabellen kann ich hier nicht erkennen. Und 1:n wahrscheinlich sowieso nicht.
Gibt es zu einem Produkt mehrere Bilder, Datenblätter und Zeichnungen?

Und was willst Du mit dem Feld Bestand? Bestände werden nicht gespeichert, sondern aus Zugang und Abgang berechnet.
Titel: Re: Beziehungen
Beitrag von: Jonny am August 18, 2011, 08:57:47
Hallo,
damit zwei oder mehr Tabellen in eine Beziehung gebracht werden können brauchen sie gleiche Felder.
Bei einer 1:n Beziehung könnten das bei dir Seriennummer in tblProdukt (PK) und Seriennummer in tblProduktdaten (Fremdkey) sein.
Genau wie MzKlMu schon geschrieben hat macht das aber nur Sinn wenn zu einen Produkt mehrere Datensätze in Produktdaten
vorhanden sind.
Und ohne deine Anwendung zu kennen kann ich nicht beurteilen ob das Bestandsfeld berechnet werden kann,  oder einfach eingegeben wird.

Gruß

Johann
Titel: Re: Beziehungen
Beitrag von: s11a06 am August 18, 2011, 08:59:38
die 1:n-Beziehung müsste umgekehrt sein, also ein Datenblatt usw. gilt für mehrere Sereinnummern. Das Attribut "Bestand" kann auch etwas anderes sein, z.B. "Gewicht".
Das sind jetzt nur zwei Tabellen aus einem größeren Konstruckt die als Beispiel herhalten sollen. Es geht nur um die Beziehung wie die Daten zueinander finden sollen.
Titel: Re: Beziehungen
Beitrag von: MzKlMu am August 18, 2011, 09:17:46
Hallo,
wenn man schon Beispiele macht, dann sollte die auch realitätsnah sein. Niemand sitz vor Deinem PC. Der Helfer muss sich ja etwas hineindenken.
Unter den neuen Vorraussezungen sollte das so sein:

tblProduktdaten
Produktdaten_ID (Autowert, PK)
ProduktID_F (Zahl, Long, FK)
Bild (?? kann es zu einem Bild mehrere Produkte geben ?)
Datenblatt
Technische_Zeichnung (?? kann es zu einer Zeichnung mehrere Produkte geben ?)

tblProdukt
ProduktID (Autowert, PK)
Seriennummer (indiziert, ohne Duplikate)
Bestand
XXX
XXX

Bitt erkläre das mal realitätsnäher etwas genauer.



Titel: Re: Beziehungen
Beitrag von: Jonny am August 18, 2011, 09:22:02
Hallo,
dann brauchst Du in der tblProdukt ein Feld was auf tblProduktdaten hinweist.
Nennen wir es mal ProduktdatenID (indiziert ja, Duplikate möglich)
Die Beziehung wäre dann ID in Produktdaten als 1 und ProduktendatenID als n.

Gruß

Johann
Titel: Re: Beziehungen
Beitrag von: s11a06 am August 18, 2011, 10:40:46
Zitat von: MzKlMu am August 18, 2011, 09:17:46
Unter den neuen Vorraussezungen sollte das so sein:

tblProduktdaten
Produktdaten_ID (Autowert, PK)
ProduktID_F (Zahl, Long, FK)
Bild (?? kann es zu einem Bild mehrere Produkte geben ?)
Datenblatt
Technische_Zeichnung (?? kann es zu einer Zeichnung mehrere Produkte geben ?)

tblProdukt
ProduktID (Autowert, PK)
Seriennummer (indiziert, ohne Duplikate)
Bestand
XXX
XXX

Zu einer Zeichnung oder einem Bild kann es mehrere Produkte geben, z. B. gehören zu Bild A die Seriennummern 100 bis 199.

Die neuen Tabellen sehen gut aus, aber warum hat tblProdukt eine Produkt_ID  (AutoWErt, PK) erhalten? Die Seriennummer ist doch schon eindeutig.
Titel: Re: Beziehungen
Beitrag von: MzKlMu am August 18, 2011, 10:51:09
Hallo,
ich muss mich korrigieren, Jonny hat recht, die Beziehung muss umgekehrt sein.

tblProduktdaten
Produktdaten_ID (Autowert, PK)
Bild
Datenblatt
Technische_Zeichnung

tblProdukt
ProduktID (Autowert, PK)
Seriennummer (indiziert, ohne Duplikate)
Produktdaten_ID_F (Zahl, Long, FK)
Bestand
XXX
XXX

Zitataber warum hat tblProdukt eine Produkt_ID  (AutoWErt, PK) erhalten? Die Seriennummer ist doch schon eindeutig.
Eine Seriennummer kann auch Buchstaben enthalten. Dann wird das zu einem Textfeld. Und Textfelder sind als PK nicht so geeignet. Für die beziehungen (und damit PK und FK) sind Zahlen (LongInteger) zu bevorzugen.
Titel: Re: Beziehungen
Beitrag von: s11a06 am August 22, 2011, 10:21:53
Alles klar, hat geklappt. Danke