MySQL workbench - tvorba modelu: Rozdiel medzi revíziami
d  | 
				d  | 
				||
| Riadok 4: | Riadok 4: | ||
*Modelovanie dát (Data Modeling)  | *Modelovanie dát (Data Modeling)  | ||
*Správa MySQL servera  | *Správa MySQL servera  | ||
| − | [[Súbor:Mysql workbench.png|  | + | [[Súbor:Mysql workbench.png|frame|center|MySQL WorkBench - úvodná obrazovka]]  | 
;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.    | ;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.  | ;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.  | ||
| Riadok 27: | Riadok 27: | ||
'''1. Vytvorenie novej databázovej schémy'''  | '''1. Vytvorenie novej databázovej schémy'''  | ||
| − | :V úvodnej obrazovke (predchádzajúci obrázok) vyberieme   | + | :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   | + | :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|frame|center|MySQL WorkBench - pracovné prostredie]]  | [[Súbor:Mysql workbench 2.png|frame|center|MySQL WorkBench - pracovné prostredie]]  | ||
| Riadok 37: | Riadok 37: | ||
'''2. Vytvorenie nového ER modelu'''  | '''2. Vytvorenie nového ER modelu'''  | ||
| − | :V hornej časti pracovnej plochy zvolíme   | + | :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|frame|center|MySQL WorkBench - tvorba ER diagramu]]  | [[Súbor:Mysql workbench 3.png|frame|center|MySQL WorkBench - tvorba ER diagramu]]  | ||
| Riadok 45: | Riadok 45: | ||
:*slovo_en - anglické slovo  | :*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   | + | :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|frame|center|MySQL WorkBench - editor tabuľky]]  | [[Súbor:Mysql workbench 4.png|frame|center|MySQL WorkBench - editor tabuľky]]  | ||
| Riadok 68: | Riadok 68: | ||
:* kategorie - slova_en 1:N  | :* kategorie - slova_en 1:N  | ||
| − | :Vytvoríme vzťah 1:N medzi tabuľkami slova_en a slova_sk. Nástrojom   | + | :Vytvoríme vzťah 1:N medzi tabuľkami slova_en a slova_sk. Nástrojom '1:n Identifying Relationship'  [[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|frame|center|MySQL WorkBench - ER diagram prekladového slovníka]]  | [[Súbor:Mysql workbench 6.png|frame|center|MySQL WorkBench - ER diagram prekladového slovníka]]  | ||
Verzia zo dňa a času 19:42, 27. 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 Relationship'  
 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. 




