Odziedziczyłem dużą bazę danych (SQLServer) z setkami kolumn reprezentujących ilości jednej rzeczy. Jednostki tych wartości (np. „Galony”, „cale” itp.) Są przechowywane w polu MS_Description właściwości rozszerzonych. Zastanawiam się, czy istnieje lepszy sposób na przechowywanie tych informacji. Przypuszczam, że jest to przydatne do celów dokumentacyjnych, ale trudno byłoby wykonać solidne obliczenia konwersji jednostek na podstawie tych danych. W tym momencie nie jestem gotowy na dokonanie inwazyjnej zmiany, ale jeśli mam taką możliwość, jaka jest zalecana najlepsza praktyka w tym zakresie? Opcje z góry mojej głowy mogą obejmować:
- Zmień nazwę kolumny na włączone jednostki (np. „TotalVolumeInGallons”. Dzięki temu informacje będą nieco łatwiej dostępne, ale nadal wydaje mi się słaba.)
- Dodaj osobną kolumnę „Jednostki”, aby odpowiadała każdej kolumnie „Kwota” (ta kolumna może być nvarchar LUB może być kluczem obcym do oddzielnej tabeli Jednostek, co może ułatwić obliczenie konwersji jednostek. Z drugiej strony, dodaj tak wiele kolumn może podwoić rozmiar mojej bazy danych - przy strasznie redundantnych danych).
- Utwórz nowe pole w rozszerzonych właściwościach dedykowanych specjalnie dla jednostek. (Niestety nie sądzę, że może to być klucz obcy do tabeli jednostek).
- Czy pomijam inny pomysł?
AKTUALIZACJA: Po przeczytaniu odpowiedzi @Todda Everetta przyszło mi do głowy możliwe rozwiązanie, więc zamierzam odpowiedzieć na własne pytanie. (Patrz poniżej)