Search

Home

Magistrala danych

Magistrala danych

icon
BUSBAR to magistrala danych łącząca dwa operatory. Po magistralach płyną strumienie przetwarzanych danych. Strumienie możemy rozumieć jako rekordy zawierające kolumny (bity) danych.

Przykład magistral

image

Zasadniczą cechą magistrali jest jej budowa, czyli:

  • rekordy (wiersze)
  • bity (kolumny) transportujące dane w strumieniu danych, które posiadają określony typ danych (integer, text itp.)
  • magistrala jest “płaska” - dane nie posiadają zagłębień. Transportowanie danych typu rodzic → dziecko (zamówienie i jego pozycje) jest możliwe tylko poprzez powielenie danych w bitach rodzica tyle razy ile rodzic ma dzieci.
  • icon
    Operatory wyjścia oraz operatory takie jak GROUPINGGROUPING, CONVERT BITS TO FORMATCONVERT BITS TO FORMAT, REPORTREPORT potrafią grupować dane z magistrali wejściowej po wybranych kolumnach

Operatory powodujące rozgałęzienie magistrali (SPLITTERSPLITTER, IFIF) powodują duplikacje danych na dwa różne strumienie danych. W takim wypadku system zawsze w pierwszej kolejności będzie prowadził przepływ danych po górnej magistrali wychodzącej z takiego operatora.

KONFIGURACJA MAGISTRALI

Po połączeniu dwóch operatorów magistrala jest automatycznie konfigurowana na podstawie sygnału operatora źródłowego.

Zaznaczając magistrale poprzez kliknięcie myszki widzisz z jakich bitów składa się magistrala danych, bity posiadają nazwę, którą będziesz się posługiwał na operatorach, opis oraz typ.

Możesz wprowadzić samodzielnie opisy do kolumn.

image

Typ bitu odpowiada typowi danych jaki transportuje magistrala (jaki wynika z operatora źródłowego).

Dostępne typy bitów:

  • Text → tekst o dowolnej długości
  • Integer → liczby całkowite (odpowiednik typu int32)
  • Long → liczby całkowite (odpowiednik typu int64)
  • Double → liczby zmiennoprzecinkowe
  • Boolean → stan true lub false
  • DateTime → Data oraz czasem
  • Date → Data
  • Time → Czas
  • Blob → Dane binarne - trybie uruchomienia procesu manualnym jako debuger są widoczne jako Text zakodowany w base64

Z zasady typów bitów nie można zmienić na magistrali. Istnieją jednak wyjątki, w których jest to możliwe. Jest to miejsce podłączenia z operatorem typu INPUT (operatory wejścia) oraz operatory mające możliwość zmiany magistrali danych (np. CALL SQLCALL SQL). Ponieważ w tych sytuacjach operatory automatycznie rozpoznają dane jakie zaczytują istnieje możliwość korekty typu danych. Możesz jej dokonać klikając na magistralę bezpośrednio podłączoną z operatorem np. typu INPUT, a następnie modyfikując typ danych wybranego bitu.

image

Wykonując tę operację system będzie się starał propagować zamianę typu na cały projekt. Zarówno na wszystkich magistralach jak i operatorach korzystających z tego bitu typ zostanie zmieniony.

icon
Musisz mieć świadomość, że zmiany typu bitu danych na magistrali mogą prowadzić do powstania błędów, głównie na operatorach korzystających z tego bitu, z uwagi na przestrzeganie zgodności typów przez system lub po prostu brak bitu w nowej strukturze magistrali. Większość błędów zostanie zasygnalizowana ikoną na operatorze. Niestety w miejscach gdzie zostały użyte algorytmy błąd może być widoczny dopiero w trakcie uruchomienia projektu.

AUTOGENEROWANIE COLUMN

W przypadku zmian szerokości magistrali (operator WIDTH BUSBARWIDTH BUSBAR) lub ich struktury (np. opcja Create a busbar from result w operatorze CALL SQLCALL SQL lub innych zmianach) może okazać się, że konieczne będzie ponowne wygenerowanie kolumn na magistrali. W takim wypadku użyj przecisku AUTOGENERATE COLUMNS na oknie właściwości magistrali.

image

Opcja ta generuje ponownie bity magistrali na podstawie strumienia danych wychodzącego z operatora źródłowego, a system propaguje ją na wszystkie kolejne operatory i magistrale, co może powodować problemy z już zdefiniowanymi operatorami (patrz uwaga powyżej).