Skip to main content

Rozklad dokumentů v databázi

Dokumenty a jejich uspořádání mají určující význam pro relační databázový model dané aplikace. Ta se totiž vytváří a doplňuje v závislosti na vytváření a úpravách dokumentů a jejich struktury v XDS. Ve Flexideo nejsou dokumenty uloženy přímo v XML, ale jsou rozloženy do relačních tabulek podle definice každého dokumentu.

V praxi to znamená, že se nenavrhuje struktura tabulek, ale struktura dokumentů a propojení jejich segmentů a z této struktury se automaticky generuje struktura relačního databázového modelu. Každý specifikovaný dokument (lépe řečeno typ dokumentu, protože se nejedná ještě o vlastní instance dokumentů, ale zatím pouze o definování struktury typu dokumentu) má podle těchto pravidel minimálně jednu tabulku, která jej reprezentuje.

V této tabulce se uchovávají přímé prvky tohoto typu dokumentu. Pokud dokument obsahuje segment, kde je zapotřebí pro jeden dokument obsáhnout (například tabulkovým způsobem) několik položek - jedná se o tzv. opakovatelný segment - vygeneruje se pomocná tabulka (případně tabulky) v databázi s patřičnou relací.

Podřízené stránky

📄️Vytváření primárních a cizích klíčů segmentů a dokumentů

Pro správné pochopení struktury tabulek je třeba vědět, co jednotlivé klíče reprezentují. To nejlépe ukážeme na způsobu rozkládání dokumentů do tabulek. Nejjednodušší případ nastává u dokumentu bez opakovaného segmentu a bez odkazování na cizí dokument. Pro takový dokument se vytvoří jedna tabulka, která bude mít v prvním sloupci hodnoty primárních klíčů jednotlivých instancí daného typu dokumentu (pdk - viz dokument A na obrázku).