Michal Čihař - phpMyAdmin (4.) - relace

phpMyAdmin (4.) - relace

Jak optimálně využít relace, aby se s phpMyAdminem lépe pracovalo a co vše nám to umožní?

Interní relace

V předchozím díle jsme si připravili půdu pro použití relací, nyní je tedy využijeme. Po jejich nastavení budeme moci znáze zadávat záznamy, protože nebude nutné si pamatovat ID řádku, ale budeme si moci vybrat ze seznamu. Relace se nastavují na samostatné stránce - na přehledy o tabulce klikneme na odkaz Zobrazit relace:

Abychom tabulku mohli používat jako cíl pro relace, je vhodlé nastavit jaký sloupec se má v odkazujících tabulkách používat pro zobrazení hodnoty. V tomto případě to samozřejmě bude název. Zároveň můžeme vytvořit relaci mezi kategoriemi pro vytvoření stromové struktury:

Podobně nadefinujeme zobrazení názvu u licence a konečně obě relace u software:

Pokud nyní budeme chtít upravovat záznam v tabulce s programy, již nezadáváme číslo odkazující do tabulky, ale vybereme ze seznamu záznam z odkazované tabulky:

V případě ručního zadávání odkazů může dojít k jejich nekonzistenci, protot phpMyAdmín nabízí i kontrolu integrity těchto relací. Kontrolu integrity nalezneme na záložce Úpravy:

Relace v InnoDB tabulkách

Kromě výše popsaných relací, také můžeme pracovat s nativními relacemi v InnoDB tabulkách. Tyto mají výhodu, že jsou kontrolovány přímo v MySQL, takže odpadá nebezpečí nekonzistence, které existuje u relací vytvárených jen v uživatelském rozhraní. InnoDB tabulky ale obvykle nejsou povoleny na různých hostingových službách, takže je dost často můžeme použít jen pokud MySQL server spravujeme sami. Nejdříve je nutné povolit InnoDB v konfiguraci MySQL, parametry InnoDB značně záleží na očekávené velikosti databáze a záteže, proto je vhodné si nejdříve přečíst dokumentaci.

Pokud tedy již máme MySQL server se zapnutou podporou InnoDB, můžeme vytvořit stejné tabulky jako v předchozím případě (až na fulltextové indexy, které InnoDB nepodporuje), ale zvolíme typ tabulky InnoDB.

Nyní při úpravě relací vidíme jak interní relace phpMyAdmina, tak i ty uložené v InnoDB:

Kromě nastavení odkazovaného sloupce zde můžeme ovlivnit i reakci na úpravu nebo smazání řádku, na který odkazujeme. Tím je zajištěna integrita i při takovýchto úpravách databáze.

Komentáře

Stejně tak jako jakýkoliv software, i databáze by měla být dokumentována. phpMyAdmin nám umožňuje zadat komentáře k tabulkám (stejně jako MySQL), ale i k jednotlivým sloupcům (tato vlastnost je od verze 4.1 také podporována v MySQL). Komentáře lze zadat buď při úpravě struktury, nebo na stejné stránce, jako zadávání relací:

Tyto kometáře se zobrazují ve struktuře tabulky, ale jsou užitečné i při různých výstupech, které mohou být začleněny do dokumentace projektu. Tyto výstupy budou podrobněji popsány v následující části.