Uživatelská příručka

E-R Modeller v4.0

Obsah

 

1.      Úvod.. 5

2.      Popis programu.. 5

2.1.        Popis prostředí 5

2.2.        Ovládání 7

2.3.        Vzhled prostředí aplikace. 8

2.4.        Volby zobrazení detailů schématu.. 8

3.      Tvorba schématu.. 8

3.1.        Grafické notace a jejich přepínání 8

3.2.        Vytvoření entitního typu.. 9

3.3.        Vytvoření vztahového typu a účasti entitního typu ve vztahu.. 10

3.4.        Operace s entitním typem... 11

3.5.        Operace se vztahovým typem... 15

3.6.        Operace s atributem... 17

3.7.        Operace s účastmi 20

4.      Načtení a uložení schématu.. 21

5.      Tisk.. 21

5.1.        Tisk do souboru.. 22

5.2.        Tisk na tiskárnu.. 23

6.      Tvorba a editace uživatelem definovaných datových typů.. 24

6.1.        Tvorba nového typu.. 24

6.2.        Editace existujícího uživatelem definovaného typu.. 27

6.3.        Smazání existujícího uživatelem definovaného typu.. 28

6.4.        Ošetření chyb.. 28

6.5.        Kontrola v průběhu vytváření schématu.. 28

6.6.        Kontrola na vyžádání 29

6.6.1.     Vazba mezi dialogem chyb a pracovní plochou. 31

7.      Slévání schémat.. 31

8.      Generování SQL.. 33

8.1.        Zobrazení výsledné příkazové dávky SQL. 34

9.      Nastavení programu.. 35

9.1.        Dialog s nastaveními programu.. 35

9.2.        Konfigurační soubor.. 38

10.        Závěr.. 40

 

1.     Úvod

Aplikace ER Modeller je program pro vytváření ER konceptuálních schémat. Schémata lze kreslit pomocí jedné ze 3 grafických notacích – Chenova, binární a UML notace. Výběr grafické notace je možno měnit i během práce se schématem. Je pouze nutno ctít omezení zobrazení některých grafických konstruktů. U vytvořených schémat lze kontrolovat konzistenci a následně lze schémata exportovat do SQL.

2.     Popis programu

2.1.    Popis prostředí

Uživatelské rozhraní aplikace se skládá z 5 základních částí (viz. Obrázek 1).

 

Obrázek 1 - Rozdělení plochy aplikace

 

·        V horní části je zobrazeno hlavní menu, které obsahuje všechny nástroje, nastavení a nápovědu. Popis položek naleznete v kapitole 2.1.1.

·        Pod hlavním menu je umístěna  lišta s tlačítky - ToolBar. Před vlastními tlačítky je umístěna informační ikona, ve které se zobrazuje symbol aktuálně prováděné činnosti. V liště jsou dále tlačítka pro běžné operace a rozbalovací roleta pro volbu měřítka zobrazení. Jejich přehled a popis naleznete v kapitole 2.1.2.

·        Hlavní část tvoří pracovní plocha, kde se provádí vlastní návrh ER konceptuálního schématu. Na okrajích pracovní plochy jsou posuvníky sloužící pro pohyb s pracovní plochou.

·        V pravé části je umístěn panel s vlastnostmi aktuálně vybraného objektu. Pro každý objekt jsou  zobrazeny pouze vlastnosti typické pro daný objekt a všechny jsou editovatelné.

·        V dolní části aplikace se nachází informační panel, kde jsou zobrazeny informace o aktuální grafické notaci a nastavení detailů zobrazení.

 

Ovládací elementy aplikace mají k dispozici tzv. tipy - krátké popisky stručně vysvětlující význam příslušného elementu. Tento popis mají všechna tlačítka, veškeré přepínače a štítky u zadávacích polí. Tip se zobrazí, pokud zastavíte kurzor myši nad daným elementem a několik okamžiků vyčkáte.

2.1.1.    Popis položek hlavního menu:

 

Obrázek 2 - Strom hlavního menu

 

Složka FILE:

  • New..         vytvoří prázdnou pracovní plochu pro tvorbu nového schématu
  • Open..        otevře existující schéma z XLM souboru
  • Save..         uloží vytvořené schéma včetně uživatelsky definovaných datových typů do XML souboru
  • Print..         vytiskne schéma do souboru jako bmp nebo na tiskárnu
  • Exit            zavře aplikaci; pokud byly provedeny změny ve schématu, které nejsou uloženy, vyvolá se dialog s nabídkou uložení schématu

 

Složka VIEW:

  • Graphic notation       složka s výběrem grafické notace, do které je možno zobrazení přepnout (Chenova, binární a UML)
  • Level of details         složka s výběrem zobrazení s různým stupněm detailů
  • Refresh schema        překreslí všechny objektu na pracovní ploše

 

Složka TOOLS:

  • Merge schemas        otevře schéma, které se přilije k vytvářenému
  • Check consistency    otevře dialog s kontrolou konzistence vytvořeného schématu
  • Generate SQL           vygeneruje SQL dávku z vytvořeného schématu
  • Edit user def. data types      otevře dialog pro vytváření a editaci uživatelsky def. datových typů

 

Složka SETTINGS:

  • Look & Feel  složka s výběrem vzhledu aplikace
  • Options          otevře dialog s nastavením parametrů aplikace

 

Složka HELP:

  • Help contents otevře nápovědu
  • About             otevře dialog s informacemi o aplikaci

 

2.1.2.    Význam jednotlivých ikon v liště s tlačítky

           - vytvoří nové schéma

           - otevře existující schéma

           - uloží schéma

           - vytiskne schéma do souboru nebo na tiskárnu

           - překreslí schéma

           - otevře přilévané schéma

           - zkontroluje konzistenci vytvořeného schématu

           - vygeneruje SQL

           - nastaví mód pro přidávání a editaci objektů

           - nastaví mód pro mazání objektů

           - vytvoří nový entitní typ

           - minimalizuje velikost všech objektů

           - otevře dialog pro vytváření a editaci uživatelsky def. datových typů

           - otevře nápovědu

2.2.    Ovládání

Program se ovládá převážně myší, pouze pro zadávání čísel a řetězců je nutno použít klávesnici.

 

Při vytváření schématu jsou všechny funkce (vytváření, dekompozice, editace a mazání objektů) přístupné z příslušného lokálního kontextového menu, které se vyvolává stiskem pravého tlačítka myši na objektu nebo pracovní ploše. POZOR, pro vyvolání lokálního menu musí být kurzor myši v okamžiku stisku nehybný.

 

S objekty na pracovní ploše můžete pohybovat – držením levého tlačítka myši a táhnutím po ploše. Dále můžete měnit velikost u objektů, které tuto akci podporují - kliknutím do objektu jej označíte (v rozích a středech stran se zobrazí 8 malých čtverečků) a chycením a posunem jednoho z nich měníte velikost v příslušném směru.

Pracovat můžete ve 2 režimech, které se přepínají na liště tlačítky  a  (význam tlačítek viz. kapitola 2.1.2). Pracovní mód slouží pro přidávání a editaci objektů na pracovní ploše, mód pro mazání objektů objekty odstraňuje.

2.3.    Vzhled prostředí aplikace

V hlavním menu po zvolení  SETTINGS -> LOOK & FEEL si můžete vybrat ze 3 barevných schémat (METAL, WINDOWS a MOTIF) kliknutím na příslušnou položku.

2.4.    Volby zobrazení detailů schématu

V aplikaci je možno vytvářet rozsáhlá schémata. Proto bylo od verze 4.0 implementováno zobrazování schémat (pro lepší přehlednost) i bez některých detailů a to konkrétně ve 3 stupních:

Full details          – schéma se zobrazuje se všemi podrobnostmi

Medium details    – schéma se zobrazí bez atributů, které nejsou součástí primárního klíče a v UML notaci i bez Constraints

