Názvosloví klíčových sloupců tabulek

Abychom se mohli zabývat názvoslovím klíčů, musíme nejprve ujasnit, co jsou to primární a cizí klíče dokumentů a opakovaných oblastí.

Zvláštní a velmi užitečnou vlastností dokumentů a opakovaných segmentů dokumentu jsou klíče jejich instancí. Prvním údajem každého dokumentu a každého opakovaného segmentu dokumentu je primární klíč (Primary Key). Je to číselná hodnota, která jednoznačně identifikuje každou instanci dokumentu či opakovaného segmentu v rámci jiných položek stejného názvu (tj. typu). U segmentu dokumentu má primární klíč výhodu v tom, že je jedinečný i vůči klíčům instancí daného segmentu jiných dokumentů (tedy jiných instancí dokumentů). Prvek primárního klíče se v dokumentu ani segmentu v rámci XDS nedefinuje, jeho generování je zcela automatické.

Pokud v rámci jednoho dokumentu vytvoříme segment se zdrojem v dokumentu jiném (mechanismus zdroje foreign nebo initial), pak se nám v prvním dokumentu vytvoří tzv. cizí klíč (Foreign Key). To znamená, že v tabulce, do které se dokument s cizím segmentem rozkládá se vytvoří sloupec s číselnou hodnotou cizího klíče. Tato hodnota cizího klíče každé instance dokumentu ji propojuje na primární klíč instance dokumentu zdrojového.

Pokud je segment s cizím zdrojem zároveň nastaven jako opakovaný, pak se cizí klíč ukládá do tabulky opakovaného segmentu, která je podtabulkou hlavní tabulky dokumentu (má na ni relaci) nebo podtabulkou jiné podtabulky (má relaci do této "vyšší" podtabulky).

V praxi tedy mohou vzniknout dva druhy primárních a čtyři druhy cizích klíčů:

primární klíč dokumentu (Primary Document Key - pdk)

primární klíč segmentu dokumentu (Primary Segment Key - psk)

klíč nadřízeného dokumentu v tabulce segmentu (This Document Key - tdk)

klíč nadřízené oblasti (u neopak se rovná tdk) (This Area Key) - tak)

cizí klíč dokumentu (Foreign Document Key - fdk) - doplňován číslem (např. fdk1)

cizí klíč segmentu (Foreign Segment Key - fsk) - doplňován číslem (např. fsk1)

Klíče fdk a tdk jsou v podstatě oba cizí klíče odkazující na hlavní tabulku dokumentu. Liší se pouze tím, že zatímco tdk se nachází v podřízené tabulce určené pro opakovanou segment dokumentu, na jehož hlavní tabulku odkazuje, fdk je odkaz na hlavní tabulku z tabulek jiných dokumentů (kde je fdk také uložen).

Uvedené klíče jsou uloženy automaticky v každém dokumentu či opakovatelném segmentu dokumentu v podobě nedefinovaných prvků, které nemůžeme definicí ani pozměnit.


Rozkládání dokumentů do databázových tabulekNázvosloví klíčových sloupců tabulekVytváření primárních a cizích klíčů segmentů a dokumentůCo je DAD?