Navigace se soukromím CoMaps postavena nad OpenStreetMap je nově k dispozici v Google Play, App Store i F-Droid. Jedná se o komunitní fork aplikace Organic Maps.
Vývojáři OpenMW (Wikipedie) oznámili vydání verze 0.49.0 této svobodné implementace enginu pro hru The Elder Scrolls III: Morrowind. Přehled novinek i s náhledy obrazovek v oznámení o vydání.
Masivní výpadek elektrického proudu zasáhl velkou část České republiky. Hasiči vyjížděli k většímu počtu lidí uvězněných ve výtazích. Výpadek se týkal zejména severozápadu republiky, dotkl se také Prahy, Středočeského nebo Královéhradeckého kraje. Ochromen byl provoz pražské MHD, linky metra se už podařilo obnovit. Výpadek proudu postihl osm rozvoden přenosové soustavy, pět z nich je nyní opět v provozu. Příčina problémů je však stále neznámá. Po 16. hodině zasedne Ústřední krizový štáb.
Po více než roce vývoje od vydání verze 5.40 byla vydána nová stabilní verze 5.42 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 64 vývojářů. Změněno bylo přibližně 280 tisíc řádků v 1 500 souborech. Přehled novinek a změn v podrobném seznamu.
Byla vydána nová stabilní verze 7.5 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 138. Přehled novinek i s náhledy v příspěvku na blogu.
Sniffnet je multiplatformní aplikace pro sledování internetového provozu. Ke stažení pro Windows, macOS i Linux. Jedná se o open source software. Zdrojové kódy v programovacím jazyce Rust jsou k dispozici na GitHubu. Vývoj je finančně podporován NLnet Foundation.
Byl vydán Debian Installer Trixie RC 2, tj. druhá RC verze instalátoru Debianu 13 s kódovým názvem Trixie.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za červen (YouTube).
Libreboot (Wikipedie) – svobodný firmware nahrazující proprietární BIOSy, distribuce Corebootu s pravidly pro proprietární bloby – byl vydán ve verzi 25.06 "Luminous Lemon". Přidána byla podpora desek Acer Q45T-AM a Dell Precision T1700 SFF a MT. Současně byl ve verzi 25.06 "Onerous Olive" vydán také Canoeboot, tj. fork Librebootu s ještě přísnějšími pravidly.
Licence GNU GPLv3 o víkendu oslavila 18 let. Oficiálně vyšla 29. června 2007. Při té příležitosti Richard E. Fontana a Bradley M. Kuhn restartovali, oživili a znovu spustili projekt Copyleft-Next s cílem prodiskutovat a navrhnout novou licenci.
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éž.
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.
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ě.
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.
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.
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).
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).
." 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.
." width="250" height="115" />
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 ).
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.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
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?