Low details          - schéma se zobrazí bez atributů a v UML notaci i bez Constraints

 

Volbu zobrazení detailů přepnete v hlavním menu příslušnými položkami ve složce VIEW -> LEVEL OF DETAILS.

 

3.     Tvorba schématu

3.1.    Grafické notace a jejich přepínání

Jak již bylo uvedeno v úvodu, schéma je možné modelovat v jedné ze 3 grafických notací - Chenově, binární nebo UML. Než schéma začnete vytvářet, nejprve si rozmyslete ve které grafické notaci budete schéma tvořit. Každá grafická notace má svá specifika, která neumí zobrazit ostatní notace, a tudíž přepínání mezi notacemi má svá omezení (některé informace nejsou v ostatních notacích zobrazitelné a některé propojení prvků je dokonce zakázané).

 

Přepínat grafické notace lze i během práce, ale může se stát, že ve schématu bude nutno některé objekty dekomponovat nebo smazat. Na omezení při přepínání notací budete upozorněni v dialogu pro přepínání notací (viz. Obrázek 3).

 

Grafickou notaci přepnete z hlavního menu ve složce VIEW -> GRAPHIC NOTATION stiskem položky požadované notace. Následně se otevře dialogové okno, ve kterém jsou všechna omezení přepnutí na požadovanou notaci uvedena včetně seznamu objektů, které nesplňují kritéria notace do které přepínáte. Akce, která bude s nevyhovujícími objekty provedena je v popisu přepínání též specifikována.

 

Obrázek 3 - Dialog pro přepínání notací

 

V následujícím popisu budete na příslušné rozdíly tvorby schématu v různých grafických notacích upozorněni.

3.2.    Vytvoření entitního typu

Pro vytvoření entitního typu existují 2 rovnocenné postupy.

·        Na liště s tlačítky stisknete tlačítko  - vytvoření nového entitního typu (zkráceně entity). Poté přesunete kurzor na pracovní plochu. Symbol kurzoru se změní na kříž a v informační ikoně se zobrazí symbol pro přidávání entity. Stiskem levého tlačítka myši vytvoříte nový entitní typ, jehož levý horní roh je usazen do místa, kde bylo kliknuto. Nové entitě je přiděleno generické jméno ENTITYxx, kde xx je automatické pořadové číslo.

 

  • Po stisku pravého tlačítka myši na pracovní ploše (nesmíte jej stisknout na žádném existujícím objektu) se zobrazí lokální kontextové menu, viz. Obrázek 4.

 

Obrázek 4 -Lokální kontextové menu pracovní plochy

 

Položka Add entity přidá entitní typ do schématu.

Položka Add relationship přidá vztahový typ do schématu (k dispozici pouze u Chenovy grafické notace).

 

Po zvolení možnosti Add Entity se kurzor změní na kříž a indikace módu aplikace se změní na mód přidávání entity. Stiskem levého tlačítka myši vytvoříte v místě kurzoru nový entitní typ.

 

3.3.    Vytvoření vztahového typu a účasti entitního typu ve vztahu

Nový vztah mezi dvěma entitními typy navážete tak, že u jedné z entit vyvoláte lokální kontextové menu stiskem pravého tlačítka myši na objektu a vyberete položku Add Relationship to other Entity. Kurzor se změní na kříž, který přesunete nad entitní typ, který chcete zapojit do vztahu a stisknete levé tlačítko myši. Vytvoří se vztahový typ s účastmi k oběma entitním typům. Všechny nové objekty mají generická jména.

 

V případě, že máme vztahový typ vytvořen, je možné entitní typ zapojit do vztahu – spojit ho účastí se vztahovým typem. Vytvoření účasti je možné několika způsoby.

 

·        Na vztahovém typu vyvoláte stiskem pravého tlačítka myši lokální menu a vyberete položku Add connection to entity.... Kurzor se změní na kříž a ikona symbolizující mód na přidávání. Kurzor umístíte nad entitu, ke které chcete účast zapojit a stiskem levého tlačítka myši vytvoříte účast.

·        Na entitním typu vyvoláte stiskem pravého tlačítka myši lokální menu a vyberete položku Add connection to relationship.... Kurzor se změní na kříž a ikona symbolizující mód na přidávání. Kurzor umístíte nad vztahový typ, ke kterému chcete účast připojit a stiskem levého tlačítka myši účast vytvoříte.

·        Stále funkční způsob přidávání z předchozích verzí je následující: uchopíte entitní typ pravým tlačítkem myši  táhnete se stisknutým pravým tlačítkem nad požadovaný vztahový typ, dokud se kurzor nezmění na ruku. Poté upustíte entitní typ na vybraný vztahový typ. V případě, že pracujete v Chenově notaci se změní kurzor na kříž a stiskem levého tlačítka umístíte integritní omezení (dále IO) vztahu na plochu, v ostatních notacích se umístí účast rovnou. Stejně lze postupovat ze strany vztahového typu a upustit ho na entitní typ.

 

V závislosti na grafické notaci vznikne obdobný fragment schématu, jako jedna varianta z následujícího obrázku (viz. Obrázek 5).

 

Obrázek 5 - Vztah mezi entitními typy (nahoře Chenova notace, uprostřed binární a dole UML)

 

3.4.    Operace s entitním typem

Většina operací, které lze s entitním typem provádět  (kromě změny jména), se zobrazí v lokálním kontextovém menu po stisknutí pravého tlačítka myši na entitním typu (viz. Obrázek 6).

Obrázek 6 - Lokální kontextové menu entitního typu

 

3.4.1.    Změna jména

Jméno entitního typu se mění na panelu vlastností umístěném v pravé části aplikace, stejně jako jména všech ostatních objektů. Do položky name napíšete jméno a potvrdíte klávesou „ENTER“, „TAB“ nebo stiskem levého tlačítka myši na další položku v panelu.

3.4.2.    Přidání atributu

Přidání atributu se provádí volbou Add atribute v lokálním kontextovém menu. V případě práce v Chenově grafické notaci se kurzor změní v kříž a stisknutím levého tlačítka myši na pracovní ploše atribut na příslušné místo vložíte. V ostatních notacích se atribut automaticky vloží na poslední místo do příslušného entitního typu.

3.4.3.    Navázání vztahu s jiným entitním typem a přidání účasti ke vztahu

Postup popsán v kapitole 3.3.

3.4.4.    Vytvoření entitního podtypu

Podtyp z entitního typu vytvoříte jedním ze dvou způsobů:

·        pokud entitní typ není již podtypem jiného entitního typu, použijete v lokálním menu položku Set as ISA child of… , po jejím zvolení se kurzor přepne na kříž. Kurzor přesunete nad entitní typ, který se má stát nadtypem a stisknete levé tlačítko myši, čímž se entitní typ zařadí do hierarchie objektů.

·        uchopíte entitní typ, který se má stát podtypem, pravým tlačítkem myši a táhnete jej nad entitní typ, který se má stát jeho přímým nadtypem. Po změně kurzoru na ruku upustíte tažený entitní typ na nadtyp. Entitní typ je zařazen do hierarchie objektů.

 

Příklad ISA hierarchie naleznete na následujícím obrázku (viz. Obrázek 7).

 

Obrázek 7 - Příklad ISA hierarchie; Chenova notace vlevo, binární vpravo

 

3.4.5.    Vyjmutí podtypů z hierarchie objektů

V případě, že je entitní typ nadtypem, objeví se v jeho lokálním menu navíc volba Remove ISA childs. V případě, že je podtypem, objeví se volba Reset ISA parent. A jestliže je nadtypem i podtypem zároveň, bude mít v lokálním menu položky obě (viz. Obrázek 7).

 

Obrázek 8 - Položky lokálního menu pro rozbití ISA vztahu

 

Pokud chcete odstranit z entitního nadtypu všechny podtypy, stisknete volbu Remove ISA child. Pokud chcete entitní podtyp odstranit z ISA hierarchie, stiskněte volbu  Reset ISA parent.

