Ich habe ein ziemlich häufiges Szenario, in dem ein Benutzer aus einer Reihe von Attributen auswählen kann. Die Attribute in der Benutzeroberfläche werden durch Kontrollkästchen dargestellt.Modellierung von Ja/Nein-Attributen in der Datenbank
Zum Beispiel:
Komponenten: Festplatte (y/n), die CPU (y/n), Monitor (y/n), Tastatur (y/n), etc ....
in der Vergangenheit habe ich in der Regel dieses Szenario wie folgt modelliere:
"PCs" 1:M "PC Components" M:1 "Components"
Eine weitere Option ist die „Attribute“ als y/n Felder in dem „PC“ Tisch zu machen.
z.B.
In der Vergangenheit basiert mein Grundprinzip dafür, ob man mit einem oder dem anderen gehen kann, darauf, ob der Benutzer neue Attribute eingeben kann. Wenn die Antwort ja ist, dann gehe ich mit der ersten Option, wenn die Antwort nein ist, dann gehe ich normalerweise mit y/n-Attributen.
Aber jetzt habe ich ein Szenario, wo es etwa 20 Attribute in mehrere Kategorien unterteilt sind. Nach dem Erstellen der ERD sieht es einfach "falsch" aus und die Tabelle hat eine absurde Anzahl von Spalten.
Meine Frage ist, gibt es eine Standard/korrekte Möglichkeit, dies zu modellieren? Wenn ja, hat es einen Namen?
Thx für die Antwort. Was würdest du vorschlagen, wenn ich ungefähr 50 dieser Attribute habe? Halten Sie sie auf dem gleichen Tisch? Die Tabelle wird dann insgesamt ungefähr 100 Attribute haben. Oder zu 1-1 wechseln? –
Ich empfehle, die Datenbank nach den Regeln der Normalisierung zu modellieren, es sei denn und bis es zu einem messbaren Leistungsengpass wird. –
Es ist einer dieser "Design-Gerüche", wenn ich diese vielen Spalten sehe, aber die Daten sind normalisiert. Danke EPA für all diese Attribute. –