abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 12:33 | Zajímavý software

Článek ne Medium představuje nejnovější stabilní verzi 2.0 svobodné decentralizované mikroblogovací platformy a sociální sítě podobné Twitteru Mastodon (Wikipedie). Detailní přehled novinek na GitHubu [Hacker News].

Ladislav Hagara | Komentářů: 0
dnes 06:00 | Komunita

V Praze na půdě Elektrotechnické fakulty ČVUT dnes probíhá RT-Summit 2017 – setkání vývojářů linuxového jádra a uživatelů jeho real-time verze označované jako preempt-rt. Přednášky lze sledovat online na YouTube.

Ladislav Hagara | Komentářů: 0
včera 14:33 | Zajímavý projekt

Blender Animation Studio zveřejnilo první epizodu z připravovaného animovaného seriálu The Daily Dweebs o domácím mazlíčkovi jménem Dixey. Ke zhlédnutí také ve 3D s rozlišením 8K.

Ladislav Hagara | Komentářů: 0
včera 12:34 | Komunita

Aktualizovanou počítačovou hru Warhammer 40,000: Dawn of War III v ceně 39,99 eur běžící také na Linuxu lze o víkendu na Steamu hrát zdarma a případně ještě v pondělí koupit s 50% slevou. Do soboty 19:00 lze na Humble Bundle získat zdarma Steam klíč k počítačové hře Sid Meier's Civilization® III v ceně 4,99 eur běžící také ve Wine.

Ladislav Hagara | Komentářů: 0
včera 00:22 | Nasazení Linuxu

Společnost Samsung oznámila, že skrze dokovací stanici DeX a aplikaci Linux on Galaxy bude možno na Samsung Galaxy S8 a S8+ a Galaxy Note 8 provozovat Linux. Distribuce nebyly blíže upřesněny.

Phantom Alien | Komentářů: 11
19.10. 23:55 | Komunita

Společnost Purism na svém blogu oznámila, že její notebooky Librem jsou nově dodávány se zrušeným (neutralized and disabled) Intel Management Engine (ME). Aktualizací corebootu na již prodaných noteboocích lze Management Engine také zrušit. Více v podrobném článku.

Ladislav Hagara | Komentářů: 0
19.10. 21:44 | Nová verze

Organizace Apache Software Foundation (ASF) na svém blogu slaví páté výročí kancelářského balíku Apache OpenOffice jako jejího Top-Level projektu. Při této příležitosti byl vydán Apache OpenOffice 4.1.4 (AOO 4.1.4). Podrobnosti v poznámkách k vydání. Dlouhé čekání na novou verzi tak skončilo.

Ladislav Hagara | Komentářů: 6
19.10. 19:22 | Pozvánky

Již příští týden - 26. a 27. října se v Praze v hotelu Olšanka odehraje OpenWRT Summit. Na webu konference naleznete program a možnost zakoupení lístků - ty stojí 55 dolarů. Čtvrtek bude přednáškový a v pátek se budou odehrávat převážně workshopy a meetingy.

Miška | Komentářů: 1
19.10. 13:44 | Nová verze

Bylo vydáno Ubuntu 17.10 s kódovým názvem Artful Aardvark. Ke stažení jsou Ubuntu Desktop a Server, Ubuntu Cloud Images, Ubuntu Netboot, Kubuntu, Lubuntu a Lubuntu Alternate, Lubuntu Next, Ubuntu Budgie, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio a Xubuntu. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 22
19.10. 13:00 | Komunita

MojeFedora.cz informuje, že Fedora 27 dostane podporu pro AAC. Podpora multimediálních formátů je ve výchozí instalaci Fedory tradičně limitovaná kvůli softwarovým patentům, ale desktopový tým Red Hatu se ji i tak snaží v poslední době co nejvíce rozšířit. Už nějaký čas obsahuje kodeky pro MP3, H.264, AC3 a nyní byl přidán také kodek pro další velmi rozšířený zvukový formát – AAC.

