Un colega está agregando una máscara de bits a todas nuestras tablas de base de datos. En teoría, esto es para que podamos rastrear ciertas propiedades de cada fila en todo el sistema. Por ejemplo ...¿Es útil agregar una máscara de bits a todas las tablas en una base de datos?
- es la fila se suministra con el sistema o añadido por el cliente una vez que han empezado a utilizar el sistema
- se ha eliminado la fila de la tabla (eliminaciones blandos)
- ¿Es la fila es un valor predeterminado dentro de un conjunto de filas
¿Es esta una buena idea? ¿Hay otros usos en los que este enfoque sería beneficioso?
Mi preferencia es que estas propiedades son obviamente importantes, y tener una columna dedicada para cada propiedad está justificada para hacer que lo que está pasando sea más claro para otros desarrolladores.
Para amplificar este punto: los campos de bits ** están ** cambiando el esquema, de una forma totalmente invisible para el DBM, y en su mayoría invisible para sus usuarios. – msw
No tiene sentido agregar una respuesta aquí, dado que Evgeny lo ha resumido muy bien.La única razón por la que se me ocurre una máscara de bits es ahorrar espacio de almacenamiento en comparación con las banderas separadas, pero en el caso de SQL Server 8, las columnas BIT se empaquetan en un solo byte de todos modos. Simplemente estarás complicando cada consulta en estos campos para obtener una ganancia ilusoria. Así que un enfático +1 a Evgeny. – Cowan