Ich bin mir nicht sicher, ob diese Art von Frage schon einmal gestellt wurde, aber ich suchte und konnte alles finden.Der beste Weg, um viele boolesche Spalten in der Tabelle zu speichern
Ich arbeite an einer Datenbank im Moment, die Datensätze hat, die mit ihnen eine Menge boolean basierend Werte gespeichert sind, so dass die Tabellenstruktur sieht ungefähr so aus:
===Table===
ID <- int
Name <- string
Bool1 <- bool
Bool2 <- bool
Bool3 <- bool
Bool4 <- bool
Bool5 <- bool
Bool6 <- bool
Bool7 <- bool
Bool8 <- bool
Bool9 <- bool
nicht alle Boolesche Werte gesetzt ein einmal, so kann jeder Datensatz eine, viele oder keine ausgewählt haben.
Ich habe darüber nachgedacht, so etwas wie dies zu tun: zwischen der Haupttabelle und zweiten Tabelle verknüpft auf ValueID
==Main Table== ===Second Table====
ID <- int PK ValueID <- PK links to Main Table ValueID
Name <- string ID <- int
ValueID <- FK Value <- Contains name of assigned value eg Bool1, Bool2
So gibt eine Eins-zu-Beziehung ist. Die zweite Tabelle enthält also nur die Daten für die ausgewählten Elemente und stattdessen einen Haufen leerer boolescher Werte in der Haupttabelle.
Der Grund, warum ich darüber nachdachte, war, dass es mir erlauben würde, andere Werte hinzuzufügen, die in Zukunft gegen den Datensatz gespeichert werden, anstatt die Tabellenstruktur zu ändern.
Wäre dies ein guter Weg, um die vielen booleschen Werte zu speichern?
Ich würde wirklich gerne in der Lage sein, dies an ein Formular mit Kontrollkästchen zu binden, würde es so schwer machen.
Also wenn das ein bisschen schwer zu verstehen ist, was ich brauche, weiß ich nicht wirklich, wie man es im Text erklärt.
Danke.
Wäre ein Schmerz zu fragen, amlest. – nos
Ja, ich dachte daran, aber ja Schmerz zu fragen und nicht sehr freundlich. –
Das eigentliche Problem ist, dass Sie die Chance verlieren würden, dass ein Index die Abfragen beschleunigt. –