Frank (no reg): Fragen zur Struktur einer DB

Beitrag lesen

Hi,

du hast also 3 Entitäten/Objekte

  • Benutzer
  • Liste
  • Nutzdatensatz

korrekt?

Es gelten folgende Relationen:

  • Benutzer : Liste            = 1:n
    (jede Liste kann nur einem Benutzer gehören, ein Benutzer kann mehrere Listen haben)
  • Liste: Nutzdatensatz        = 1:n
    (ein Datensatz kann nur in einer Liste sein, aber eine Liste kann beliebig viele Nutzdatensätze haben)
  • Benutzer : Nutzdatensatz    = 1:n

korrekt? Oder sollen die eigentlichen Nutzdatensätze (all_data) auch gemeinsam in verschiedenen Listen von verschiedenen Benutzern enthalten sein? Dann hättest du

  • Benutzer : Liste            = 1:n
    (jede Liste kann nur einem Benutzer gehören, ein Benutzer kann mehrere Listen haben)
  • Liste: Nutzdatensatz        = m:n
    (ein Datensatz kann in beliebig vielen Listen sein, eine Liste kann beliebig viele Nutzdatensätze haben)
  • Benutzer : Nutzdatensatz    = m:n

Je nach Beziehung benötigst du zusätzliche Verknüpfungstabellen (für m:n) oder auch nicht (1:n = Parent->Child)

Für Parent-Child Beziehungen erzeugst du in der Child-Tabelle (z.b. Liste) einen Fremdschlüssel (Foreign Key) auf die Id des Parent-Objektes (in dem Fall: Benutzer).

Beginne bei Datenmodellierung am besten immer mit einem Blatt Papier und einem Stift und zeichne dir die Fakten darauf auf, ziehe dann Verbindungslinien zwischen den Fakten und beschreibe jene => erkenne die Zusammenhänge. Dann werden viele Sachen plötzlich klar wie Kloßbrühe, z.b. die Umsetzung in ein physikalisches Modell.

Ciao, Frank