V obou případech odebrané entitní typy „odskočí“ doprava, takže je na první pohled patrné, které entitní typy byly odebrány.

3.4.6.    Dekompozice s použitím identifikační závislosti

Entitní typ lze dekomponovat na dva ve dvou krocích.

  1. Z lokálního menu entity vyberete volbu Add identification dependent entity. Po zvolení se kurzor změní na kříž a stiskem levého tlačítka myši lze umístit nově vzniklý entitní typ na plochu. Společně s vytvořením entitního typu se vytvoří i identifikační závislost na původním entitním typu (příklad viz. Obrázek 9).
  2. Atributy si můžete přenést z původní entity na novou a zpět. Stisknete a držíte pravé tlačítko myši na atributu a přesunete jej nad entitní typ, ke kterému jej chcete zapojit, a atribut zde upustíte.

Obrázek 9 - Příklad identifikační závislosti (slabá entita vpravo)

 

3.4.7.    Dekompozice s použitím vztahového typu

Dekomponovat entitní typ lze i s využitím vztahového typu a to opět ve 2 krocích.

 

1.      Zvolením volby Add relationship to new entity… se změní kurzor na kříž a stiskem levého tlačítka myši umístíte na plochu nový entitní typ a vztahový typ. Do vztahového typu jsou původní a nový entitní typ zapojeny s účastí (1,1) – unární a povinná účast (příklad viz. Obrázek 10).

2.      Atributy si můžete přenést z původní entity na novou a zpět. Stisknete a držíte pravé tlačítko myši na atributu a přesunete jej nad entitní typ, ke kterému jej chcete zapojit, a atribut zde upustíte.

 

Obrázek 10 - Použití Add relationship to new entity

 

3.4.8.    Slévání entitních typů

Pro slévání entitních typů zvolíte položku Compose entity with z lokálního menu jednoho z entitních typů. Poté vyberete entitní typ se kterým chcete entitní typ slít. Při přesunu nad jiným entitním typem se kurzor změní na ruku a po stisknutí levého tlačítka myši dojde k přilití tohoto entitního typu do entitního typu, ze kterého byla akce vyvolána. Přepojí se všechny jeho atributy, účasti ve vztahu, identifikační závislosti a ISA podtypy. Následné konflikty lze řešit v dialogovém okně kontroly konzistence schématu.

3.4.9.    Přizpůsobení velikosti obsahu

Po stisku položky Readjust size z lokálního menu se velikost entity zmenší na minimální přizpůsobenou elementům uvnitř entitního typu (jménu, ISA podtypům, v binární notaci atributům, v UML notaci ještě jejich datovým typům).

3.4.10.Vytvoření a editace Constraints

U každého entitního typu můžete zadat další omezení. V lokálním menu entitního typu stisknete  položku Edit constraints a otevře se dialogové okno – textový editor (viz. Obrázek 11), do kterého můžete zapsat omezení.

Obrázek 11 - Editor pro vytvoření a editaci Constraints

 

Tyto omezení jsou zobrazitelná z definice grafických notací pouze v UML notaci. Příklad entitního typu s vyplněným Constraints naleznete na následujícím obrázku (viz. Obrázek 12).

 

Obrázek 12 - Entitní typ v UML notaci s Constraints

 

3.4.11.Smazání entitního typu

Smazání entitního typu se provede volbou položky Delete z lokálního menu nebo označením objektu stiskem levého tlačítka myši na objektu a stiskem klávesy „Delete“. Spolu s entitním typem se též odstraní všechny identifikační závislosti, všechny podtypy odstraňovaného entitního typu a všechny účasti tohoto entitního typu i případných podtypů ve vztazích.

3.4.12.Nastavení primárního klíče

Primární klíč je nastavován pomocí příslušné volby u atributu, který do primárního klíče chcete zapojit. Postup je popsán v kapitole 3.6.3.

3.4.13.Vytvoření slabého entitního typu (vytvoření identifikační závislosti)

Identifikační závislost se vytvoří pomocí navázání identifikačního spojení mezi dva entitní typy. Pravým tlačítkem myši vyvoláte lokální kontextové menu budoucího identifikačně závislého entitního typu, vyberete položku Add identification dependency on… a kurzor se změní na kříž. Kurzor přesunete nad entitní typ, který se má stát identifikačním vlastníkem, stisknete levé tlačítko myši a vytvoří se vztah.

Příklad identifikační závislosti je zobrazen na následujícím obrázku (viz Obrázek 13).

 

Obrázek 13 - Příklad identifikační závislosti

 

3.4.14.Zrušení identifikační závislosti

Identifikační závislost se zruší z  lokálního menu identifikační závislosti volbou její jediné položky Delete nebo stiskem klávesy „Delete“ po jejím označení.

3.5.    Operace se vztahovým typem

Veškeré činnosti spojené se vztahovým typem (kromě změny jména) naleznete v jeho lokálním kontextovém menu (viz. Obrázek 14), které vyvoláte stiskem pravého tlačítka myši nad zvoleným vztahovým typem.

 

Obrázek 14 - Lokální kontextové menu vztahového typu

3.5.1.    Změna jména

Jméno vztahového  typu se mění na panelu vlastností umístěném v pravé části aplikace, stejně jako jména všech ostatních objektů. Do položky name napíšete jméno a potvrdíte klávesou „ENTER“, „TAB“ nebo stiskem levého tlačítka myši na další položku v panelu.

3.5.2.    Přidání atributu

Atributy ke vztahovým typům lze přidat pouze v Chenově notaci (UML notace podporuje atributy u vztahových typů sdružené v Association Class, ale ta není v ERM v4.0 naimplementována).

 

Přidání atributu ke vztahovému typu se provede volbou položky Add atribute v lokálním menu. Kurzor se změní na kříž a indikovaný mód aplikace se změní na přidávání atributu. Stiskem levého tlačítka myši na zvoleném místě umístíte nový atribut na plochu.

 

Příklad atributu připojeného do vztahového typu je uveden na následujícím obrázku (viz. Obrázek 15).

 

Obrázek 15 - Vztahový typ s atributem

 

3.5.3.    Dekompozice pomocí slabého entitního typu

Dekompozici pomocí slabého entitního typu provedete volbou položky Decompose v lokálním menu vztahového typu. Vztahový typ je nahrazen slabým entitním typem, který je identifikačně závislý na všech entitních typech původně zapojených do vztahu (spojených s původním vztahovým typem).

 

Vztah před a po dekompozici je zobrazen na následujících 2 obrázcích (viz. Obrázek 16 a Obrázek 17).

 

Obrázek 16 - Dekompozice pomocí slabého entitního typu - před dekompozicí

 

Obrázek 17 - Dekompozice pomocí slabého entitního typu - po dekompozici

 

3.5.4.    Slévání vztahových typů (pouze v Chenově notaci)

Pro slévání vztahových typů v Chenově notaci zvolte položku Compose with z lokálního menu vztahového typu. Při přesunu kurzoru přes jiný vztahový typ dojde ke změně symbolu kurzoru na ruku a stisknete-li levé tlačítko myši nad vztahovým typem, dojde k přilití tohoto vztahového typu. Přepojí se všechny jeho atributy a účasti. Následně vzniklé konflikty lze řešit v dialogovém okně kontroly konzistence schématu.

 

V binární a UML notaci jsou povoleny pouze binární vztahy a proto v nich není umožněno slévání vztahových typů.

3.5.5.    Smazání vztahového typu

Smazání vztahového typu provedete volbou položky Delete z lokálního menu nebo označením objektu stiskem levého tlačítka myši na objektu a stiskem klávesy „Delete“.

 

Spolu se vztahovým typem se odstraní i všechny účasti entitních typů ve vztahu, který tento vztahový typ reprezentuje.

3.6.    Operace s atributem