Ladislav Hagara | Komentářů: 2
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (10%)
 (1%)
 (1%)
 (1%)
 (75%)
 (12%)
Celkem 156 hlasů
 Komentářů: 7, poslední 19.10. 23:06
    Rozcestník

    Modelování MySQL databáze pomocí MySQL Workbench

    20. 2. 2013 | Václav Švirga | Recenze | Návody | 11419×

    Článek je určený pro ty, co někdy potřebují modelovat logické schéma databáze (zjednodušeně „ty tabulky“) nejenom na platformě Linux a vybrali si databázi MySQL. Nemusí jít jenom o vyloženě databázové experty, protože úkol vytvořit databázi se objevuje už na středních školách v rámci projektů.

    Obsah

    Logický návrh databáze

    link

    Pro pořádek dodám lehký úvod do problematiky: Pokud je cílem našeho snažení databáze (někde uložená uspořádaná data), musíme mít na počátku zadaní, které specifikuje s jakými daty a jakým způsobem se bude pracovat. Dalším krokem je rozdělení dat na různé entity (objekty reálného světa) a určení vztahů mezi nimi. Toto se nazývá konceptuální model. Entitami si můžeme přestavit například knihu a autora a vztahem to, že autor napsal knihu. A nakonec můžeme převést daný konceptuální model na logický model, který konkrétně řeší, jak budou daná data reprezentována objekty (relační) databáze, což jsou tabulky, pohledy, indexy, atd...

    Dopředu upozorním, že není vyloženě nutné používat nějaký nástroj. Entity a vazby se dají namalovat na papír a SQL skript popisující logický model se napíše z hlavy do textového editoru. Další oblíbený postup je tabulky naklikat v nástrojích typu phpMyAdmin či Adminer. V článku se ale pokusím ukázat třetí cestu, kterou si při větším počtu entit (tabulek) nemohu vynachválit a možná ji někdo docení též.

    MySQL Workbench

    link

    A to použít MySQL Workbench, což je open source nástroj od autorů MySQL pod licencí GPL (existuje i komerční verze, článek je ale o OSS) nejen k vizuálnímu návrhu databáze. Program funguje na platformě Linux, Windows a Mac OS X. Článek je o aktuální verzi 5.2.47. Co se týče instalace na Linux, na domovské stránce jsou balíčky pro Fedoru, Ubuntu a Oracle / Red Hat Enterprise Linux 6 a to v 32 i 64bitové verzi. Pro Ubuntu jsou dokonce pro verzi 12.04 a 10.04, která se mi podařila nainstalovat na Debian Wheezy. Pro ostatní distribuce jsou zdrojové kódy, ovšem v první řadě byste se měli podívat, jestli už nemáte program v repozitářích.

    Proč vizuální návrh?

    link

    Pokud chceme něco dělat, musíme mít k tomu důvod. Proč navrhovat logický model vizuálně? Osobně proto, že to považuji za přehledné. Takový návrh má samodokumentační funkci, vazby mezi tabulkami jdou okamžitě vidět a i cizí člověk, co se dostane k projektu, se má šanci rychle zorientovat.

    Tuto funkci by ale pořád poměrně dobře zastoupila tužka a papír (i když výstup z MySQL Workbench vypadá podstatně lépe, než to jak umím malovat). Ta za Vás ale nevygeneruje SQL kód. Toto je možná trošku kontroverzní vlastnost, kterou spousta vývojářů odmítá, protože považuje takto generovaný kód za ošklivý. Je to věc názoru, já jsem s tím, co MySQL Workbench produkuje, spokojený.

    MySQL Workbench má ale ještě jednu a to někdy dost zabijáckou vlastnost. Dokáže grafickou reprezentaci reverzně vytvořit z SQL skriptu, tedy z existující databáze! A navíc umí vytvářet SQL „patche“ (importujete, graficky upravíte a exportujete ALTER skript). Ovšem všechno popořadě.

    Samotné modelování

    link

    Po spuštění programu se nám ukáže úvodní obrazovka, kde je správa existujících modelů. Je skvělé, že program disponuje funkcí obnovy a pokud by náhodou spadl, neuložené modely jsou zde označeny žlutým vykřičníkem a jdou obnovit. My vytvoříme nový model. Objeví se další okno, které obsahuje více věcí, ale ta hlavní je ikona přidat diagram.

    MySQL Workbench

    A teď konečně můžeme začít modelovat. První věc, co radím udělat je nastavit název databáze, kódování a způsob řazení. Bude se hodit při exportu. To uděláme v levém sloupci pravým kliknutím na výchozí databázi „mydb“ a zvolením upravit schéma.

    MySQL Workbench

    Nyní už můžeme z nástrojové lišty přidávat tabulky. Poklepáním na tabulku se nám v panelu dole zobrazí její nastavení. To je rozděleno na několik logických celků. Můžeme změnit jméno enginu, řazení, indexy, nevlastní klíče, definovat triggery a podobně, ale nejvíce nás zajímá sekce sloupce (columns).

    MySQL Workbench

    Zde jdou velmi pohodlně definovat všechny atributy tabulky. Je intuitivní, že pro přidání dalšího sloupce stačí zmáčknout šipka dolů a enter a rovněž oceňuji, že do sloupce pro datový typ lze přímo psát, takže není problém nic jako ENUM('zaměstnanec', 'šéf').

    Pokud máme více tabulek, je potřeba mezi nimi definovat vazby. Ty jsou pak v SQL řešeny pomocí primárních a nevlastních klíčů. Integritní omezení pro nevlastní (foreign) klíče umí až InnoDB, proto doporučuji tento engine pro tabulky používat. Vazby opět najdeme v nástrojové listě a máme jich na výběr více (1:1, 1:N, N:M).

    Takhle může vypadat vazba mezi tabulkami. Knížka nemůže mít víc autorů <img src=." width="250" height="118" />

    Pozastavím se nad vazbou 1:N, která je zde v identifikující a neidentifikující variantě, což se liší tím, jestli má být nevlastní klíč součástí primárního klíče tabulky nebo ne. Při vytváření vazby se prvně kliká na odkazující tabulku a poté na odkazovanou. Aplikace má spoustu šikovných vychytávek, například při najetí na vazbu / tabulku se zvýrazní barevně co je s čím propojeno nebo při smazání vazby se program zeptá, zda ponechat vytvořené sloupce, či je odstranit.

    Formát, jakým bude program pojmenovávat nevlastní klíče, integritní omezení a indexy (MySQL Workbench při vytvoření vazby automaticky pro nevlastní klíč vytvoří index) se dá specifikovat v nastavení a vždy to lze ručně změnit v nastavení tabulky.

    Trošku složitější model. Více autorů už není problém <img src=." width="250" height="115" />

    Export, import, diff

    link

    Pokud jsme už s modelem spokojeni, budeme ho chtít exportovat. Možnosti najdeme v menu File→Export. Kromě SQL skriptu program samozřejmě zvládá export i do SVG a PNG, pokud bychom například chtěli model vložit do dokumentace.

    Skvělou vlastností programu je možnost vytvořit „patch“ (ALTER skript) vůči existujícímu SQL skriptu. Tato volba se jmenuje Forward Engineer SQL ALTER Script.

    Toto se dá skvěle zkombinovat s importem, který dokáže reverzně otevřít existující SQL schéma, které můžete třeba lehce upravit a exportovat si ALTER skript, který spustíte nad databázi s daty (předtím ale rozhodně zálohujte :-)).

    To není vše

    link

    V článku jsem popsal jen věci, které používám. MySQL Workbench toho ale umí mnohem více. Dokáže spravovat existující databázi podobně jako phpMyAdmin (pokud to ale není Vaše lokální databáze, potřebujete povolený vzdálený přístup na databázovém serveru), automaticky na ni exportovat vaše úpravy v modelu, atd...

    Na druhou stranu se dá nástroj využít, i když nikdy žádnou existující databázi vytvářet nechcete a to jako kreslítko tabulek do dokumentace, protože grafický výstup je slušný. A pak nemusíte ani používat MySQL.

    Za tu dobu, co program používám, se občas stane, že spadne, ale díky automatické obnově to není problém. Celkově MySQL Workbench hodnotím jako výborný kousek software a je skvělé, že je dostupný i na Linuxu.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    kouzer avatar 20.2.2013 05:50 kouzer | skóre: 11 | Mladá Boleslav
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench

    Shodou náhod jsem Workbanch zkoušel před dvěma dny a kvůli častým pádům jsem se vrátil do textového editoru a napsal SQL ručně. Teď (po přečtení článku) si říkám jestli mu nevadilo, že jsem použil MariaDB místo MySQL.  To by ale mělo být jedno, ne?

    Linux user #448944.
    20.2.2013 08:36 blondak | skóre: 36 | blog: Blondak | Čáslav
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    Já jsem zase hledal něco do eclipse a našel jsem Clay Mark.
    Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
    20.2.2013 21:45 linear
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    V Eclipse je JPA Diagram Editor ktery umi generovat diagramy ze zdrojaku a obracene.
    23.2.2013 12:59 Ivan
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    Myslis Dali? Neni to zatim jen experimentalni? Navic to podporuje pouze JPA 1.0
    25.2.2013 00:12 linear
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    Já jsem spokojenej, staci mi to na moje pouziti (vygeneruji graf, abych pochopil vsechny vazby). Zatim je to JPA 1.0 a nektere veci z JPA 2.0, ale vyviji se to,
    20.2.2013 13:25 Bruce | blog: O čom ani Chuck Norris nepíše | Bratislava
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    Ja som to "pouzival" tak 3-4 roky dozadu, ale padalo to ako hrusky. Vidim, ze sa za tu dobu nic nezmenilo :) Po tom co som zacal robit v Djangu, tak nejako nemam potrebu tieto nastroje pouzivat, pride mi to ako pouzivanie grafickych nadstavieb nad git/svn, hoci prikazova riadka poskytuje daleko pohodlnejsi a efektivnejsi pristup nez tie klikatka ;)
    21.2.2013 03:13 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    Pokud jsi nepoužíval přímo deployd na databázový server a vytvářel jsi dumpy, tak by to určitě vliv mít nemohlo. Jak jsem v článku psal, semtam to spadne, ale kdyby to padalo nějak pořád, tak to nepoužívám. Spíše máš nějakou problematickou verzi knihoven nebo mám prostě štěstí :-/.
    Baník pyčo!
    20.2.2013 07:10 Petr Kobekla
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    Já používám workbench už hodně dlouho, včetně jeho předchůdce MySQL DB cosi a zatím bez jakýchkoliv problému. Jsem s ním hodně spokojen i když za poslední rok dost výrazněm změnili celkové GUI a tím jsem si musel zvykat na velké změny.
    20.2.2013 08:30 Jiří Lisický | skóre: 31 | blog: JIL_blog | Olomouc
    Rozbalit Rozbalit vše online nástroj wwwsqldesigner
    Kdysi jsem objevil tohle http://code.google.com/p/wwwsqldesigner/ Běží to přímo ve webovém prohlížeči. Nebude to na nějaké složitosti, ale na rychlé udělání nějakého návrhu je to pěkné. Vlevo dole je odkaz na demo
    20.2.2013 09:10 Martin
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    Za vyzkoušení by měl stát i http://www.fabforce.net/dbdesigner4/ .
    20.2.2013 12:52 Erbureth | skóre: 20
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    DB Designer už je obsolete, MySQL WB je právě jeho nástupce.
    20.2.2013 13:54 Martin
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    Díky, to jsem z jejich průvodní dokumentace nevyčetl :)
    20.2.2013 09:34 Petr Ježek | skóre: 10
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    Díky za článek, zatím jsem si vlastní databáze netvořil, ale nakoplo mne to k tvorbě jistých ekonomických aplikací :)
    Archlinux for your comps, faster running guaranted!
    svido avatar 20.2.2013 13:56 svido | skóre: 28
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    Co mám zkušenost, tak MySQL Workbench docela dost padá. Je to docela dobrý nástroj, ikdyž pokud někdo umí UML, tak se Workbench nepotřebuje. Setkal jsem se s tím, že některé věci nefungovali v Linuxu a musel jsem spouštět VM s Win, kde jsem udělal potřebné věci ve Workbenchi. A to mi nepřijde dost efektivní.
    22.2.2013 12:31 cuba.g | skóre: 8
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    Padání může být způsobeno tématem GTK v KDE. Často mi to taky padalo a stačilo změnit téma a vše v pořádku.
    20.2.2013 19:11 SpookY
    Rozbalit Rozbalit vše Re: padá padá padá padá
    MySQL Workbench vypadá zajímavě, ALE... ale je to zabugovaný nestabilní krám. Vyzkoušeno na několika mašinách.
    21.2.2013 03:05 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    Njn, že to občas padne vím, v článku jsem na to upozornil. Ale zase nepadá to tak často, aby se to nedalo používat a automaticky restore to celkem řeší. Navíc u aktuální verze se to zlepšilo a vývojáři na tom imho pracují.
    Baník pyčo!
    21.2.2013 08:32 Nemo
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    Na základě tohoto článku jsem ho dvakrát zkusil spustit a dvakrát mi spadnul. Škoda, něco takového by se mi hodilo...
    21.2.2013 16:38 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    Tak mám asi štěstí ;). Jinak používám 64b verzi. Možná bys mohl zkusit přeložit to ze zdrojáků, třeba se ti při instalaci z balíčku nesnesou verze knihoven.
    Baník pyčo!
    21.2.2013 20:07 sparrowhawk | skóre: 4
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    mam prelozeno ze zdrojaku pro slackware64 14.0 - primo ze slackbuilds.org a nespadlo mi to ani jednou. takze souhlasim z vyse uvedenym, nez kdokoli zacne tento nastroj uplne odepisovat
    3.3.2013 12:30 Ivan Nový
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    Používám na Ubuntu a padlo to tak 1 za 2 roky. Má to i slušný textový editor, grafické schéma vytvoří automaticky z databáze, nebo naopak. Skvělý nástroj zdarma.
    25.2.2013 01:00 FrantaS | skóre: 12 | Hlučín
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    Já jsem s tímto programem velmi spokojen. Pády za několik let spočítám na prstech rukou. Nyní ho již delší dobu používám pro postgres. Vyexportuji, natlačím do mysql, vydampuji, překonvertuji programem z webu, projedu vlastním scriptem a v postgresql spustím dva importy. Vše je hotovo i s daty číselníků. Mám dokonce dobře i typ boolean i s daty. Vlastní script zapracuje i takové věci, jako že data a indexy do vlastních tablespaces nebo na některé sloupce CHECK či DEFERRABLE. Včera jsem aktualizoval pgAdmin3 a mám tam nově možnost modelovat, ale za tímto SW to ještě pokulhává.
    Ať se nám daří.
    25.2.2013 17:02 pepa
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    Ja pouzivam k me plne spokojenosti Power*Architect 0.9.14, coz je java desktop aplikace.
    25.2.2013 20:27 FrantaS | skóre: 12 | Hlučín
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    Ta verze k volnému stažení má nějaká omezení? 30 dnů, počet tabulek, nejde export, atd?
    Ať se nám daří.
    3.11.2013 09:52 Ika
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    Ahojte, našiel by sa tu niekto, kto by mi skontroloval, či som dobre urobila ERD diagram?
    4.11.2013 20:17 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Modelování MySQL databáze pomocí MySQL Workbench
    Na titulní stránce abíčka máš databázovou poradnu. Zkus položit dotaz tam.
    Baník pyčo!

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.