MySQL workbench - tvorba modelu: Rozdiel medzi revíziami
d  | 
				d  | 
				||
| Riadok 1: | Riadok 1: | ||
| − | |||
{{Skripta_dbs}}  | {{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 verzie 5.1 a vyššie. Nepodporuje MySQL Server 4.x. MySQL Workbench ponúka tri hlavné moduly:  | 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:  | ||
Verzia zo dňa a času 19:56, 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. 