Většina operací je prováděna z lokálního kontextového menu atributu a změna vlastností je prováděna z panelu vlastností (viz. Obrázek 18). Počet položek v menu atributu závisí na vlastníkovi (entitní nebo vztahový typ), zvolené grafické notaci a vlastnostech atributu.

 

¨                   

Obrázek 18 - Lokální kontextové menu a panel vlastností atributu

 

3.6.1.    Vytvoření atributu

Nový atribut je vytvářen volbou položky Add atribute u entitního typu, ke kterému má být vytvořen. Ke vztahovému typu lze stejným způsobem atribut vytvořit, ale pouze v Chenově grafické notaci.

3.6.2.    Změna jména

Jméno atributu se mění na panelu vlastností umístěném v pravé části aplikace, stejně jako jména všech ostatních objektů. Do položky name napíšete jméno a potvrdíte klávesou „ENTER“, „TAB“ nebo stiskem levého tlačítka myši na další položky v panelu.

3.6.3.    Přidání/odebrání atributu z primárního klíče

Přidání nebo odebrání atributu z primárního klíče lze provést 2 rovnocennými způsoby.

·        V lokálním menu, pokud atribut není součástí primárního klíče, zvolíte položku Set primary. V případě, že atribut je součástí primárního klíče, můžete využít položku Reset primary pro odebrání z primárního klíče.

·        V panelu vlastností přepnete vlastnost Primary.

 

S přidáním atributu do primárního klíče se automaticky nastaví vlastnosti Unique a Mandatory na „Yes“. Při odebrání atributu z primárního klíče se spolu s vlastností Primary změní na „No“ i vlastnost Unique. Vlastnost Mandatory zůstává implicitně na „Yes“.

 

Pokud je vlastníkem entitní podtyp nebo vztahový typ a pokusíte se v panelu vlastností nastavit vlastnost Primary na „Yes“, budete upozorněni, že to není možné, protože tyto konstrukty nemohou mít primární klíč.

3.6.4.    Přepínání vlastnosti atributu Unique

Přepínání vlastnosti Unique je stejné jako přidávání/odebírání z primárního klíče, viz. kapitola 3.6.3. (buď vyberete příslušnou volbu z lokálního menu nebo přepnete vlastnost Unique v panelu vlastností).

Přepínání této vlastnosti je dostupné, pouze tehdy, je-li vlastníkem entitní typ.

3.6.5.    Přepínání povinný / nepovinný atribut

Nepovinný atribut je v Chenově notaci zobrazen jako prázdný kruh, povinný jako kruh plný. V binární notaci je povinnost vyznačena symbolem „*“. Pokud je atribut povinný, má v menu volbu Optional a jejím zvolením se stane nepovinným. Pokud je nepovinný, potom má v menu volbu Mandatory a jejím zvolením se stane povinným.

3.6.6.    Změna datového typu

Každému atributu lze určit datový typ Data type stiskem levého tlačítka myši na zadávacím poli v panelu vlastností. Zobrazí se dialog, kterým vyberete datový typ a upřesníte jeho vlastnosti (délku, přesnost), viz Obrázek 19.

 

Obrázek 19 - Dialog pro výběr datového typu

 

V případě zvolení volby User defined lze vybrat konkrétní uživatelem nadefinovaný typ z nabídky, která se objeví (viz. Obrázek 20).

 

Obrázek 20 - Dialog pro výběr datového typu - výběr uživatelsky definovaného typu

 

Změny datového typu jsou aplikovány ihned. Dialog zavřete stisknutím křížku v pravém horním rohu okna.

3.6.7.    Změna pořadí atributů u entitního typu

V binární a UML grafické notaci jsou atributy drženy uvnitř entitního typu. Pokud chcete změnit pořadí atributu, musíte vyvolat lokální menu stisknutím pravého tlačítka myši a vybrat položku pro příslušný posun pořadí atributu.

 

Význam položek lokálního menu:

     - přesune atribut na první místo

     - posune atribut o jedno místo nahoru

     - posune atribut o jedno místo dolu

     - přesune atribut na poslední místo

                      

Pozn.: V případě, že pracujete v binární notaci, jsou zvlášť seskupeny atributy primárního klíče a zvlášť ostatní. Mezi těmito skupinami nelze navzájem atributy pomocí těchto tlačítek přesouvat. Například přesunete-li atribut, který není součástí primárního klíče nahoru, posune se nejvýše na první místo za atributy primárního klíče.

3.6.8.    Přesun atributu k jinému entitnímu nebo vztahovému typu

Pro přesunutí atributu k jinému entitnímu typu chytnete atribut pravým tlačítkem myši a táhnete jej nad nového vlastníka, kde ho upustíte. Atribut je odpojen od původního entitního nebo vztahového typu a přidán k novému vlastníkovi. Takto lze přenášet atributy mezi entitními i vztahovými typy i kombinovaně (pokud notace dovoluje, aby vztahové typy vlastnily atributy).

3.6.9.    Smazání atributu

Atribut odstraníte označením a stiskem klávesy „Delete“ nebo volbou položky Delete z lokálního kontextového menu.

 

3.7.    Operace s účastmi

Operace s účastmi jsou prováděny z lokálního kontextového menu atributu a změna vlastností je prováděna z panelu vlastností. Lokální menu účasti vyvoláte stisknutím pravého tlačítka myši na jménu účasti. Lokální kontextové menu a panel vlastností účasti jsou znázorněny na následujícím obrázku (viz. Obrázek 21).

 

                     

Obrázek 21 - Lokální kontextové menu a panel vlastností účasti

 

3.7.1.    Vytvoření účasti

V případě, že máte vytvořen nějaký vztahový a entitní typ, je možné entitní typ zapojit do vztahu (spojit ho účastí se vztahovým typem), pokud není překročen maximální počet účastí vztahového typu vzhledem k aktuální grafické notaci.

 

Vytvoření účasti je možné několika způsoby.

·        Na vztahovém typu vyvoláte stiskem pravého tlačítka myši lokální menu a vyberete položku Add connection to entity.... Kurzor se změní na kříž a ikona symbolizující mód na přidávání. Kurzor umístíte nad entitu, ke které chcete účast zapojit a stisknete levé tlačítko myši.

·        Stejně lze postupovat ze strany entitního typu. Vyberete z lokálního menu entity položku Add connection to relationship a kliknete na vztah, ke kterému chcete účast připojit.

3.7.2.    Nastavení povinnosti / nepovinnosti (parciality)

Pokud je účast entitního typu nepovinná (0,x), potom se v lokálním menu objeví volba Mandatory, pomocí které je možné přepnout účast na povinnou. Pokud je účast povinná (1,x), potom se v lokálním menu zobrazí volba Optional, pomocí které lze účast přepnout na nepovinnou.

3.7.3.    Nastavení kardinality (arity) účasti

Podobně dvoustavově se nastavuje i kardinalita účasti. Pokud je účast n-ární, potom je v menu volba Unary cardinality, pokud je unární, je v menu volba N-ary cardinality.

3.7.4.    Přizpůsobení účasti

Jedině účast nabízí volbu Customize pro vyvolání dialogů pro nastavení vlastností účasti. Po stisknutí tlačítka se zobrazí dialog, který umožňuje nastavit vlastnosti účasti (viz Obrázek 22).

 

Obrázek 22 - Customize dialog pro účast

 

Dialog obsahuje jméno účasti Role, povinnost účasti Mandatory, přilepování entitní relace ke vztahové relaci Merge a kardinalitu Cardinality (unární nebo n-ární).

 

Za dialogovým oknem stojí logika, která nabízí přilepování tehdy, je-li to doporučované a naopak nenabízí tehdy, když to není možné, nebo nedoporučované. Pokud uživatel požaduje/nepožaduje přilepování, musí tuto volbu manuálně přepnout.

 

Textová položka se v dialogu po zadání potvrdí stiskem klávesy „Enter“, ostatní vlastnosti jsou nastavovány okamžitě a nevyžadují žádné potvrzení.

