Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Opis kolumny (extended properties)

Termin Definicja
Opis kolumny (extended properties)

Opis kolumny zapisuje się jako rozszerzoną właściwość obiektu, dokumentując jej znaczenie bez zmiany struktury.

Extended properties jako metadane kolumny w SQL Server

Extended properties, czyli właściwości rozszerzone, są mechanizmem programu Microsoft SQL Server służącym do przechowywania dodatkowych informacji o elementach bazy danych. Właściwość może opisywać między innymi bazę danych, schemat, tabelę, widok, procedurę, funkcję, indeks albo konkretną kolumnę. W przypadku hasła „Opis kolumny” właściwość pełni rolę dokumentacji technicznej przypisanej do wskazanego pola tabeli.

Najczęściej opis kolumny zapisuje się pod nazwą MS_Description. Sama nazwa nie zmienia typu danych, długości, wartości domyślnej, indeksów ani ograniczeń kolumny. Jest to informacja przeznaczona dla osób pracujących ze schematem oraz dla narzędzi potrafiących odczytywać metadane SQL Server. Opis może wyjaśniać znaczenie pola, jednostkę wartości, dopuszczalny zakres, źródło danych albo sposób interpretacji wartości pustej.

Powiązanie opisu z tabelą i kolumną

Opis kolumny jest przypisany do konkretnego elementu schematu, a nie do samej nazwy tekstowej użytej w dokumentacji. SQL Server identyfikuje obiekt tabeli między innymi przez jego identyfikator obiektu, zwracany przez funkcję OBJECT_ID. Kolumna ma natomiast własny identyfikator w obrębie tabeli, dostępny jako column_id w widoku katalogowym sys.columns. Dzięki temu opis może jednoznacznie odnosić się do określonego pola, nawet gdy w innej tabeli istnieje kolumna o takiej samej nazwie.

W widoku katalogowym sys.extended_properties właściwość kolumny jest rozpoznawana przez klasę obiektu oraz identyfikatory poziomu nadrzędnego i podrzędnego. Dla właściwości przypisanej do kolumny istotne są między innymi major_id, odpowiadający identyfikatorowi obiektu, oraz minor_id, odpowiadający identyfikatorowi kolumny. Nazwa tabeli, schematu i kolumny może zostać odczytana przez połączenie tego widoku z sys.tables, sys.schemas i sys.columns.

Dodawanie, zmiana i odczyt właściwości

SQL Server udostępnia procedurę systemową sys.sp_addextendedproperty do utworzenia właściwości oraz sys.sp_updateextendedproperty do zmiany wartości już istniejącej właściwości. Procedura sys.sp_dropextendedproperty służy do usunięcia właściwości. Przy operowaniu na opisie kolumny trzeba wskazać poziomy hierarchii, takie jak nazwa schematu, nazwa tabeli i nazwa kolumny. Pominięcie właściwego poziomu może spowodować próbę zapisania opisu dla tabeli zamiast dla kolumny.

Odczyt można wykonać przez zapytanie do sys.extended_properties, zwykle z filtrem na nazwę właściwości MS_Description i z połączeniem do katalogów systemowych. Wartość właściwości jest zwracana w kolumnie value. Przy interpretacji wyniku należy sprawdzić typ obiektu oraz identyfikatory, ponieważ sam tekst opisu nie wskazuje, do której tabeli należy, jeśli zostanie wyrwany z kontekstu katalogu systemowego. Narzędzia graficzne, generatory dokumentacji i skrypty inwentaryzacyjne mogą prezentować te dane jako komentarz przy nazwie kolumny.

Zmiana extended property nie jest tym samym co zmiana definicji kolumny. Operacja nie wykonuje konwersji danych i nie wpływa na istniejące rekordy. Nadal wymaga jednak odpowiednich uprawnień do modyfikowania metadanych obiektu. W środowisku kontrolowanym opis powinien być utrzymywany razem ze skryptami definicji bazy, aby odtworzenie schematu nie powodowało utraty dokumentacji.

Wartość opisu podczas analizy schematu

Rzetelny opis kolumny powinien odpowiadać rzeczywistemu zastosowaniu pola. Dla kolumny przechowującej datę można wskazać, czy oznacza utworzenie rekordu, modyfikację, rozpoczęcie zdarzenia czy jego zakończenie. Dla wartości liczbowej warto opisać jednostkę oraz znaczenie zera i wartości pustej, o ile wynika to z projektu konkretnej bazy. Przy polu tekstowym przydatna może być informacja, czy zawiera kod techniczny, nazwę prezentowaną użytkownikowi, identyfikator zewnętrzny czy skrót.

Podczas diagnostyki niespójności schematu extended property jest materiałem pomocniczym, a nie regułą wymuszającą zachowanie bazy. Rzeczywiste ograniczenia wynikają z definicji typu danych, kluczy, indeksów, więzów CHECK, NOT NULL, kluczy obcych, wyzwalaczy oraz kodu wykonującego operacje na tabeli. Jeżeli opis mówi o identyfikatorze unikatowym, należy potwierdzić tę cechę w strukturze tabeli, ponieważ sam komentarz nie tworzy indeksu unikatowego ani ograniczenia UNIQUE.

Przy przeglądzie technicznym warto porównać opis z nazwą kolumny, typem danych, wartością domyślną, relacjami i zapytaniami korzystającymi z tabeli. Rozbieżność może oznaczać nieaktualną dokumentację, zmianę modelu danych bez aktualizacji metadanych albo błędną interpretację pola przez aplikację. Analiza powinna obejmować także brak opisu tam, gdzie jego obecność jest wymagana przez przyjęte zasady utrzymania schematu, oraz powtarzające się, zbyt ogólne treści, które nie wyjaśniają faktycznego znaczenia kolumny.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę