J'ai hérité d'une grande base de données (SQLServer) avec des centaines de colonnes qui représentent des quantités d'une chose ou d'une autre. Les unités de ces valeurs (par exemple "gallons", "pouces", etc.) sont stockées dans le champ MS_Description des propriétés étendues. Je me demande s'il existe une meilleure façon de stocker ces informations. Je suppose que c'est bien à des fins de documentation, mais il serait difficile de faire des calculs de conversion d'unité robustes sur la base de ces données. À ce stade, je ne suis pas prêt à effectuer un changement invasif, mais si j'en ai l'occasion, quelle est la meilleure pratique recommandée à cet égard? Les options, du haut de ma tête, pourraient inclure:
- Changez le nom de la colonne en unités incluses (par exemple, "TotalVolumeInGallons". Cela rendrait les informations un peu plus facilement disponibles, mais elles me semblent encore faibles.)
- Ajoutez une colonne "Unités" distincte pour correspondre à chaque colonne "Montant" (cette colonne peut être nvarchar OU il peut s'agir d'une clé étrangère vers une table Unités distincte qui pourrait faciliter le calcul des conversions d'unités. Par contre, l'ajout de de nombreuses colonnes pourraient doubler la taille de ma base de données - avec des données terriblement redondantes.)
- Créez un nouveau champ dans les propriétés étendues dédié spécifiquement aux unités. (Malheureusement, je ne pense pas que cela puisse être une clé étrangère vers une table d'unités.)
- Y a-t-il une autre idée que j'écarte?
MISE À JOUR: Après avoir lu la réponse de @Todd Everett, une solution possible m'est venue, alors je vais aller de l'avant et répondre à ma propre question. (Voir ci-dessous)