3.7.5.    Smazání účasti

Volbou Delete nebo stiskem klávesy „Delete“ smažete účast entitního typu ve vztahu. Entitní typ i vztahový typ zůstávají nadále ve schématu.

 

4.     Načtení a uložení schématu

Pro načtení a uložení schématu jsou určena tlačítka Open a Save v záložce menu File a na liště hlavního okna aplikace. Standardní přípona souborů se schématy je .xml.

Nové schéma vytvoříte stiskem tlačítka New z menu nebo lišty.

 

5.     Tisk

Po stisku tlačítka Print v hlavním menu nebo na liště hlavního okna se zobrazí dialog (viz. Obrázek 23), pomocí kterého vyberete způsob tisku - na tiskárnu nebo do souboru. Tiskem do souboru se rozumí uložení vizuální podoby schématu do rastrového obrázku typu BMP.

 

Obrázek 23 - Dialog pro výběr způsobu tisku

 

·        tlačítko Image slouží pro tisk do souboru

·        tlačítko Print spustí tisk na tiskárnu

5.1.    Tisk do souboru

Po zvolení tisku do souboru (formát BMP) se zobrazí dialog, který umožňuje uživateli nastavit parametry ukládaného souboru (viz. Obrázek 24).

 

Obrázek 24 - Dialog s náhledem tisku do souboru

 

 

Na levé straně dialogového okna je zobrazen náhled na výsledný obrázek. Každá stránka je reprezentovaná modrým obdélníkem a bude uložena v jednom souboru (nastavení uložení schématu v osmi souborech viz. Obrázek 24).

 

Prvním krokem, který musíte učinit, je volba rozlišení výsledné bitmapy. Stiskem tlačítka Image resolution se zobrazí okno, kde je možné nastavit rozlišení ve svislém (Y) a podélném (X) směru (viz. Obrázek 25).

 

Obrázek 25 - Dialog pro výběr rozlišení

 

Dále je třeba nastavit  požadované rozlišení, například X:640 a Y:480. Pro zrušení nastavení slouží tlačítko Cancel, pro potvrzení tlačítko OK. Po potvrzení se změní počet stránek, na které se obrázek vytiskne (viz. Obrázek 26).

 

Obrázek 26 - Dialog s náhledem tisku do souboru – zvětšeno rozlišení obrázku

 

Nyní můžete zvolit, jakou část stránky bude obrázek zabírat. Lze zvolit položku FitPage, která zajistí, že se celý obrázek vejde na jednu stránku. Můžete také zvolit vlastní měřítko volbou položky Custom zoom a určit toto měřítko číslem Zoom [%]. Čím větší bude zadané číslo, tím větší bude obrázek.

 

Tisk zahájíte tlačítkem Close (print). Nabídne se Vám dialog pro určení jména souboru. Pokud byl nastaven větší počet stránek než jedna, bude každá stránka uložena do samostatného souboru pod jménem, které jste určili, ale s pořadovým číslem, které jednotlivé soubory odlišuje. Tisk zrušíte stiskem křížku v záhlaví okna.

5.2.    Tisk na tiskárnu

Po volbě tisku na tiskárnu se zobrazí standardní dialog s připojenými tiskárnami. Po výběru tiskárny a potvrzení tlačítkem OK se zobrazí podobný dialog, jako v případě tisku do souboru (viz. Obrázek 27). Při této formě tisku nelze změnit rozlišení, protože je určeno vlastnostmi zvolené tiskárny.

 

Obrázek 27 - Dialog s náhledem tisku na tiskárnu

 

 

Opět můžeme určit FitPage nebo Custom zoom. Nakonec schéma vytiskneme tlačítkem Close (print). Pozor, tisk se v této fázi již nedá korektně zrušit.

6.     Tvorba a editace uživatelem definovaných datových typů

Po stisknutí tlačítka  pro vstup do modulu editace datových typů, které se nachází na tlačítkové liště hlavního okna, se objeví dialog (viz Obrázek 28). Zde je možno definovat vlastní datové typy postavené nad zabudovanými typy (Integer, Char, Varchar2 atd.) nebo nad již existujícími typy uživatelem nadefinovanými.

 

Obrázek 28 - Dialog pro vytváření a editaci uživatelsky definovaných datových typů

6.1.    Tvorba nového typu

Pro tvorbu nového datového typu musíte nejprve zvolit možnost Add a new type. Do textového pole New type name zadáte jméno nově vytvářeného typu, poté zvolíte, případně ještě upřesníte datový typ, nad nímž bude tento nově vytvářený datový typ postaven, a nakonec stisknete tlačítko OK. Obrázek 29 ilustruje vytvoření typu muj_varchar2 postaveného nad typem Varchar2(1000).

 

Obrázek 29 - Tvorba nového uživatelsky definovaného datového typu

 

Následuje popis tvorby netriviálních uživatelem definovaných datových typů (typy Object, Varray a Nested table).

6.1.1.    Tvorba typu Object

Po zvolení položky Object v sekci Data type přibude do okna sekce Items in Object, která představuje seznam všech položek v tomto Objectu obsažených. Na počátku je tento seznam prázdný (viz. Obrázek 30).

 

Obrázek 30 -  Tvorba datového typu Object

 

Do seznamu položek lze přidat novou položku dvojitým kliknutím na nápis <new>. Následně se zobrazí okno, kde je možno zvolit jméno a datový typ přidávané položky (viz. Obrázek 31). Po stisku tlačítka OK se položka přidá do seznamu. Pokud stisknete křížek v pravém horním rohu okna, okno se zavře a položka se do seznamu nepřidá.

 

Obrázek 31 - Změna položky v datovém typu Object

 

 

Položku lze měnit tak, že na ní dvakrát kliknete myší. Tato akce otevře stejné okno, jako při přidávání položky (viz. Obrázek 31). V tomto okně lze měnit jak název, tak typ této položky. Stisk tlačítka OK změny potvrdí, stisk křížku v pravém horním rohu okna změny stornuje.

 

    Položku lze smazat tak, že na ní najedete kurzorem a poté stisknete klávesu „Delete“.

6.1.2.    Tvorba typu Varray

Po zvolení položky Varray v sekci Data type se v pravé části okna objeví pole Length pro určení maximálního počtu prvků, které může tento typ Varray obsahovat, a tlačítko s datovým typem těchto prvků (viz. Obrázek 32).

 

Obrázek 32 - Tvorba datového typu Varray

 

Počet prvků lze měnit snadno pomocí šipek, nebo přímým vepsáním číselné hodnoty do pole a potvrzením klávesou „ENTER“. Typ prvků lze změnit kliknutím na tlačítko s nadpisem Type of items a s názvem aktuálního typu prvků (zde Integer). To způsobí vyvolání okna, v němž lze nastavit nový datový typ prvků (viz. Obrázek 33).

 

Obrázek 33- Změna datového typu prvků v typu Varray

 

Změnu typu není třeba potvrzovat, promítne se automaticky. O změně nás informuje změna popisu tlačítka v hlavním okně modulu tvorby a editace datových typů. Z nabídky datových typů prvků jsou automaticky odstraněny všechny typy Nested table a Varray a rovněž typy Object obsahující položky typu Nested table nebo Varray.

6.1.3.    Tvorba typu Nested table

Po zvolení položky Nested table v sekci Data type se v pravé části okna objeví tlačítko s datovým typem prvků, které budou obsaženy v tomto typu.

 

Obrázek 34 - Tvorba datového typu  Nested table

 

Typ prvků lze změnit kliknutím na tlačítko s nadpisem Type of items a s názvem aktuálního typu prvků (zde Integer). To způsobí vyvolání okna, v němž lze nastavit nový datový typ prvků (viz. Obrázek 33).

 

Změnu typu není třeba potvrzovat, promítne se automaticky. O změně nás informuje změna popisu tlačítka v hlavním okně modulu tvorby a editace datových typů. Z nabídky datových typů prvků jsou automaticky odstraněny všechny typy Nested table a Varray a rovněž typy Object obsahující položky typu Nested table nebo Varray.

6.2.    Editace existujícího uživatelem definovaného typu

Pokud chcete editovat existující typ, zvolíte nejprve možnost Edit / delete existing type. Tím se zpřístupní nabídka již vytvořených typů, ze které si vyberete ten, jehož vlastnosti chcete měnit. Po jeho zvolení se v pravé části okna zobrazí nastavení vybraného typu. Nyní lze zvolený typ měnit.

POZOR!!!

Veškeré provedené změny jsou aplikovány okamžitě a tudíž jsou nevratné!!!

 

6.3.    Smazání existujícího uživatelem definovaného typu

Pro smazání typu zvolíte nejprve možnost Edit / delete existing type. Tím se zpřístupní nabídka již vytvořených typů, ze které si vyberete ten, který chcete smazat. Poté stisknete tlačítko „Delete“.

 

Pokud byl právě smazaný typ použit jako prvek jiného uživatelem definovaného datového typu, bude v něm nahrazen typem Integer. Na tuto skutečnost jste upozorněni zprávou (viz. Obrázek 35).

 

Obrázek 35 - Dialog s upozorněním na použití mazaného typu

 

Stisk tlačítka OK smazání potvrdí, stisk tlačítka CANCEL smazání zruší. Po zaškrtnutí políčka s nápisem Do not show this warning next time se toto varování příště již nebude zobrazovat.

6.4.    Ošetření chyb

·        Při pokusu o uložení nového typu již existujícího jména aplikace tento typ uložit nedovolí a reaguje hlášením: ERROR, data type name duplicity!!

·        Jeden typ Object nesmí mít více položek stejného jména. Při porušení tohoto pravidla aplikace nedovolí tuto položku vložit a reaguje hlášením: ERROR, item name duplicity in this object!!

·        Ve jméně typu, resp. položky obsažené v typu Object se nesmí objevit jiné znaky než malá a velká písmena (bez diakritiky) a podtržítko. Pokud se tak stane, aplikace opět nedovolí typ uložit, resp. položku do typu Object přidat, a reaguje hláškou: ERROR, illegal character ‘ž’ in item name!! (hlášení pro znak ž‘)

 

Některé podmínky konzistence konceptuálního schématu jsou hlídány v průběhu vytváření, některé teprve při požadavku transformace nebo na explicitní žádost.

6.5.    Kontrola v průběhu vytváření schématu

V průběhu vytváření schématu je hlídána acykličnost grafu závislostí, povinnost atributů v primárním klíči a primární klíč jako takový. V případě chyby není požadovaná akce provedena a zobrazí se dialog s popisem chyby.

·        Entity EntityName have primary key
hlásí, když je entitní typ vkládán do hierarchie objektů jako podtyp a přitom má určen primární klíč

·         After adding entity EntityName  to list of sons of entity EntityName would appear cycleName cycle
hlásí, když by operací vznikl cyklus v závislostech

·        ISA child EntityName  cannot have primary key
hlásí, když entitní typ je podtypem a tudíž mu nelze určit primární klíč

·        Atribute AtributeName cannot be set optional or not unique while being part of primary key
hlásí, když je atribut součástí primárního klíče a přitom se ho uživatel pokouší nastavit jako nepovinný nebo zrušit vlastnost Unique.

·        Entity EntityName is strong addicted
hlásí, když je odebírán nebo nastavován na jiný primární klíč slabého entitního typu. Taková změna není dovolena

·        Relationship RelationName cannot have primary key
hlásí, když by se někdo snažil nastavit atribut patřící k vztahovému typu jako člena primárního klíče

·        Relationship RelationName can't have more than 2 connections to entities
hlásí, když je přidávána třetí účast do vztahu v binární nebo UML notaci

 

Ostatní hlášené chyby jsou vnitřními chybami aplikace a v takovém případě není dobré pokračovat v práci, protože je vnitřní reprezentace schématu v nekonzistentním stavu. Tyto chyby mohou sloužit pro odhalování implementačních chyb v aplikaci.

6.6.    Kontrola na vyžádání

Pro kompletní kontrolu aktuálního schématu slouží tlačítko  pro kontrolu  na liště hlavního okna aplikace. V tomto případě platí, pokud není nalezena chyba, je zobrazený seznam prázdný a schéma je naprosto v pořádku připravené pro transformaci. Pokud byla nalezena chyba (nebo více chyb), potom jsou tyto chyby zobrazeny ve speciálním dialogovém okně.

 

Obrázek 36 - Dialog s konflikty ve schématu

 

 

Levá část dialogového okna má stromovou strukturu. První úroveň stromu reprezentuje seznam všech chyb, druhá úroveň jednotlivé nalezené chyby a třetí úroveň je vždy seznam objektů, kterých se chyba týká. Příklad takové prezentace seznamu chyb naleznete na předchozím obrázku (viz. Obrázek 36).

 

V pravé části dialogového okna můžete provádět různé operace v závislosti na vybrané položce z levé části. Velikost obou částí můžete měnit tažením za středový panel. Tlačítkem Refresh aktualizujete seznam chyb.

 

Popis chybových hlášení:

 

·        Equal names of atributes in the scope of their owner
Atributy nesmí mít stejné jméno v rámci svého vlastníka.

