Laden...

DB Design Frage

Erstellt von robmir vor 9 Jahren Letzter Beitrag vor 9 Jahren 1.302 Views
R
robmir Themenstarter:in
155 Beiträge seit 2005
vor 9 Jahren
DB Design Frage

verwendetes Datenbanksystem: <ACCESS 2007>

Hallo zusammen,

ich habe ein paar Fragen zu DB Design. Ich möchte Euch um Rat fragen, wie Ihr es lösen würdet.

Hier die Aufbau:
Ein Packet beinhaltet verschiedene Botschaften, Botschaften beinhalten verschiedene Signalen, welche wieder verschiedene Attributen haben.

Beispiel Aufbau:

Packet A beinhaltet
Botschaft_1
Botschaft_2
Botschaft_3
Botschaft_xx

Botschaft_1 beinhaltet:
Signal_1_1
Signal_1_2
Signal_1_xxx

Botschaft_2 beinhaltet:
Signal_2_1
Signal_2_2
Signal_2_xxx

usw

Es kann mehrere Versionen von Packeten geben z.B. Packet(n), welche viele gleiche Botschaften beinhalten wie Packet(n-1) aber es sind einige neue Botschaften dazugekommen bzw. welche gelöscht worden. Das gleiche kann mit Signalen passieren, die können einer Botschaft dazukommen bzw. entfallen.

Ich möchte z.B. viele Vergleiche machen z.B. Unterschiede zwischen Packet(n) und Packet(n-1) und Packet(n-2). Ach nochwas, ein Packet beinhaltet ca. 200 Botschaften und eine Botschaft ca. 10 Signalen --> ein Packet wird 2000 Signalen haben. Ich habe z.B. etwa 100 Packeten --> 100*2000 = 200000 Signalen. Es kann aber viel mehr werden.

Hier meine Vorschläge, was meint Ihr?

viele grüße

P
40 Beiträge seit 2011
vor 9 Jahren

Also anhand deines "Aufbau Beispiels" wäre deine Lösung 1 passend. Hier wären aber die Versionen nicht möglich.

Die Lösung 2 wäre eine Möglichkeit um die "Versionen" zu realisieren.
Aber ich finde so würdest du einige Daten doppelt und dreifach speichern, da Version 2 und 3 von einem Packet (oder doch eher Paket? 😉 ) ja zum Teil gleiche/ähnliche Daten wie Version 1 speichern.

Mein 1. Ansatz wäre gewesen Packet eine weitere 1:1 Beziehung auf sich selbst zu geben um so die ID der Vorgänger Version zu speichern.
Dann müssten in der Tabelle PacketBotschaft nur noch die Änderungen gespeichert werden (inkl der Information ob diese Botschaft hinzugefügt oder entfernt wurde).
(das gleiche gilt dann auch bei der Tabelle Botschaft)

16.806 Beiträge seit 2008
vor 9 Jahren

Wenn ein Paket mehrere Botschaften und umgekehrt haben kann, ist Lösung 1 gar nicht möglich.
Muss auf eine Beziehung zwischen Paket und Botschaft etwas angehängt werden, das sich auf diese Beziehung bezieht (zum Beispiel ein Datum) ist Lösung 2 unumgänglich.