Chrisi: SQL Abfrage LEFT JOIN

Beitrag lesen

Hi,

[*] U-ID ist doppelt gemoppelt, sowas wie weißer Schimmel. Ein Identifier muss einmalig sein, sonst eignet er sich nicht zum Identifizieren.

Das verstehe ich jetzt nicht :)

UID ist in der Tab user Unique, aber in der Tab pic darf er mehr als einen Eintrag haben und dient als Erkennungsmerkmal um die pics den usern zuordnen zu können.

Ich habe aber auch noch andere Tabs in denen jede UID nur einen Datensatz haben darf, dass sind dann die Erweiterten Daten zu einem User, wie z.B. Interessen und Eigenschaften etc ...

Also wenn ich jetzt deine Info richtig deute:

Soll die Tab mehr als einen Datensatz zu einem User (UID) enthalten ist UID "nur" ein Index.

Soll die Tab aber nur einen Datensatz zur UID enthalten, so kann Sie die UID als primary Key und damit gleich als Unique und Index festlegen ? ALso brauche ich hier eigentlich garkeinen "extra" primary Key für jeden Datensatz, sondern kann diese ja anhand der UID fest zurordnen und einfach dort einen primary setzen ...

Zur Erläuterung:

Alle meine Tabellen haben immer in der ersten Spalte eine id Spalte in der die Datensatz ID mit primary u. autoincrement gesetzt wird.

Deine Info sagt mir jetzt das ich mir bei den Tabellen die sowieso immer nur einen Datensatz zu UID enthalten dürfen die "extra" Spalte mit der ID sparen kann u. einen primary über die Splate UID lege kann. Habe ich das so richtig verstanden ?

Klingt jetzt für mich soweit sehr logisch, werde das ganze dann wohl auch in meinem DB Design umbauen ...

Viele Grüße, Chrisi ...