·        Bad first character (‘char') in object's name
Nepovolený počáteční znak ve jménu objektu.

·        Bad characters (list of chars) in object's name
Nepovolené znaky ve jménu objektu.

·        Cannot be both strong addicted and ISA son
Entitní typ nesmí být slabý a zároveň podtyp.

·        Equal names of cardinalities
Účasti nesmí mít stejná jména.

·        Equal names of constructs
Entitní a vztahové typy nesmí mít stejná jména.

·        No atribute
Entitní typ nemá žádné atributy.

·        Relationship should be connected to at least 2 entities
Vztahový typ není připojen k dostatečnému počtu entitních typů, minimum jsou 2 účasti.

·        No name
Objekt nemá jméno.

·        Subtype in ISA hierarchy may not have a primary key
Podtyp nesmí mít určen primární klíč.

·        No primary key
Entitní typ nemá určen primární klíč.

·        No atribute in unique key
Skupina unikátního klíče je prázdná.

·        Equal semantics of unique keys
Unikátní klíče definují stejnou skupinu atributů.

·        Unique key atributes cannot be a subset of primary key atributes
Skupina unikátního klíče nesmí být podmnožinou skupiny atributů primárního klíče.

·        Equal names of unique keys
Unikátní klíče nesmí mít stejné jméno.

·        Atribute of NESTED TABLE, VARRAY or OBJECT data type cannot be in PRIMARY KEY
V primárním klíči nesmí být žádný atribut typu NESTED TABLE, VARRAY ani OBJECT.

·        Atribute of NESTED TABLE, VARRAY or OBJECT data type cannot be in UNIQUE KEY
V unikátním klíči nesmí být žádný atribut typu NESTED TABLE, VARRAY ani OBJECT.

·        Atribute of NESTED TABLE data type cannot be set NOT NULL
Atribut typu NESTED TABLE nesmí být zvolen jako povinný.

·        Datatype <type> is not defined!!
Atribut má zvolen jako svůj datový typ uživatelem definovaný typ jménem <type>, ale tento typ již neexistuje (pravděpodobně byl smazán).

 

6.6.1.    Vazba mezi dialogem chyb a pracovní plochou

Stromová reprezentace nabízí inteligentní navigaci na ploše. Vyberete-li levým tlačítkem myši nalezenou chybu, na ploše se vyberou všechny objekty, které jsou s chybou svázány nebo které chybu způsobily. Můžete vybrat také pouze jeden objekt a to tím, že vyberete ve stromu chyb uzel, který objektu odpovídá (viz. Obrázek 37).

 

Obrázek 37 - Vazba mezi dialogem chyb a pracovní plochou

 

 

7.     Slévání schémat

Nejprve jste vyzváni k výběru přilévaného souboru. Pokud není schéma v tomto souboru konzistentní nebo se liší grafické notace obou schémat, program slévání nepovolí.

 

Po vložení nového schématu do volného místa na pracovní ploše se zobrazí okno s konflikty vzniklými tímto slitím (příklad viz. Obrázek 38). V levé části jsou zobrazeny tyto konflikty stejně jako při kontrole konzistence ve stromové struktuře a se stejnou funkčností. V pravé části okna můžete provádět operace se zvoleným konfliktem z levé části. Pokud vyberete kořen ze stromu chyb (All conflicts in the schema), můžete v pravé části nastavit předponu ke jménu přidávaných konstruktů (Prefix) popř. přejmenovat všechny konfliktní konstrukty z přilévaného schématu (tlačítkem Rename all).

 

Obrázek 38 - Dialog konfliktů - nastavení prefixu pro přilévané konfliktní objekty

 

 

Hvězdičkou jsou označeny objekty z přilévaného schématu.

 

Obrázek 39 - Dialog konfliktů - detail konfliktu dvou entitních typů

 

Po výběru konkrétní entity nebo vztahu máte následující nabídku možností (viz. Obrázek 39). Individuální přejmenování konstruktu (políčko Rename) - u přilévaných objektů je automaticky přednastavena zadaná předpona ke jménu. V seznamu Compose si můžete vybrat, se kterým konstruktem chcete slévat. Tlačítko Accept provede nastavené změny. Pokud je v seznamu vybrána položka none, dojde pouze k individuálnímu přejmenování objektu, pokud je vybrán konstrukt dojde k jeho přilití – na předchozím obrázku (viz. Obrázek 39) se k entitě Entity1 z přilévaného schématu přilije entita Entity1 z původního schématu. Atributy a účasti ve vztahu můžeme pouze přejmenovat tlačítkem Accept nebo odstranit tlačítkem Remove.

 

Všechny změny se okamžitě promítají do seznamu konfliktů stejně jako u seznamu chyb změnou ikony. Tlačítko Refresh slouží k opětovné kontrole konfliktů a tím i k odstranění vyřešených konfliktů ze seznamu.

8.     Generování SQL

V případě, že je konceptuální schéma konzistentní, tedy bez chyb, je možné generovat příkazovou dávku SQL. Požadavek na generování se zadá stiskem tlačítka  na liště hlavního okna aplikace.

 

Stisk tlačítka spustí nejdříve kontrolu konzistence schématu. Pokud kontrola najde chyby, aplikace tyto chyby zobrazí a dál nepokračuje. Pokud chyby ve schématu nejsou, zobrazí  se dialog, kterým je možné ovlivnit výslednou příkazovou dávku SQL (viz. Obrázek 40).

 

Obrázek 40 - Dialog s volbami pro generování SQL

 

Dialog Generate options obsahuje tyto položky:

·        Generate drop clauses
zaškrtnutí způsobí, že se budou generovat příkazy na odstranění tabulek a uživatelem definovaných datových typů z databáze, nezaškrtnutí generování těchto příkazů potlačí.

·        Shorten prefixes of atributes
zaškrtnutí značí, že se mají předpony přidávané ke jménům atributů maximálně zkracovat (ale tak, aby předpony byly stále jedinečné) – to je výhodné proto, že jména v databázovém systému mají většinou omezenou maximální délku.

·        User merging
zaškrtnutí znamená, že se má přilepovat tam, kde to uživatel označil a nemá tam, kde to neoznačil. Nezaškrtnutí znamená, že bude přilepováno všude, kde je účast (1,1) a nikde jinde bez ohledu na uživatelské nastavení.

 

Stiskem tlačítka Cancel generování přerušíte. Stiskem tlačítka OK se vytvoří výsledná příkazová dávka v SQL.

8.1.    Zobrazení výsledné příkazové dávky SQL

Výsledek je zobrazen v dialogovém okně SQL commands (viz. Obrázek 41).

 

Obrázek 41 - Zobrazení výsledné příkazové dávky SQL

 

Okno je rozděleno na dvě části, v levé části je reprezentace SQL pomocí stromu, v pravé části potom samotné fragmenty SQL.

 

První úroveň stromu má jediný uzel SQL commands in the schema, který je zástupcem celé dávky, ve druhé úrovni jsou jednotlivé příkazy SQL, třetí úroveň tvoří řádky v rámci příkazů (tedy definice sloupců, atributů typu Object, unikátních klíčů, primárních klíčů, cizích klíčů a integritních omezení). Jediný element ve třetí úrovni se dále větví, a tím je integritní omezení. Stiskem levého tlačítka myši na uzlu ve stromu se zobrazí příslušný fragment SQL v pravé části okna.

 

Okno je možné zavřít tlačítkem Close, nebo lze celou dávku SQL uložit pomocí stisku tlačítka Save SQL, popř. poslat přímo databázovému stroji tlačítkem Send. Jméno databáze a přihlašovací informace se nastavují v okně nastavení programu. Tlačítkem View log je zobrazen protokol o spojení s databází.

 

POZOR!!

Knihovna používaná aplikací k přímému spojení s databází nepodporuje vytváření uživatelsky definovaných datových typů. Pokud je chcete ve schématu použít, musíte příkazovou dávku SQL uložit a následně ručně spustit v prostředí SQL Plus.

9.     Nastavení programu

V ERM v4.0 došlo k zásadní změně nastavování programu. Všechny nastavení lze provést v dialogovém okně OPTIONS, které vyvoláte z hlavního menu ve složce Settings. Dialogové okno s nastavením obsahuje záložky, ve kterých jsou tématicky seskupeny jednotlivé volby.

9.1.    Dialog s nastaveními programu

Dialog vyvoláte z hlavního menu kliknutím na složku Settings a poté na položku Options. V horní části naleznete 3 záložky s tématicky seskupeným nastavením, které se zobrazují ve střední části. Ve spodní části dialogu jsou pak tlačítka:

OK           kterým potvrdíte změny, které jste v nastavení udělali; změny se okamžitě uloží do konfiguračního souboru a dialog se zavře.

APPLY     kterým uložíte do konfiguračního souboru provedené změny, ale dialog zůstane otevřen.

CANCEL kterým zrušíte všechny změny v nastavení a dialog zavřete.

 

9.1.1.    Záložka GENERAL

 V této záložce jsou všechna nastavení týkající se globálních parametrů nebo zobrazování v programu (viz. Obrázek 42).

 

Obrázek 42 - Dialog nastavení aplikace - záložka General

Default notation:

Touto volbou nastavujete grafickou notaci, která bude nastavena po spuštění aplikace a na kterou se aplikace automaticky přepne při klinutí na tlačítko NEW – vytvoření nového schématu.

 

Encoding:

Slouží pro nastavení položky Encoding v souboru, do kterého ukládáte vytvořené schéma.

POZOR, zvolené kódování při ukládání schématu je dáno operačním systémem. Položka Encoding v uloženém schématu pouze říká, jaké kódování má použít aplikace při načítání schématu ze souboru.

 

Display „pk“ symbol in UML notation:

Tato volba slouží pro zobrazení/potlačení symbolu „pk“ před atributem, který je součástí primárního klíče v UML grafické notaci. V UML není definováno žádné označení primárního klíče. Pro lepší přehled o primárních klíčích je v ERM možnost zapnout zobrazení symbolu upozorňující na skutečnost, že daný atribut je součástí primárního klíče.

 

Display 0..N and 1..1 cardinality in UML as:

V UML notaci je možné zobrazovat zkráceně nepovinné N-ární a povinné unární vztahy. Proto je v nastavení volba zkráceného nebo plného zobrazení.

 

9.1.2.    Záložka DB CONNECTION

V této záložce si můžete nastavit parametry pro přímé spojení aplikace s databází (viz. Obrázek 43).

 

Obrázek 43 - Dialog nastavení aplikace - záložka Database Connection

 

Pole Driver:

Obsahuje databázový ovladač. Ve škole se pro připojení k Oracle použije oracle.jdbc.driver.OracleDriver.

 

Pole URL:

Zde je umístěna adresa databáze. Na školních počítačích s Windows NT lze použít jdbc:oracle:oci8:@cs, popř. jdbc:oracle:thin:@cs:1526:oracle.

 

Poli User:

Zde se zadává jméno uživatele.

 

Pole Password:

Zde se zadává heslo uživatele, které se ale z bezpečnostních důvodů nezapisuje do konfiguračního souboru a je nutno ho při každém spuštění ERM vyplnit znovu.

 

Tlačítko Test connection:

Slouží pro otestování spojení s databází. Při testování se spustí SQL log dialog s výsledkem, zda spojení bylo úspěšné či nikoli.

 

Tlačítko View log:

Zobrazí protokol o spojení s databází.

 

9.1.3.    Záložka COLORS

V této záložce si můžete nastavit barvy pozadí, popředí a pozadí objektů a pozadí označených objektů (viz. Obrázek 44).

 

Obrázek 44 - Dialog nastavení aplikace - záložka Colors

 

Změnu barvy provedete stisknutím tlačítka se stávající barvou u příslušné kolonky. Zobrazí se nové okno s barevnou paletou (viz. Obrázek 45), ve které si vyberete barvu novou a výběr potvrdíte tlačítkem OK nebo zrušíte tlačítkem CANCEL.

 

Obrázek 45 - Dialog pro vybírání barev

 

9.2.    Konfigurační soubor

V konfiguračním souboru jsou uloženy informace o nastavení aplikace ERM. Nastavení je ze souboru načítáno vždy při startu aplikace.

 

9.2.1.    Umístění konfiguračního souboru; uživatelský a aplikační konfigurační soubor

Vzhledem k požadavku spouštět vícenásobně jednu aplikaci ze serveru a požadavku na možnost individuálního nastavení každého uživatele, je od verze 4.0 zavedena dvoustupňová hierarchie konfiguračních souborů.

 

Konfigurační soubor nese vždy název config.erm. Cesta k uživatelskému konfiguračnímu souboru je stejná jako cesta k ukládání schémat a je definována ve spouštěcím dávkovém souboru (se jménem většinou erm.bat) v položce ER_DEFDIR. Tu je NUTNO nastavit na adresář, do kterého máte právo zápisu!

 

Pokud při startu aplikace nenajde konfigurační soubor v uživatelsky definovaném adresáři položkou ER_DEFDIR, zobrazí se dialog s upozorněním, že konfigurační soubor nebyl v zadané cestě nalezen a načte se konfigurační soubor z adresáře, kam byla aplikace ERM nainstalována a uloží se do uživatelského adresáře.

 

Pokud by se nenašel konfigurační soubor ani v adresáři, kam byla nainstalována aplikace, pak máte-li právo na zápis, vytvoří se nový konfigurační soubor s defaultními hodnotami do adresáře ERM a poté do uživatelského adresáře. V případě, že právo zápisu nemáte, nepodaří se aplikaci spustit a budete muset požádat někoho, kdo právo zápisu má o vytvoření konfiguračního souboru.

 

V případě, že budete mít zadanou uživatelskou cestu pro ukládání souborů přímo do adresáře, kde je aplikace nainstalována, bude konfigurační soubor aplikace zároveň Vaším uživatelským souborem. Proto pokud bude program spouštět více uživatelů buďte při nastavování obezřetní, protože toto nastavení se bude kopírovat novým uživatelům do jejich výchozích konfiguračních souborů. 

9.2.2.    Formát konfiguračního souboru

Pro konfigurační soubor byl zvolen formát XML. Tento formát je snadno čitelný a srozumitelný.

 

Nastavení programu lze provést i přímou editací konfiguračního souboru, avšak tento způsob by měli používat jen pokročilí uživatelé, protože poškozením struktury a hodnot XML souboru lze způsobit nekorektní načtení hodnot nebo dokonce zamezení spuštění aplikace. Pokud by se tak stalo, stačí poškozený konfigurační soubor smazat a při startu aplikace se vytvoří nový defaultní konfigurační soubor.

 

Strukturu tohoto souboru si ukážeme na příkladu.

 

<?xml version="1.0"?>

<!-- ER Modeller version 3.0 configuration file -->

<!DOCTYPE options [

<!ELEMENT options (encoding, preferences)>

<!ELEMENT encoding (#PCDATA)>

<!ELEMENT preferences (driver, url, user)>

<!ELEMENT driver (#PCDATA)>

<!ELEMENT url (#PCDATA)>

<!ELEMENT user (#PCDATA)>

]>

<options>

      <encoding>Windows-1250</encoding>

      <!-- posibilities: Windows-1250, ISO-8859-1, ISO-8859-2, UTF-16, UTF-8 -->

      <dbconnection>

            <driver>oracle.jdbc.driver.OracleDriver </driver>

            <url>jdbc:oracle:thin:@cs:1526:oracle</url>

            <user>OPS$novak</user>

      </dbconnection>

  <general>

        <defnotation>0</defnotation>

        <pkshowuml>1</pkshowuml>

        <shortencardsuml>1</shortencardsuml>

  </general>

  <colors>

        <objectforeground>

              <R>0</R>

              <G>0</G>

              <B>0</B>

        </objectforeground>

        <objectbackground>

              <R>255</R>

              <G>255</G>

              <B>255</B>

        </objectbackground>

        <selectedobjectbackground>

              <R>204</R>

              <G>204</G>

              <B>255</B>

        </selectedobjectbackground>

        <background>

              <R>192</R>

              <G>192</G>

              <B>192</B>

        </background>

  </colors>

</options>

 

 

Hlavní, kořenový element nese název <options> a obsahuje podelementy:

·      <encoding> – kódování znaků národních abeced

·      <dbconnection> – nastavení parametrů pro přímé spojení aplikace s databází

·        <driver> – jméno ovladače

·        <url> – adresa databázového stroje

·        <user> – přihlašovací jméno uživatele

·         <general> –nastavení globálních parametrů aplikace

·        <defnotation> - notace, která se nastaví při vytváření nového schématu

·        <pkshowuml> – příznak, zda se má zobrazovat u atributu v UML notaci, který je součástí primárního klíče, symbol „pk“ tuto vlastnost vyjadřující

·        <shortencardsuml> – příznak, zda se v UML notaci budou zobrazovat 0..N a 1..1 účasti ve vztahu normálně nebo zkráceně

·         <colors> - hodnoty pro barvy pozadí a popředí a pozadí objektů; všechny elementy mají podlementy složek barev <R>, <G> a <B>

·        <objectforeground> - barva popředí předmětů, např. orámování a názvy objektů

·        <objectbackground> – barva pozadí objektů, např. výplň obdélníku entity

·        <selectedobjectbackground> – barva pozadí označených objektů

·        <background> – barva pozadí pracovní plochy aplikace

 

POZOR!!

Informace o kódování znaků národních abeced neříká, v jakém kódování bude aplikace ukládat data (názvy atributů, komentáře, atd.). Pouze říká, jak má aplikace uložená data interpretovat. Formát ukládání těchto národních znaků je daný operačním systémem!!

 

POZOR!!

Vzhledem k přejmenování elementu <preferences> na <dbconnection> nelze použít konfigurační soubor z ERM 3.0 do nové verze!

 

10.           Závěr

Tato uživatelská příručka obsahuje veškeré potřebné informace pro uživatele aplikace ER Modeller v4.0, uživatel tedy nemusí hledat informace v textu diplomové práce, která má charakter implementační dokumentace.