Sloupce

Sloupce jsou reprezentovány jako atributy tříd.

Primární klíče

Primární klíče tabulky jsou atributy, které před svým jménem obsahují *. V XMI souboru pak obsahují tagged value key a hodnotu 1.

Cizí klíče (foreign keys)

Cizí klíče nejsou explicitně uváděny jako atributy tříd. Systém je automaticky rozpozná podle vazeb. Je nutné ale zadat názvy těchto cizích klíčů a to jako jména role na straně master tabulky. Pokud je cizí klíč složen z více sloupců, pak se jednotlivá jména oddělují znakem |.

Předpokládejme, že tabulka nadrizeny má primární klíč složený ze 2 sloupců, těmi jsou jmeno a prijmeni. Tento klíč je importován do tabulky podrizeny a je potřeba je pojmenovat jako sef_jmeno a sef_prijmeni, pak roli na straně tabulky nadrizeny má jméno sef_jmeno|sef_prijmeni.

Pro přehlednost je možné také použít zkratku ve vlastnostech role. Pravidla pro zápis jsou stejná jako v případě normálního názvu role. Název role pak pozbývá svého významu jako označení jmen dovážených sloupců.

Jednoduché typy

Jednoduché typy jsou typy, které jsou v CASE definovány jako základní objektové nebo databázové typy. Do XMI jsou generovány jako DataType. Generátorem jsou pak konvertovány do podoby, která je vyžadována cílovým databázovým strojem.

Pokud má typ parametry, jedná se obvykle o délku, pak ji uvádíme do hranatých závorek, např. varchar[10] bude konvertován na varchar(10) a numeric[10][3] bude konvertován na numeric(10,3).

Pokud typ neni v UML specifikován, pak je použit typ varchar[20].

Vlastní typy

Pro generování většinou potřebujeme definovat vlastní typy, které pak používáme. To zaručuje, že stejný pojem bude mít vždy stejnou databázovou podobu.

Vlastní typ definujeme jako třídu se sterotypem typedef. Třída má pouze jeden atribut. Jeho jméno není důležité, ve výsledném generovaném SQL kódu se neobjeví.

Takto definovaný typ dále používáme namísto jednoduchého typu.

Složené typy

Složený typ definujeme jako třídu se sterotypem typedef. Složený typ obsahuje libovolný počet atributů, který by však měl být větší než 1.

Složené typy se mohou rekurzivně zanořovat.

Jména sloupců

Jména sloupců se rovnají jménům atributů, pokud však je definována abbreviation (zkratka), pak je použivata abbreviation. Jméno atributy, je pak v generování použito pouze jako komentář.

Jméno sloupce vzniklého ze složeného typu se vytváří jako jméno atributu +jméno atributu ve složeném typu. Pokud složený typ používá opět složené typy pak se postupuje rekurzivně.

Povinné sloupce

Veškeré vlastní sloupce se implicitně generují s klauzulí NOT NULL. Pokud chceme aby sloupec měl pouze klauzuli NULL je potřeba nastavit checkbox nullable příslušného atributu.

CHECK

Generování klauzulí CHECK pro sloupce a tabulky je řízeno vyplněním atributu Constraint.

Je možné využít generování se jménem zvoleného sloupce, či tabulky. Zamezíme tak problémům v případě změnu jména tabulky nebo sloupce.

Pokud použít jméno aktuálního sloupce, pak místo jeho jména použijeme ~~currfield, pro tabulku pak použijeme ~~currtab.

DEFAULT

Default klauzule je podoporovaná přímo v UML. Její zápis je:

					sloupec: typ = "implicitní hodnota"
				
Takto nadefinovaná hodnota se použije jako DEFAULT klauzule při generování SQL dávek.