- Wiersz opisuje jeden widok wyświetlany na ekranie informacyjnym — z czasem prezentacji i okresem odświeżania danych.
- Widoki są łączone w grupy przez
REFNO_GRUPA, co tworzy cykliczną prezentację przełączającą kolejne ekrany. - Kolumna
PODZIAL_EKRANUpozwala pokazać kilka widoków jednocześnie na jednym monitorze. - Przypisanie do urządzenia sprawia, że ten sam system zasila różne ekrany różną treścią.
Do czego służy tabela [dbo].[_tv_app_views]
Ekran zawieszony nad rampą albo w hali produkcyjnej jest najtańszym sposobem przekazania informacji ludziom, którzy nie siedzą przy komputerze. Kolejność obsługi pojazdów, stan realizacji zleceń, lista braków do uzupełnienia — wszystko to zyskuje, gdy jest widoczne bez logowania się do systemu. Tabela [dbo].[_tv_app_views] definiuje, co i jak długo pojawia się na takim ekranie.
Konstrukcja opiera się na dwóch osiach czasu, które łatwo pomylić. CZAS określa, ile sekund dany widok pozostaje na ekranie, zanim ustąpi kolejnemu z grupy. OKRES mówi, jak często odświeżane są dane w jego obrębie. Widok pokazywany przez trzydzieści sekund może odświeżać się co pięć, jeżeli prezentuje kolejkę pojazdów przy bramie.
Grupowanie przez REFNO_GRUPA tworzy cykl. Kilka widoków należących do jednej grupy wyświetla się po kolei, a po ostatnim prezentacja wraca do pierwszego. Przypisanie do urządzenia przez ID_URZADZENIA pozwala natomiast prowadzić różne cykle na różnych ekranach — inny nad rampą przyjęć, inny nad wydaniami.
Czas prezentacji i okres odświeżania to dwie niezależne wielkości — widok wyświetlany pół minuty może aktualizować dane co kilka sekund.
Budowa tabeli — wykaz kolumn
Dziewięć kolumn wystarcza do opisania widoku, jego miejsca w cyklu i sposobu prezentacji.
| Kolumna | Typ | Wymagana | Znaczenie |
|---|---|---|---|
CZAS | int liczba całkowita | nie | Czas prezentacji widoku w sec |
ID_URZADZENIA | int liczba całkowita | nie | Id urzadzenia z tabeli devices |
ID_WIDOKU | int liczba całkowita | tak | Id widoku |
NAZWA | varchar(50) tekst do 50 znaków | nie | Nazwa widoku |
OKRES | int liczba całkowita | nie | Okres odświeżania |
PARAMETRY | varchar(max) tekst bez limitu długości | nie | parametry widoku |
PODZIAL_EKRANU | int liczba całkowita | nie | Podzial ekranu widoku |
REFNO_GRUPA | int liczba całkowita | nie | Refno grupy widoków |
TYP | varchar(10) tekst do 10 znaków | nie | Typ widoku |
Kolumna PARAMETRY ma typ varchar(max) i mieści konfigurację zależną od typu widoku — najczęściej zakres danych, filtry albo wskazanie magazynu, którego prezentacja dotyczy.
Indeksy i wydajność zapytań
Tabela zawiera zwykle od kilku do kilkunastu wierszy odczytywanych przy uruchamianiu prezentacji, więc indeksowanie ogranicza się do klucza głównego.
| Indeks | Kolumny | Rodzaj |
|---|---|---|
PK__maps_app_views | ID_WIDOKU | klucz główny |
Klucz główny na kolumnie ID_WIDOKU jest wystarczający. Zwraca uwagę jego nazwa — PK__maps_app_views — wskazująca, że tabela powstała przez skopiowanie struktury odpowiadającej za mapy. To drobiazg bez wpływu na działanie, ale bywa mylący przy przeglądaniu schematu.
Co się sprawdza na ekranie informacyjnym
Ekran w hali czyta się z kilku metrów, przez kilka sekund, często w ruchu. To zupełnie inne warunki niż praca przy monitorze i wymagają innych decyzji.
- Jedna informacja na widok. Ekran pokazujący cztery zestawienia naraz nie zostaje przeczytany żaden.
- Czas prezentacji dobierz do treści. Lista dziesięciu pozycji wymaga dłużej niż pojedynczy wskaźnik — piętnaście sekund to zwykle minimum.
- Odświeżanie ma odpowiadać tempu zmian. Kolejka przy bramie zmienia się co chwilę, plan produkcji na zmianę — raz na godzinę.
- Unikaj kolorów o niskim kontraście. Ekran wisi zwykle w miejscu z niekontrolowanym oświetleniem, często pod światło.
- Podziel ekran tylko wtedy, gdy treści są powiązane. Kolejka pojazdów i wolne rampy tworzą całość; kolejka i plan urlopów — nie.
Najczęstszy błąd przy uruchamianiu takich prezentacji to przeniesienie na ekran zestawienia zaprojektowanego do przeglądania przy biurku. Tabela z dwudziestoma kolumnami jest czytelna na monitorze z odległości pół metra i zupełnie nieczytelna z pięciu. Widok na ekran informacyjny warto projektować od nowa, zaczynając od pytania, co ma zrobić osoba, która na niego spojrzy.
Jak korzystać z tabeli w praktyce
Przy konfigurowaniu ekranów informacyjnych sprawdzają się poniższe zasady:
- Ustawiaj
CZASproporcjonalnie do ilości treści — widok z listą wymaga dłuższej prezentacji niż pojedynczy wskaźnik. - Dobieraj
OKRESdo tempa zmian danych; zbyt częste odświeżanie obciąża bazę bez korzyści dla oglądającego. - Grupuj widoki tematycznie przez
REFNO_GRUPA, zamiast tworzyć jeden długi cykl obejmujący wszystko. - Przypisuj widoki do urządzeń świadomie — ekran nad rampą przyjęć rzadko potrzebuje tych samych danych co ekran nad wydaniami.
- Testuj prezentację w docelowym miejscu, przy rzeczywistym oświetleniu, z odległości, z jakiej faktycznie będzie oglądana.
- Sprawdzaj zapytania stojące za widokami pod kątem kosztu — wykonują się cyklicznie, niezależnie od tego, czy ktoś patrzy na ekran.
Przegląd konfiguracji ekranów wraz z długością pełnego cyklu prezentacji w każdej grupie:
SELECT REFNO_GRUPA,
ID_URZADZENIA,
COUNT(*) AS WIDOKOW,
SUM(CZAS) AS CYKL_SEKUND,
MIN(OKRES) AS NAJKROTSZE_ODSWIEZANIE
FROM dbo._tv_app_views
GROUP BY REFNO_GRUPA, ID_URZADZENIA
ORDER BY REFNO_GRUPA;
Długość cyklu warto porównać z czasem, jaki ludzie faktycznie spędzają w zasięgu ekranu. Cykl trwający pięć minut oznacza, że przechodzący obok zobaczy tylko jeden widok — przypadkowy.
Ekrany informacyjne są jedną z tych funkcji, które wdraża się szybko, a które psują się cicho: zapytanie przestaje zwracać dane, ekran pokazuje pustą tabelę i nikt tego nie zgłasza, bo nikt nie czuje się za niego odpowiedzialny. Warto wyznaczyć taką osobę już przy uruchomieniu.
Powiązane tabele i dokumentacja
Konfiguracja ekranów korzysta z definicji zestawień i danych opisanych w pozostałych tabelach: