Ein Kollege fügt allen unseren Datenbanktabellen eine Bitmaske hinzu. Theoretisch können wir so bestimmte Eigenschaften jeder Zeile im gesamten System verfolgen. Zum Beispiel ...Ist das Hinzufügen einer Bitmaske zu allen Tabellen in einer Datenbank sinnvoll?
- Ist die Zeile mit dem System geliefert oder vom Kunden hinzugefügt, sobald sie begonnen haben, mit dem System
- Hat die Zeile aus der Tabelle (soft Löschungen) gelöscht
- Ist die Zeile ein Standardwert innerhalb einer Reihe von Zeilen
Ist das eine gute Idee? Gibt es andere Anwendungen, bei denen dieser Ansatz von Vorteil wäre?
Meine Präferenz ist, dass diese Eigenschaften offensichtlich wichtig sind, und eine dedizierte Spalte für jede Eigenschaft zu haben, ist berechtigt, das, was passiert, den anderen Entwicklern klarer zu machen.
Um diesen Punkt zu verstärken: Die Bitfelder ** ändern ** das Schema, nur für den DBM völlig unsichtbar und für seine Benutzer meist unsichtbar. – msw
Kein Punkt, der hier eine Antwort gibt, gegeben, Evgeny hat es so gut zusammengefasst.Der einzige Grund, den ich mir für eine Bitmaske vorstellen kann, ist, Speicherplatz im Vergleich zu separaten Flags zu sparen, aber im Falle von SQL Server 8 werden BIT-Spalten sowieso in ein einzelnes Byte gepackt. Sie würden nur jede einzelne Abfrage gegen diese Felder für einen illusorischen Gewinn verkomplizieren. Also ein nachdrückliches +1 zu Evgeny. – Cowan