- význam, charakteristika databázového systému, prostředky, verze, MySQLi
– obecný pojem databáze – smyslem je strukturovaně ukládat data tak, abychom je mohli později prezentovat nebo používat jako užitečné informace (např. počítadlo přístupů – v tabulce jsou pouze záznamy přístupů a pomocí dotazování lze zjistit jejich počet, strukturovat je podle atributů a z toho např. získat kolikrát určitý návštěvník zobrazil např. náš web) – užitečná informace je až v momentu, kdy získáme konkrétní číslo v určitém kontextu.
– charakteristika – jedná se o relační databázový systém ťj. data organizovaná v tabulkách – pole a záznamy a pomocí dotazů je možno k datům přistupovat, relace umožňují datovou asociaci (tvorba vazeb); projekt MySQL nyní vlastní firma Oracle a je nadále pod licencí GNU-GPL. MySQL využívá univerzální SQL jazyk (Open Source)
– prostředky: datové úložiště – souborový systém – obslužný SW (např. programovací jazyky založené na C = PHP), obslužnou aplikací je webový server s PHP a na něm napsaný – PhpMyAdmin – webová stránka, která umožňuje spravovat … prostředky ovlivňují chod SŘBD a organizaci dat – úložiště typu MyISAM a nebo InoDB ovlivňují např. to, jak budou velké datové soubory jedné tabulky, způsoby řízení …
– verze: oficiální info na https://www.mysql.com/ momentálně nejnovější v 8.0 ale stále běžně na webhostingu se používají v 5.x … nejnovější webové aplikace jsou závislé na aktuálnosti obou subsystémů verze PHP i MySQL např. Moodle – nejnovější verze si vyžaduje min. PHP v7 a MySQL v.5.x a při alších aktualizacích se požadavky na aktuálnost zvyšují
– MySQLi – verze tzv. improved – vylepšená kvůli bezpečnostním hrozbám (SQL injektáže a jiných způsobů hackování) – všechny vylepšené funkce knihovny jsou na začátku mysqli_query, mysqli_fetch_array, mysqli_ …. ale ani MySQLi není nejdokonalejší způsob prevence proti hacku … alternativně je lepší používat objektový přístup a především knihovnu PDO (předdefinované dotazy – predefined statement object …)
- nástroje pro správu
– standardně se používá PMA – PhpMyAdmin ale existují i jiné alternativy – většinou se jedná o PHP aplikace, jiné alternativy závisí na typu konektoru.
– známé konektory: ADO.NET, C, C++, JDBC, ODBC, Perl, PHP, Python, Ruby více na: http://www.junext.cz/mysql/
– PMA – umožňuje prakticky to samé jako Access – editace, tvorba, mazání … dokonce i správu uživatelů a dokkonce i export celého systému (dump) nebo import pro snadnou migraci (přesun ze serveru na server)
- připojení webové aplikace
– ukázka PHP konektoru:
$relace_pripojeni = mysqli_connect(„localhost“, „root“, „vertrigo“, „blog“);
– 1. parametr – adresa počítače vyřizujícího SQL dotazy (IP adresa nebo URL)
– 2. parametr – jméno uživatele
– 3. parametr – heslo uživatele
– 4. parametr – název aktivní databáze
– dále se v PHP aplikaci pro volání dalších dotazů využívá relace spojení uložená v proměnné $relace_pripojeni
např. $data=mysqli_query($relace_pripojeni, „SELECT * FROM tabulka“);
- SQL (DDL, DCL, DML)
– SQL – strukturovaný dotazovací jazyk
– příkazy rozdělujeme do tří základních kategorií
– DDL – data definition language – např. CREATE TABLE …
– DCL – data control language – např. PRIVILEGES (např nastavení oprávnění manipulace s databází nějakému uživateli … zkrátka řízení správy uživatelů … zajiště, že ne každý může mít přístup ke všemu
– DML – data manipulation language – např. UPDATE, DROP TABLE, SELECT …
více k syntaxím na http://www.junext.cz/mysql/
- využití, migrace
– systém MySQL se stal kvůli své jednoduchosti a nevelké robustnosti systému k hojně využívaným SŘBD, nejčastěji pro ukládání dat webových stránek, ale existují i desktopové aplikace, které ji mohou využívat
jiné alternativy k MySQL např. ProgreSQL nebo LiteSQL …. ve webovém prostředí
– migrace se provádí příkazy v PMA export oddělených databází nebo najednou (dump)