2010-12-10 12 views
1

Ich baue eine App und ich kann meinen Kopf nicht um einige grundlegende Konzepte bekommen.SQL :: Viele zu viele Tabellen oder nur Foreign Keys

Die Geschichte, die ich herumgebe, ist, dass USER Nachrichten über PRODUKTE erstellen können.

Benutzer werden nur einmal in der USERS-Tabelle angezeigt. Produkte werden nur einmal in der PRODUCTS-Tabelle angezeigt.

Aber Benutzer können viele Nachrichten erstellen, jedes über ein einzelnes Produkt.

So werden mehrere Produkte in NACHRICHTEN referenziert.

Meine Frage an dieser Stelle ist, gibt es viele-zu-viele Beziehungen zwischen Benutzer-> Nachrichten UND Produkte-> Nachrichten?

d. H. Sollte ich Linker-Tabellen zwischen ihnen erstellen?

Antwort

1

Wenn dieses Bit wahr ist ...

NACHRICHTEN, die jeweils über ein einziges Produkt.

... dann ist die Kardinalität zwischen Nachrichten und Produkten viele zu eins.

Also ich würde erwarten, dass Ihre Nachricht Tabelle FKs auf Benutzer und ein Produkt enthalten, aber das ist es

+0

genial, danke! – Scott

1

Es klingt wie Sie zwei Beziehungen Eins-zu-viele.

BENUTZER und NACHRICHTEN: Ein Benutzer kann viele Nachrichten haben, und eine Nachricht ist einem Benutzer zugeordnet. Wenn dies der Fall ist, haben Sie eine Eins-zu-viele-Beziehung.

PRODUKTE und NACHRICHTEN: Ein Produkt kann sich auf viele Nachrichten beziehen, und eine Nachricht kann ein Produkt haben. Wenn dies der Fall ist, haben Sie eine Eins-zu-viele-Beziehung.

Es besteht keine direkte Beziehung zwischen BENUTZERN und PRODUKTEN.

Wenn diese Aussagen wahr sind, benötigen Sie keine zusätzlichen Verknüpfungstabellen.