Metadane to dane – o danych, służące do opisania składowanych w bazach informacji. Przyznam, że definicja ta (powielana w wielu publikacjach), gdy odkrywałem temat baz danych, była dla mnie masłem maślanym w czystej postaci.
W rozdziale tym, postaram się w bardziej przystępny sposób wyjaśnić sens i cel istnienia metadanych. Zaprezentuję także kilka praktycznych przykładów korzystania ze struktur, pozwalających poznać środowisko bazodanowe.
Dane o danych
Na początek, zastanówmy się czym właściwie są dane składowane w naszych bazach. Patrząc na nie w kompletnym oderwaniu od kontekstu, dane to zbiór cyfr (np. typu całkowitego), znaków (ciągi tekstowe), bitów i bajtów. Jeśli w ten sposób na nie spojrzymy – staną się chaotyczne i kompletnie bezużyteczne.
Wartość tak postrzeganych informacji będzie analogiczna, jak atomów z których składa się człowiek. W końcu to też parę kilo węgla, wodoru, tlenu i innych pierwiastków. Wartość tych atomów w kontekście otaczającego nas świata – zerowa.
Prawdziwy sens naszym danym, nadają właśnie metadane. Dzięki nim, te pojedyncze atomy, łączą się w informacje, a z nich możemy czerpać wiedzę. Do odkrycia tych powiązań, poprawnej interpretacji, potrzebujemy opisu = danych o danych.
Dzięki metadanym, wiemy jak interpretować wartość liczbową 1980 w tabeli Pracownicy w określonej kolumnie. Może to być rok urodzin, śmierci czy zatrudnienia albo wysokość podstawowego wynagrodzenia. Bez metadanych nie ma użytecznych informacji.
Czasem ta granica czym są metadane a dane właściwe jest dość płynna. Weźmy inną analogię – wszystkie „dodane” informacje, opisujące jakaś książkę. Metadanymi z pewnością może być jej tytuł, autor, wydawnictwo, rok i nakład. Z drugiej zaś strony, w bibliotece, te informacje mogą być danymi właściwymi… Podobnie jak w systemie zarządzającym setkami czy tysiącami baz danych, metadane z punktu widzenia pojedynczego obiektu, mogą stać się głównymi informacjami.
Metadane w SQL Server
Podobnie jak w innych serwerach bazodanowych, metadane dotyczą wszelkich struktur spotykanych w tych systemach. Idąc od najniższego poziomu – będą to nazwy i typy kolumn, tabel czy samych baz danych. To także informacje o środowisku serwera, wersji, użytkownikach czy loginach.
W SQL Server dostępnych mamy szereg różnych obiektów, za pomocą których możemy dotrzeć do informacji nadających sens składowanym danym. Opisuje je w osobnych artykułach, przedstawiając najczęściej wykorzystywane w praktyce
- WIDOKI SYSTEMOWE są podstawowym i najważniejszym źródłem informacji. W wersji SQL Server 2012 jest ich kilkaset ! Dotyczą one wszelkich obiektów tworzonych w ramach serwera, ale także procesów czy statystyk.
- FUNKCJE, PROCEDURY I ZMIENNE SYSTEMOWE – to obiekty, które stosujemy głównie w skryptach czy np. procedurach utrzymaniowych. Umożliwiają pójście na skróty w stosunku do widoków.