Im Teil einer Website, die ich entwerfe, gibt es einen Abschnitt, der sowohl vordefinierte Werte als auch die Option zum Angeben benutzerdefinierter Werte enthält.Datenbankentwurf für Werte, die manchmal vordefiniert und manchmal benutzerdefiniert sind
Als ein einfaches Beispiel nehmen wir an, dass die Werte "Sport" sind und dass die Anwendung vordefinierte Sportarten hat, aber dass einige Benutzer ihre eigenen eingeben möchten, da ich nicht alles vorhersagen kann. Benutzer haben keinen Zugriff auf die Sportarten, die andere eingegeben haben, nur ihre eigenen.
Sollten die vordefinierten Sportarten und die benutzerdefinierten Sportarten in derselben Tabelle gespeichert sein? In diesem Fall muss ich entweder einer Spalte user_id in dieser Tabelle den Wert null geben oder einen Benutzer und eine Benutzer-ID für die vordefinierten Sportarten erstellen.
Die meiste Zeit, wenn ich nach einer Sportart nach dem Namen suche, werde ich sowohl vordefinierte als auch die benutzerdefinierten Sportarten des Benutzers suchen wollen, wenn die vordefinierten und benutzerdefinierten Sportarten getrennt sind, würde ich immer noch die Suche über beide gehen lassen müssen Tabellen.
Auf der anderen Seite, wenn sie getrennt sind, erschwert es die Angabe von Fremdschlüsselbeziehungen basierend auf einer sport_id.
Was ist ein guter Weg, um diese Art von Situation zu nähern?
Ich markierte dies als die Antwort, aber der Kommentar von Jug, der zu der Frage hinzugefügt wurde, ist genauso gut wie eine Antwort. –