Ich habe eine Tabelle, die eine Reihe von Feldern hat. Die Felder können in logische Gruppen unterteilt werden - wie die Projektmanagerinfo eines Jobs. Die Gruppierungen selbst sind nicht wirklich Entitätskandidaten, da sie keine eigenen PKs haben und auch nicht haben sollten.Reichen 1 zu 1 Beziehungen auf db-Tabellen?
Für jetzt, um sie zu gruppieren, haben die Felder Präfixe (PmFirstName zum Beispiel), aber ich überlege, sie in mehrere Tabellen mit 1: 1 Beziehungen auf der Haupttabelle zu brechen.
Gibt es etwas, auf das ich achten sollte, wenn ich das tue? Ist das nur eine schlechte Wahl?
Ich kann sehen, dass meine Abfragen vielleicht komplizierter werden mit all den zusätzlichen Joins, aber das kann mit Ansichten gemildert werden, oder? Wenn es sich um eine Tabelle mit weniger als 100.000 Datensätzen handelt, wird sich dies spürbar auf die Leistung auswirken?
Edit: Ich werde die Nicht-Entität Kandidaten Gedanken ein wenig weiter rechtfertigen. Diese Information wird von unserer Benutzerbasis eingegeben. Sie wissen nicht/kümmern sich nicht umeinander. Es ist also möglich, dass derselbe Benutzer den gleichen "ProjectManager-Namen" oder was auch immer einreicht, was an dieser Stelle keine Beschränkung verletzen würde. Es ist für uns später festzustellen, ob wir die Einträge von einzelnen Benutzern korrelieren wollen. Wenn ich diesen Dingen ihren eigenen Schlüssel geben würde, würden sie mit der gleichen Geschwindigkeit wachsen, mit der der Haupttisch wächst - da sie im wesentlichen Teil derselben Entität sind. Bei keinem Punkt wählt ein Benutzer eine Liste von verfügbaren "Projektmanagern" aus.
Also, angesichts der oben genannten, glaube ich nicht, dass sie Entitäten sind. Aber vielleicht nicht - wenn Sie weitere Gedanken haben, schreiben Sie bitte.
DUPE: http://stackoverflow.com/questions/517417/is-there-ever-a-time-where-using-a-database-11-relationship-makes-sense –
Suche nach "1: 1 Beziehungen "hat dieses Ergebnis nicht ergeben. Entschuldigung für den Betrogenen –