Tropem długich kodów

Kuba Tatarkiewicz poświęcił jeden ze swych ostatnich felietonów (Duża liczba - CW 33/2004) między innymi problemowi przerostu liczby cyfr w numerach kont bankowych. Pójdę i ja tym tropem, aczkolwiek oprócz zgodnego przytakiwania koledze felietoniście co do słuszności jego wywodów, postaram się nadać tym rozważaniom własny sens.

Kuba Tatarkiewicz poświęcił jeden ze swych ostatnich felietonów (Duża liczba - CW 33/2004) między innymi problemowi przerostu liczby cyfr w numerach kont bankowych. Pójdę i ja tym tropem, aczkolwiek oprócz zgodnego przytakiwania koledze felietoniście co do słuszności jego wywodów, postaram się nadać tym rozważaniom własny sens.

Kodować można w zasadzie co się chce i jak się chce (parafrazując piosenkę wykonywaną niegdyś przez Jerzego Stuhra - kodować każdy może, trochę lepiej lub gorzej). Sposób takiego zapisu bywa na ogół jawny i łatwy do rozszyfrowania bez użycia elektronicznych środków przetwarzania danych. Wszyscy, którzy mają do czynienia z bazami danych (a trudno w dzisiejszych czasach nie mieć takiego kontaktu), zapewne zdają sobie sprawę, że kodowanie informacji na tym poziomie nie ma na celu jej utajnienia, a jedynie pewną standaryzację ułatwiającą przetwarzanie i segregowanie danych. Odwołując się do wyświechtanego przykładu numeru PESEL (gdyby był on tworem żywym, bezustannie dzwoniłoby mu w uszach), należy stwierdzić, że standaryzację tu wykonano, natomiast zasada kodowania jest opracowana w dzisiejszym rozumieniu dosyć nieporadnie, bo wystawia się na widok publiczny dane osobowe pod postacią daty urodzenia. Kiedyś przyjęto taki tryb postępowania, co jest wynikiem niedoskonałości samego systemu przekazywania informacji w ramach organów nadających ten numer. Gdyby zastosowano metodę sekwencyjnego numerowania obywateli, pojawiłby się problem unikalności numeracji wobec braku centralnej bazy danych dostępnej online. Wiele sposobów kodowania (typowy przykład bibliotecznego systemu UKD) zawiera w sobie hierarchię, a nie sekwencję. Powoduje to, że zaznajomiony z zasadami kodowania człowiek potrafi informację taką sklasyfikować. Ale coś za coś. Im bardziej czytelny kod, tym dłuższa jego postać, gdyż dane tam zawarte nie mają być przydatne tylko dla systemu komputerowego, ale także dla człowieka, aby bez specjalnego trudu potrafił je zinterpretować. Na tej zasadzie wydłuża się numery rejestracyjne pojazdów o prefiks wskazujący na miejsce administracyjnej przynależności. Na razie dzięki temu wydziały komunikacji mają daleko posuniętą autonomię w tym zakresie, aczkolwiek przy dysponowaniu centralną bazą danych każdy pojazd mógłby być opatrzony tylko numerem kolejnym w ramach całego kraju.

Znam również projektantów baz danych, którzy w prowadzonych przez siebie projektach skwapliwie starają się - zupełnie nie wiadomo dlaczego - w jednym polu zawrzeć jak najwięcej informacji. Tego typu zabiegi w pierwszym rzędzie ograniczają korzystanie z dobrodziejstw wartości niepodzielnych, a więc łatwych do dalszego przetwarzania, wymuszając na programistach wyczynianie cudów, aby ze złożonego pola wyodrębnić to, co właściwe w danym momencie. W takim to wydaniu numer rejestracyjny pojazdu byłby jeszcze dłuższy niż obecnie, bo zawierałby zapewne dwuliterowy kod województwa, dwuliterowy kod gminy, czterocyfrowy rok zakupu, pięciocyfrowy numer kolejny w ramach gminy w danym roku, PESEL właściciela i jeszcze kilka innych rzeczy. I wtedy o takim samochodzie byłoby wiadomo prawie wszystko na pierwszy rzut oka.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200