Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Zu viele Spaltenzahlen, wie strukturieren?

Begonnen von MaxF., September 11, 2015, 09:35:19

⏪ vorheriges - nächstes ⏩

MaxF.

Hallo liebe Community,

ich beschäftige mich schon eine Weile mit Access und habe bisher so ziemlich immer eine Lösung für meine Probleme gefunden. Nun stehe ich aber mit einem Brett vor dem Kopf im Dunkeln.

Ich benutze Access 2010.

Bevor ich zu dem Problem komme, möchte ich euch erzählen was die DB für Anforderungen hat und wie die Beziehungen sind.
Es handelt sich um eine Datenbank für Laborprüfungen von Ware. Jeder Kunde hat eine bestimmte Anzahl von Prüfungen, die an seiner Ware vorgenommen werden müssen.
Somit ergibt sich:
-"Kunde (1:n) Prüfung"
-"Prüfung (1:1) Prüfungsbeschreibung"

Jetzt stellt sich aber das Problem, dass Access ein Problem damit hat, dass jeder der 40 Kunden eine Auswahl an 1200 Prüfmethoden hat.

Somit kann ich den Aufbau:
Spalte1=Kundenname
Spalte2=Prüfung1
Spalte3=Prüfung2
...
vergessen.

Wenn ich allerdings in die erste Spalte die PrüfID als Primärschlüssel nehme (Um auf die Tabelle mit den Beschreibungen zu verknüpfen), raff ich nicht, wie ich den einzelnen Kunden mehrere Prüfmethoden zuweisen kann.

Ich sitze nun seit 3 Arbeitstagen an diesem Problem und kann deswegen wohl nichtmehr geradeaus denken :o.

Für Denkanstöße bedanke ich mich jetzt schonmal  ;D

Mit freundlichen Grüßen
MaxF.

MzKlMu

Hallo,
Dir fehlt schlicht und ergreifend eine 3.Tabelle. Das ist eine klassische n:m Beziehung zwischen Kunde und Prüfung. Somit ergeben sich folgende Tabellen:
-"Kunde"
-"Prüfung Prüfungsbeschreibung"
-"KundenPrüfung (1:n zum Kunden, 1:n zur Prüfung)

In der 3. Tabelle wird jede zutreffende Prüfung als Datensatz gespeichert.
Hat ein Kunde 200 Prüfungen, sind in dieser Tabelle 200 DS, hat er 1200, sind das eben 1200.
Die Zahl der Felder schrumpft daher auf die Felder des Kunden, die Felder der Prüfung und 3(!) Felder zur Erfassung der Prüfungen des Kunden.
Es gibt keine 1:1 Beziehung mehr.

ZitatIch sitze nun seit 3 Arbeitstagen an diesem Problem und kann deswegen wohl nicht mehr geradeaus denken :o
daher sollte man sich vor dem Anlegen einer Datenbank mit dem grundsätzlichen Aufbau einer relationalen Datenbank beschäftigen.
Wer eine 1:1 Beziehung benötigt (bzw. glaubt eine zu benötigen) hat meist einen Fehler im Datenmodell. 1:1 Beziehung sind selten notwendig.


Gruß Klaus

MaxF.

Vielen Dank für deine Antwort.

Zitatdaher sollte man sich vor dem Anlegen einer Datenbank mit dem grundsätzlichen Aufbau einer relationalen Datenbank beschäftigen.
- Das habe ich getan. Bei meiner Personaldatenbank hat alles wunderbar funktioniert und diese war gut strukturiert.

Allerdings durchblicke ich hier das System einfach nicht. Ich komme nicht auf einen gemeinsamen Nenner.

ZitatHat ein Kunde 200 Prüfungen, sind in dieser Tabelle 200 DS, hat er 1200, sind das eben 1200.
- So habe ich eine Tabelle in der die Zeilenüberschriften den Kundennamen entsprechen und in der Spalte die Notwendigen PrüfID´s stehen?

ZitatDie Zahl der Felder schrumpft daher auf die Felder des Kunden, die Felder der Prüfung und 3(!) Felder zur Erfassung der Prüfungen des Kunden.
Kannst du das genauer beschreiben?

MzKlMu

Hallo,
ZitatSo habe ich eine Tabelle in der die Zeilenüberschriften den Kundennamen entsprechen und in der Spalte die Notwendigen PrüfID´s stehen?
nein, so nicht.
Die Tabelle sieht so aus:

KuPrüID   KundeID  PruefID
     1               1          2
     2               1          5
     3               1          9
     4               2          3
     5               2          4
     6               2          8
usw.

Ja, in dieser Tabelle entstehen Tausende von Datensätzen und ja, das ist richtig.


Gruß Klaus

MaxF.

Zitat
KuPrüID   KundeID  PruefID
     1               1          2
     2               1          5
     3               1          9
     4               2          3
     5               2          4
     6               2          8
usw.

Jetzt komm ich mir aber ziemlich blöd vor  :-[
Das Phänomen wenn man vor lauter Bäumen den Wald nicht mehr sieht :D

Dann setze ich mich jetzt mal dran, für 40 Kunden abertausende Pruefmethoden einzugeben.

Vielen Dank MzKlMu :)