dum | žák

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í
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

pdf icon
Softwarová výbava

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
Debian / Ubuntu / Mint

V distribucích založených na Debian GNU/Linuxu, tj. Ubuntu, Mint, Elementary OS ... zadejte do konzole příkaz:

sudo apt-get install mariadb-server

 

Fedora / openSUSE

V distribucích využívajících RPM (RedHat, CentOS, Fedora, SUSE, ...) zadejte do konzole příkaz:

yum install mariadb

Následně je potřeba provést povolení služby:

systemctl enable mariadb

a její spuštění:

systemctl start mariadb

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.

  1. Spusťte příkazovou řádku (cmd).

  2. Příkazem cd se přepněte do adresáře, kam jste nainstalovali MariaDB, a navíc do podadresáře bin.

    cd "C:\Program files (x86)\MariaDB 10.0\bin"

  3. 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í.