Vytvoření vazby na jinou tabulku

Top  Previous  Next

Vazby se v Kevisu tvoří pomocí položek typu "vazba", které je třeba založit jak v návazné, tak zdrojové tabulce pro každou vazbu zvlášť. Lze tvořit vazby 1:1, 1:N, N:1 a M:N.

 

Příklad: Chcete vytvořit vazbu mezi tabulkami Budova - Místnost. Vazba bude 1:N, protože v našem modelovém případě bude každá budova mít víc místností, naopak každý místnost patří jen do jedné budovy.

Postup

1. V tabulce Budova vytvořte položku typu "vazba" a nazvěte ji například Místnosti.

2. V tabulce Místnosti vytvořte položku Budovy.

 

3. Z rozbalovacího menu vyberte vazební položku z druhé tabulky (Evidence místností) a klikněte na tlačítko tl_pokracovat.

Nyní máte v tabulce Budov položku s Místnostmi, u které je aktivní tlačítko tl_vazba (u položek jiného typu je toto tlačítko zašedlé). Po kliknutí na tlačítko vazba se otevře formulář pro zadání vazby.

 

4. Z položky "typ vazby" - vyberte typ vazby (1:N).

5. Vyberte položky z obou tabulek - obsah vybraných položek se bude zobrazovat ve vazební položce příslušné tabulky.

Maximální počet takto zobrazených položek lze nastavit globálně v konfiguraci KEVISu, obvykle se nepoužívá víc položek než tři.

6. V položkách "zobrazené položky z 1. a 2. tabulky" jsou vybrané položky, které se budou zobrazovat ve vazební položce opačné tabulky.

7. Dále máte možnost nastavit integritu vazby, tj. chování návazných záznamů při mazání v provázaných tabulkách. Integrita se nastavuje obousměrně, tj. může být rozdílné chování (mazání) záznamů podle toho, v které tabulce mažete záznam.

administratorska_sprava_polozky_vazba_integrita

 

Defaultní nastavení (stávající stav) pouze smaže vazby a záznam(y) v druhé tabulce zůstanou.

Kaskádní mazání způsobí, že se prochází všechny návazné záznamy a postupně se všechny smažou. Tuto metodu je potřeba důsledně promyslet, protože při nevhodném nastavení Vám smazání jednoho záznamu způsobí vymazání celé řady dalších záznamů a to i v jiných tabulkách, pokud bude všude nastavena tato metoda. Např. v našem příkladu při nevhodném kaskádním mazání z místnosti na budovu by smazání jedné místnosti mohlo způsobit smazání budovy a všech ostatních místností v této budově . Vhodné je toto pouze opačně, kdy rušíte budovu a tím zrušíte všechny místnosti.

Restriktivní chování umožňuje smazat pouze záznamy pokud nemají další vazbu. V opačném případě není záznam smazán. Např. v našem příkladu by nebyla z místnosti smazána budova, protože má ještě další místnosti.

8. Stiskněte tlačítko tl_dokoncit a vazba se uloží.

 

administratorska_sprava_polozky_vazba

Výsledek

Při přidání nového (nebo editaci stávajícího) záznamu v uživatelské části bude možné přiřadit k záznamu odpovídající obsah vazební položky z druhé tabulky (v tomto případě bude možné přiřadit budově více místností). Vazba bude funkční i "z druhé strany" - z tabulky místností, kde bude možné přiřadit ke každé místnosti (nebo žádnou) budovu.

 

Budeme-li chtít později vytvořit další vazby mezi tabulkami, musíme vytvořit další položky typu "vazba" v obou tabulkách a postupovat stejným způsobem.

 

Tímto způsobem lze navázat i položky tabulek z různých evidencí. Takto je tedy možné navázat jednu tabulku i do více evidencí a použít ji tak jako vícehodnotový číselník. Např. tabulku zaměstnanců lze takto postupně navázat do telefonního seznamu, seznamu kanceláří, evidenci služebních aut apod.

Vzhled vazeb

Vzhled zobrazení vazeb je možné ovlivnit v konfiguraci aplikace. Níže uvedené parametry umožní zkrátit popisy vazeb a zpřehlední se tabulky.

Pro vzhled vazeb slouží parametry:

CFG_VAZBY_KRATSI_FILTR - nastavený parametr způsobí, že dojde ke zkrácení popisů vazeb ve filtrech a minifiltrech (např. "Místnost --> Název místnosti" se zkrátí na "Název místnosti").
CFG_VAZBY_KRATSI_HEADER - nastavený parametr způsobí, že dojde ke zkrácení popisů návazných sloupců v tabulce (např. "Místnost [Název místnosti]" se zkrátí na "Název místnosti").

 

Poznámka

Při tvorbě vazeb nejsou z hlediska uživatele důležité názvy položek, ale jejich popis, který se zobrazuje v uživatelské části. Na výše uvedeném příkladu se používají popisy Výtah a Obsluha výtahu.