SQLdesigner - tvorba modelu
Softvérový produkt WWW SQL Designer je on-line nástroj pre tvorbu entitno relačných diagramov. Podľa slov autora projektu [1] tento nástroj dovoľuje kresliť a vytvárať databázové schémy (E- diagramy) priamo v prostredí internetového prehliadača bez potreby mať nainštalovaný externý plugin, ako napríklad flash. Jediné čo je vyžadované, je mať zapnutý Javascript.
Vlastnosti WWW SQL Designer-a
Aplikácia WWW SQL Designer dovoľuje:
- kresliť E-R diagramy,
- editovať navrhnuté tabuľky a ich riadky,
- manažovať kľúče tabuľky,
- vytvárať relácie (cudzie kľúče),
- ukladať a nahrávať návrhy,
- importovať databázové schémy
Skoro všetky akcie, ktoré je možné urobiť sú prístupné cez pravý panel tlačítiek. Medzi tieto akcie patrí: vytvorenie tabuľky, zmena jej názvu, zmazať tabuľku, upraviť kľúče tabuľky, pridať položku (stĺpec) do tabuľky, upraviť položku, vytvoriť cudzí kľúč, zmazať položku.
Ďalšie akcie, ktoré softvér poskytuje:
- Premiestnenie tabuľky. Tabuľku možete premiestňovať po ploche ťahaním za hlavičku tabuľky.
- Editovať vlastnosti tabuľky - dvojklik na hlavičku tabuľky alebo tlačidlo 'Upravit tabulku', resp. 'Edit table'
- Editovať vlastnosti stĺpca tabuľky - dvojklik na daný stĺpec, alebo tlačidlo 'Upravit položku', resp. 'Edit field'
- Spravovať kľúče tabuľky. Ako prvé je treba vybrať konkrétnu tabuľku a následne tlačidlo 'Klíče', resp. 'Edit keys'
- Vytvárať relácie (kresliť prepojenia). Ako prvé označte stĺpec tabuľky, ktorý má v budúcom vzťahu funkciu primárneho kľúča. Potom máme 2 možnosti:
- vytvoriť cudzí kľúč v druhej tabuľky - tlačidlo 'Vyrobit cizí klíč', resp. 'Create foreign key'. Potom kliknúť na podriadenú tabuľku. Cudzí kľúč sa automaticky vytvorí.
- ak už v podriadenej tabuľke cudzí kľúč existuje, zvolíme možnosť 'Propojit cizí klíč', resp. 'Connect foreign key'. Potom klikneme priamo na tento cudzí kľúč a vytvorí sa relácia.
Nastavenia
K dispozícii máme jednoduché nastavenia:
- jazyk prostredia,
- typ databáze pre nové schémy,
- pravidlo pre automatické pomenovávanie cudzích kľúčov
Práca s prostredím
Ako vzorový príklad uvedieme jednoduchý model učiteľ - predmet. Uvažujme o situácii, kedy učiteľ môže učiť (prednášať) viacero predmetov a predmet môže byť prednášaný len jedným učiteľom. Tento opis nás vedie k vzťahu 1:N. Vo vzťahu vystupujú 2 entity: učiteľ a predmet. Atribúty týchto entít môžeme identifikovať nasledovne:
učitel
- id učiteľa
- meno
- priezvisko
- tituly
- dátum ukončenia 2 stupňa štúdia (Ing., Mgr, ...)
- dátum ukončenia 3 stupňa štúdia (PhD.)
predmet
- id predmetu
- názov predmetu
Tvorba tabuliek
Pri tvorbe atribútov tabuľky je potrebné správne zvoliť typ atribútov (domény). Náš ER model chceme následne implementovať na databázovom serveri MySQL, preto volíme dátové typu, ako sú definované v kapitole SQL - dátové typy.
Pre jednotlivé atribúty zvolíme nasledujúce domény:
ucitel
- id - Integer
- meno - Varchar, max. dĺžka 32 znakov
- priezvisko - Varchar, max. dĺžka 32 znakov
- tituly - Varchar, max. dĺžka 32 znakov
- datum2stupen - Datetime
- datum3stupen - Datetime
predmet
- id - Integer
- názov - Varchar, max. dĺžka 32 znakov
Na následujúcom obrázku sú vytvorené obe tabuľky:
Vytvorenie relácie:
Ako sme povedali, tento vzťah je typu 1:N. Hlavnou tabuľkou je predmet a podriadenou je ucitel. V tabuľke predmet vyberieme stĺpec 'id' a zvolíme 'Vyrobit cizí klíč'. Kliknutím na hlavičku tabuľky ucitel sa v nej vytvorí cudzí kľúč a taktiež prepojenie medzi tabuľkami.
Uloženie a export
Vytvorený projekt môžeme uložiť pomocou dialógu 'Uložit/načíst', kde je možnosť vytvoriť z navrhnutej schémy SQL dotaz. Pre náš príklad je SQL skript nasledujúci (skrátený výpis):
-- Table 'ucitel'
CREATE TABLE `ucitel` (
`id` INTEGER AUTO_INCREMENT,
`meno` VARCHAR(32) NOT NULL,
`priezvisko` VARCHAR(32) NOT NULL,
`tituly` VARCHAR(32) NOT NULL,
`datum2stupen` DATETIME NOT NULL,
`datum3stupen` DATETIME NOT NULL,
`id_predmet` INTEGER DEFAULT NULL,
PRIMARY KEY (`id`)
);
-- Table 'predmet'
CREATE TABLE `predmet` (
`id` INTEGER AUTO_INCREMENT DEFAULT NULL,
`nazov` VARCHAR(32) NOT NULL,
PRIMARY KEY (`id`)
);
-- Foreign Keys
ALTER TABLE `ucitel` ADD FOREIGN KEY (id_predmet) REFERENCES `predmet` (`id`);
Zdroje a odkazy
- ↑ wwwsqldesigner - http://code.google.com/p/wwwsqldesigner/