SQL
Název školy | Vyšší odborná škola obalové techniky a Střední škola, Štětí, příspěvková organizace | ||
Adresa školky | Kostelní 134, 411 08 Štětí | ||
IČ | 46773509 | ||
Název operačního programu | OP Vzdělávání pro konkurenceschopnost | ||
Registrační číslo | CZ.1.07/1.5.00/34.1006 | ||
Označení vzdělávacího materiálu | |||
Název tématické oblasti (sady) | Programování | ||
Název materiálu | Softwarová výbava | ||
Anotace | |||
Autor | Jazyk | ||
Očekávaný výstup | |||
Klíčová slova | |||
Druh výukového zdroje | Věková skupina žáků | ||
Typ interakce | Ročník | ||
Speciální vzdělávací potřeby | žádné | ||
Zhotoveno, (datum/období) | Celková velikost |
Obsah
Client/Server architektura
Při práci s databází si je třeba uvědomit, jak do sebe zapadají jednotlivé programy, které budeme používat. V předchozích cvičeních byla tato architektura před uživatelem poněkud skryta (MS Access / LO Base).
My se ovšem již posouváme od uživatele databáze směrem k administrátorovi databáze, tj. někomu, koho zajímá, co se děje na pozadí databází.
Věc se má tak, že "databáze" je něco, co je uloženo na vzdáleném serveru a prostřednictvím speciálního software, označovaným jako DBMS servírováno tzv. klientům. Nechť se to nazývá databázový server.
Klient je pak program, který si spustí uživatel dle potřeby, a pomocí kterého přistupuje k databázi. Pro komunikaci se serverem se zpravidla využívá síťový protokol TCP/IP, ať už na lokální síti nebo v Internetu.
„Server-based-network“ od User:Mauro Bieg – derived from the Image:Computer n screen.svg which is under the GNU LGPL. Licencováno pod LGPL via Wikimedia Commons.K serveru se může připojit i více klientů současně.
Nenechte se však zmást, pokud spouštíte server a klienta na stejném počítači. I tak probíhá síťová komunikace, ovšem pomocí virtuálního rozhraní loopback (s IP adresou 127.0.0.1, případně aliasem localhost).
Shrnutí
Na cvičeních budeme používat server MariaDB, který bude předinstalovaný na školních počítačích (tedy s adresou localhost). A dále se budeme připojovat ke vzdálenému serveru (s adresou webhosting).
Jako klienta budeme používat HeidiSQL (i ten bude již nainstalovaný na školních počítačích).
Následující text představuje server a některé klienty, které si můžete nainstalovat sami, na svých vlastních počítačů. Veškerý software je distribuován pod svobodnou licencí nebo licencí, která umožňuje jeho šíření. Navíc je zdarma (rozlišujte však dvojí licenční model s placenou verzí - my používáme komunitní edice, které jsou bez poplatků)
Server MariaDB
MariaDB je databázový systém vycházející z MySQL (Po akvizici MySQL firmou Oracle, došlo k forku - rozdělení vývoje - MySQL na verze MariaDB a původní MySQL. Důvody forku jsou především v nespokojenosti a obav z vývoje MySQL firmou Oracle)
Před akvizicí firmou Oracle byl MySQL jeden z nejrozšířenějších databázových systémů na světě. Z důvodů snadnější migrace na MariaDB (snad všechny linuxové distribuce přecházejí na MariaDB) se proto i nadále můžete setkat s označením mysql. Např. binárky pro spuštění klienta/serveru se označují i nadále mysql/mysqld.
Instalace
Vyberte typ instalace podle OS, který používáte: Linux nebo MS Windows.
Linux
Po instalaci se očekává, že spustíte příkaz: mysql_secure_install
, který vás provede nastavením služby.
MS Windows
Odkaz na stažení hledejte na stránkách MariaDB. (Postačí msi balíček)
Součástí instalačního balíku je i client HeidiSQL, který budeme používat ve cvičeních. Všimněte si, že se nebude instalovat položka "Development Components".
Pokud chcete, můžete nastavit uživateli root nějaké heslo - což byste na produkčním systému rozhodně měli. Nicméně pro testovací/studijní účely to není nezbytné.
Doporučuji nastavení výchozí znakové sady na UTF-8, kvůli podpoře národní abecedy.
Pokud nechcete spouštět databázi ručně (z příkazové řádky), nainstalujte si MariaDB jako službu, tj. proces, který se bude automaticky spouštět při startu operačního systému.
Ruční spuštění
Pokud jste MariaDB nenainstalovali jako službu, bude třeba před každém použitím služby databázový server spustit.
Předpokládám, že se nejedná o případ, kdy provozujete MariaDB na Linuxu, proto jsou následující instrukce určeny pro uživatele MS Windows.
Spusťte příkazovou řádku (cmd).
-
Příkazem
cd
se přepněte do adresáře, kam jste nainstalovali MariaDB, a navíc do podadresářebin
.cd "C:\Program files (x86)\MariaDB 10.0\bin"
-
Spusťte příkaz:
mysqld.exe --console
Tím se spustí služba a zůstane v popředí, tj. dokud nezavřete okno cmd, služba bude dostupná.
Příkaz cd
je možná nadbytečný, postačí totiž zadat absolutní cestu k souboru mysqld.exe
.
Jedno z možných a korektních ukončení služby je klávesovou zkratkou Ctrl+c
.
Clienti
Z následujícího výčtu si stačí vybrat pouze jednoho klienta.
HeidiSQL
Klient HeidiSQL je součástí instalace MariaDB pod MS Windows, takže uživatelé MS Windows jej mají pravděpodobně již nainstalovaný. Nativně běží HeidiSQL pouze pod MS Windows, v Linuxu lze spustit pomocí WINE.
Nové spojení
Klient se může nastavit pro připojení k libovolnému počtu serverů. Následující příklad je zaměřen na připojení k serveru na localhostu.
Ukázka dotazu
MySQL Workbench
MySQL Workbench je o něco pokročilejší klient umožňující s databází celou řadu operací. Je vhodný pro návrh a zároveň deployment nové databáze.
Pokud jej shledáte pro vás lépe vyhovujícím, tak jej klidně používejte.
Odkaz na stažení hledejte na stránkách dev.mysql.com. Dostupné jsou verze pro MS Windows i Linux (Ubuntu, Fedora, ...)
Webový klient
Pro přístup k databázi lze použít i webovou aplikaci, tzn. klient přímo ve webovém prohlížeči, dostupný v podstatě odkudkoli. Do této kategorie bych zařadil dva a sice: adminer a phpMyAdmin.
Pro spuštění těchto klientů ovšem potřebujete běhové prostředí typu LAMP (Linux Apache MySql PHP) nebo WAMP (Windows Apache MySql PHP). Popis instalace však přesahuje rámec tohoto textu.
Adminer
Velice minimalistický klient (oproti molochu phpMyAdmin). Výhodou je snadná (žádná) instalace. Jeden soubor. Velmi malý soubor.
phpMyAdmin
Dostupný snad na každém webhostingu s MySQL/MariaDB databází.