MySQL workbench - tvorba modelu: Rozdiel medzi revíziami
 (Vytvorená stránka „{{Draft}} {{Skripta_dbs}} Softvér MySQL Workbench poskytuje grafický nástroj pre prácu s MySQL databázami. MySQL Workbench plne spolupracuje so servermi MySQL Server v…“)  | 
				d  | 
				||
| Riadok 12: | Riadok 12: | ||
Nástroj MySQL WorkBench  sa dá stiahnuť z adresy http://wb.mysql.com  | Nástroj MySQL WorkBench  sa dá stiahnuť z adresy http://wb.mysql.com  | ||
| − | [[Súbor:mysql workbench.png|center|  | + | [[Súbor:mysql workbench.png|center|frame|MySQL WorkBench - úvodná obrazovka]]  | 
==Vytvorenie Entitno-Relačného modelu==  | ==Vytvorenie Entitno-Relačného modelu==  | ||
| Riadok 34: | Riadok 34: | ||
:Otvorí sa pracovné prostredie s preddefinovanou schémou (resp. databázou) ''mydb''. Túto schému premenujeme na "slovnik". Je to vlastne názov budúcej databázy.  | :Otvorí sa pracovné prostredie s preddefinovanou schémou (resp. databázou) ''mydb''. Túto schému premenujeme na "slovnik". Je to vlastne názov budúcej databázy.  | ||
| − | [[Súbor:mysql workbench 2.png|center|  | + | [[Súbor:mysql workbench 2.png|center|frame|MySQL WorkBench - pracovné prostredie]]  | 
:Najjednoduchší spôsob ako vytvoriť nové tabuľky v otvorenej schéme je vizuálny editor.  | :Najjednoduchší spôsob ako vytvoriť nové tabuľky v otvorenej schéme je vizuálny editor.  | ||
| Riadok 42: | Riadok 42: | ||
:V hornej časti pracovnej plochy zvolíme "Add diagram" pre vizuálny návrh ER diagramu. Na pracovnú plochu vložíme novú tabuľku (Ikony v ľavej časti pracovnej plochy, alebo klávesová skratka T). Nová tabuľka bude mať názov ''table1''. Dvojitým klikom na tabuľku sa otvorí editor tabuľky, kde môžeme zmeniť názov tabuľky. Pomenujme ju ''slova_en''.  | :V hornej časti pracovnej plochy zvolíme "Add diagram" pre vizuálny návrh ER diagramu. Na pracovnú plochu vložíme novú tabuľku (Ikony v ľavej časti pracovnej plochy, alebo klávesová skratka T). Nová tabuľka bude mať názov ''table1''. Dvojitým klikom na tabuľku sa otvorí editor tabuľky, kde môžeme zmeniť názov tabuľky. Pomenujme ju ''slova_en''.  | ||
| − | [[Súbor:mysql workbench 3.png|center|  | + | [[Súbor:mysql workbench 3.png|center|frame|MySQL WorkBench - tvorba ER diagramu]]  | 
:Tabuľke slova_en pridáme nasledujúce atribúty:  | :Tabuľke slova_en pridáme nasledujúce atribúty:  | ||
| Riadok 50: | Riadok 50: | ||
:Tieto atribúty pridáme pomocou editora tabuľky, ktorého možnosti sú zobrazené na predchádzajúcom obrázku, v spodnej časti. Vyberieme záložku "Columns" - stĺpce.  | :Tieto atribúty pridáme pomocou editora tabuľky, ktorého možnosti sú zobrazené na predchádzajúcom obrázku, v spodnej časti. Vyberieme záložku "Columns" - stĺpce.  | ||
| − | [[Súbor:mysql workbench 4.png|center|  | + | [[Súbor:mysql workbench 4.png|center|frame|MySQL WorkBench - editor tabuľky]]  | 
:Jednotlivé skratky majú nasledujúci význam:  | :Jednotlivé skratky majú nasledujúci význam:  | ||
| Riadok 63: | Riadok 63: | ||
Podobne vytvoríme tabuľky ''slova_sk'' a ''kategorie''.  | Podobne vytvoríme tabuľky ''slova_sk'' a ''kategorie''.  | ||
| − | [[Súbor:mysql workbench 5.png|center|  | + | [[Súbor:mysql workbench 5.png|center|frame|MySQL WorkBench - tabuľky ER diagramu slovník]]  | 
'''3. Zadefinovanie vzťahov medzi tabuľkami'''  | '''3. Zadefinovanie vzťahov medzi tabuľkami'''  | ||
| Riadok 73: | Riadok 73: | ||
:Vytvoríme vzťah 1:N medzi tabuľkami slova_en a slova_sk. Nástrojom "1:n Identifying Relationschip"  [[Súbor:ikona 1n.png]] ako prvú označíme tabuľku, ktorá sa vo vzťahu vyskytuje viacero krát (v našom prípade je to slova_sk). Následne označíme tabuľku, ktorá je vo vzťahu len 1× (slova_en). Podobne to urobíme i pre dvojicu kategorie - slova_en.  | :Vytvoríme vzťah 1:N medzi tabuľkami slova_en a slova_sk. Nástrojom "1:n Identifying Relationschip"  [[Súbor:ikona 1n.png]] ako prvú označíme tabuľku, ktorá sa vo vzťahu vyskytuje viacero krát (v našom prípade je to slova_sk). Následne označíme tabuľku, ktorá je vo vzťahu len 1× (slova_en). Podobne to urobíme i pre dvojicu kategorie - slova_en.  | ||
| − | [[Súbor:mysql workbench 6.png|center|  | + | [[Súbor:mysql workbench 6.png|center|frame|MySQL WorkBench - ER diagram prekladového slovníka]]  | 
Verzia zo dňa a času 19:38, 11. december 2010
Softvér MySQL Workbench poskytuje grafický nástroj pre prácu s MySQL databázami. MySQL Workbench plne spolupracuje so servermi MySQL Server verzie 5.1 a vyššie. Nepodporuje MySQL Server 4.x. MySQL Workbench ponúka tri hlavné moduly:
- SQL nástroje
 - Modelovanie dát (Data Modeling)
 - Správa MySQL servera
 
- SQL nástroje
 - Umožňujú vytvárať a spravovať pripojenia k databázovým serverom. MySQL Workbench dovoľuje spustiť SQL dotazy na databázu pomocou zabudovaného SQL editora.
 - Data Modeling
 - Umožňuje graficky vytvoriť model databázy (entitno-relačný diagram), poskytuje reverse ingeneering pre vtvorenie ER diagramu z existujúcej databázy, ale aj vytvorenie databázy z navrhnutého modelu. Vstavaný editor údajov poskytuje možnosť editovania tabuliek - obsahu aj metadát, tvorbu indexov, spúšťačov (Triggers), pohľadov, privilégií, procedúr.
 - Správa servera
 - Umožňuje vytvárať a spravovať jednotlivé inštancie serverov. Táto funkcia nahrádza, skôr poskytnutú aplikáciu MySQL Administrator.
 
Nástroj MySQL WorkBench sa dá stiahnuť z adresy http://wb.mysql.com
Vytvorenie Entitno-Relačného modelu
V nasledujúcom texte si ukážeme postup pri tvorbe jednoduchého ER modelu jednosmerného prekladového anglicko-slovenského slovníka. Krátky popis problému: Navrhnite ER diagram pre aplikáciu anglicko-slovenského prekladového slovníka. Požaduje sa, aby boli anglické slová rozdelené do kategórií.
Riešenie: V zadaní identifikujeme 3 entity:
- zoznam anglických slov (slova_en)
 - zoznam slovenských slov (slova_sk)
 - zoznam kategórií (kategorie)
 
Medzi týmito entitami sú nasledujúce vzťahy:
- slova_en - slova_sk 1:N
 - kategorie - slova_en 1:N
 
Postup v prostredí MySQL WorkBench
1. Vytvorenie novej databázovej schémy
- V úvodnej obrazovke (predchádzajúci obrázok) vyberieme "Create New EER Model" (v strednej časti).
 
- Otvorí sa pracovné prostredie s preddefinovanou schémou (resp. databázou) mydb. Túto schému premenujeme na "slovnik". Je to vlastne názov budúcej databázy.
 
- Najjednoduchší spôsob ako vytvoriť nové tabuľky v otvorenej schéme je vizuálny editor.
 
2. Vytvorenie nového ER modelu
- V hornej časti pracovnej plochy zvolíme "Add diagram" pre vizuálny návrh ER diagramu. Na pracovnú plochu vložíme novú tabuľku (Ikony v ľavej časti pracovnej plochy, alebo klávesová skratka T). Nová tabuľka bude mať názov table1. Dvojitým klikom na tabuľku sa otvorí editor tabuľky, kde môžeme zmeniť názov tabuľky. Pomenujme ju slova_en.
 
- Tabuľke slova_en pridáme nasledujúce atribúty:
- id - identifikačné číslo. Bude slúžiť ako primárny kľúč.
 - slovo_en - anglické slovo
 
 
- Tieto atribúty pridáme pomocou editora tabuľky, ktorého možnosti sú zobrazené na predchádzajúcom obrázku, v spodnej časti. Vyberieme záložku "Columns" - stĺpce.
 
- Jednotlivé skratky majú nasledujúci význam:
- PK - Primary Key. Primárny kľúč.
 - NN - Not Null. Hodnota daného atribútu musí byť vždy definovaná (nemôže byť prázdna). V našom prípade to znamená, že v tabuľke anglických slov nemôže byť taký záznam, ktorý by obsahoval prázdny údaj pre stĺpec slovo_en.
 - UQ - Unique. Hodnota atribútu musí byť jedinečná. Znamená to, že v stĺpci slovo_en nemôžu byť dve rovnaké anglické slová.
 - BIN - Binary. Indikuje, že obsahom atribútu sú binárne dáta.
 - UN - Unsigned. Platí len pre celočíselné hodnoty a hovorí že hodnota môže byť len kladná.
 - ZF - Zerofill. Automaticke dopĺňa pred číslo nuly.
 - AI - Auto Increment. Používa sa len s kombinácii s PK. Pri vkladaní nového údaju do tabuľky nemusíme špecifikovať hodnotu primárneho kľúča. Tá sa sama vypočíta ako ďalšie nepoužité číslo v poradí.
 
 
Podobne vytvoríme tabuľky slova_sk a kategorie.
3. Zadefinovanie vzťahov medzi tabuľkami
Ako už bolo spomenuté vzťahy medzi jednotlivými tabuľkami sú:
- slova_en - slova_sk 1:N
 - kategorie - slova_en 1:N
 
- Vytvoríme vzťah 1:N medzi tabuľkami slova_en a slova_sk. Nástrojom "1:n Identifying Relationschip"  
 ako prvú označíme tabuľku, ktorá sa vo vzťahu vyskytuje viacero krát (v našom prípade je to slova_sk). Následne označíme tabuľku, ktorá je vo vzťahu len 1× (slova_en). Podobne to urobíme i pre dvojicu kategorie - slova_en. 




