4.8. Obsługa relacji pomiędzy danymi

Od wersji 6 .1 pakietu asix istnieje możliwość deklarowania powiązań (relacji) pomiędzy danymi rejestrowanymi w bazie danych AsBase - dotyczy to zestawów rejestracji jak i receptur.

 

Dostępne mechanizmy pozwalają na tworzenie następujących rodzajów relacji:

  1. Rekord nadrzędny (master) pochodzi z tablicy ładowań receptur a rekordy podrzędne (details) pochodzą z archiwum zestawu rejestracji. Polem nadrzędnym relacji jest identyfikator załadowania receptury, natomiast polem podrzędnym (details) może być dowolnie wybrane pole zestawu rejestracji. Użytkownik może zobaczyć relację rozwijając wybrany rekord w historii ładowań receptur.

  2. Rekord nadrzędny (master) oraz rekordy podrzędne (details) pochodzą z zestawu rejestracji. Polem nadrzędnym (master) relacji oraz polem podrzędnym (details) może być dowolnie wybrane pole w każdym zestawie rejestracji. (Użytkownik może zobaczyć relację rozwijając wybrany rekord w archiwum zestawu rejestracji).

  3. Rekord nadrzędny (master) pochodzi z archiwum zestawu rejestracji a rekord podrzędny (jeden) z historii ładowań receptury. (Użytkownik może zobaczyć relację rozwijając wybrany rekord w archiwum zestawu rejestracji).

 

 

Powiązania (relacje) pomiędzy danymi tworzone są w zależności od potrzeby w następujący sposób:

 

1. Ad. relacji pomiędzy tablicą historii ładowań receptur a archiwum zestawu rejestracji

 

W przypadku relacji pomiędzy tablicą historii ładowań receptur a archiwum zestawu rejestracji do łączenia zawsze wykorzystywany jest unikalny identyfikator załadowania receptury oraz dowolne pole podrzędne (detail) z zestawu rejestracji. Połączenie definiujemy na etapie definiowania grup receptur na zakładce Relacje:

AsBase => Konfiguracja => Grupy receptur => <nazwa zdefiniowanej grupy receptur> => zakładka Relacje

 

W polu Archiwum należy określić zestaw rejestracji.

W polu Pole należy określić pole, które posłuży do połączenia.

 

 

Unikalny identyfikator ładowania receptury można odczytać przez zmienną Asmena przypisaną do ukrytego pola w rekordzie receptury. Tą samą zmienną należy podpiąć do pola podrzędnego (detail) z zestawu rejestracji.

 

 

Poniżej przykład powiązania pomiędzy recepturą mycia linii produkcyjnej a zestawem parametrów rejestrowanych na poszczególnych fazach mycia linii. Przeglądanie relacji - patrz: Wizualizacja relacji.

 

Picture 4080

Rys. Definiowanie relacji pomiędzy tablicą historii ładowań receptur a archiwum zestawu rejestracji.

 

 

Picture 4086

Rys. Deklaracja zmiennej dla ID ładowania receptury.

 

 

Picture 4101

Rys. Deklaracja zmiennej dla pola podrzędnego (detail) z zestawu rejestracji.

 

 

 

 

 

 

2. Ad. relacji pomiędzy zestawami rejestracji

 

 

W przypadku zestawów rejestracji - każde pole zestawu może być polem nadrzędnym (master), dlatego istnieje możliwość definiowania relacji dla każdego pola osobno. W tym celu wiersz definicji pola zawiera kolumny: Unikalne i Relacje.

 

Kolumna Unikalny zawiera checkbox określający unikalność pola.

 

Kolumna Relacje daje możliwość utworzenia połączenia z polem podrzędnym (detail) z innego zestawu rejestracji. Połączenie to definiowane jest jako tekst: nazwa_archiwum(nazwa_pola_podrzędnego). Dla ułatwienia, kliknięcie w komórce kolumny Relacje uruchamia edytor z dostępem do zdefiniowanych zestawów rejestracji oraz ich pól (pola edytora: Archiwum oraz Pole).

 

W celu zapewnienia odpowiedniego typu relacji pomiędzy tabelami zestawów rejestracji należy odpowiednio oznaczyć pola łączące tabele jako unikalne:

 

Rys. Przykład deklaracji relacji 1:n pomiędzy zestawami rejestracji.

 

 

 

Wizualizacja relacji

 

Przeglądanie danych relacyjnych w układzie hierarchicznym polega na wyświetleniu w jednej tabeli wierszy tabeli nadrzędnej (master) razem z powiązanymi z nimi wierszami tabeli podrzędnej (details).

Aby uzyskać taki widok - należy przejść do tabeli nadrzędnej (historia ładowań receptur lub archiwum zestawu rejestracji) i wybrać komendę Pokaż szczegóły z menu Widok > Tabele.

 

Picture 4217

Rys. Wizualizacja relacji w układzie hierarchicznym - master: historia ładowania receptur; details: archiwum zestawu rejestracji.

 

 

Picture 4227

Rys. Wizualizacja relacji w układzie hierarchicznym - master: archiwum zestawu rejestracji; detail: archiwum zestawu rejestracji.

 

 

W celu poprawnego zdefiniowania odwołania do tabel relacyjnych należy odpowiednio skonfigurować obiekt AsBase. Po nadaniu nazwy i identyfikatora obiektu należy zdefiniować typ danych źródłowych tabeli nadrzędnej (historia ładowań receptur lub zestaw rejestracji). Następnie jako źródło danych nadrzędnych należy wskazać grupę receptur lub zestaw rejestracji i powiązany z nimi zestaw zmiennych. Podobnie należy wskazać źródło danych podrzędnych (zestaw rejestracji) i powiązany z nim zestaw zmiennych.

 

Picture 4261

Rysunek: Parametryzacja obiektu AsBase.

 

 

Przeglądanie danych relacyjnych powoduje jednoczesny odczyt danych zarówno z tabeli nadrzędnej jak i podrzędnej. Przeglądanie danych relacyjnych prezentuje poniższy rysunek.

Picture 4270

Rysunek: Nawigacja po rekordach danych relacyjnych.

 

 

W celu poprawnego zdefiniowania filtrowania lub sortowania danych w czasie odwołań do tabel relacyjnych należy odpowiednio oznaczyć kolumny, których dotyczą poszczególne warunki sortowania lub filtrowania.

 

Dla pól (kolumn) pochodzących z tabeli nadrzędnej (master) stosujemy przedrostek "m”.

Dla pól (kolumn) pochodzących z tabeli podrzędnej (detail) stosujemy przedrostek "d”.

 

Picture 4297

Rys. Przykład filtru.