Přístup k databázím z WWW MySQL server
Co je MySQL? MySQL (vyslovuje se „maj es kjú el“) je nejoblíbenější databázový systém s veřejným zdrojovým kódem. MySQL nabízí vysoký výkon, přenositelnost, spolehlivost, přiměřenou dobu zaučení za minimální náklady. Aplikace byla vyvinuta a je udržovaná švédskou společností MySQL AB. Jde o systém správy databází určený pro relační databáze (RDBMS – relational database management system). Relační databáze je kolekcí vzájemně provázaných dat – k ukládání informací používá tabulky.
Co je PHP? PHP – Personal Home Page. Technologii vytvořil v r. 1994 Rasmus Lerdorf. PHP se označuje jako „vložený skriptovací jazyk“ – znamená to, že je-li vložen do HTML, lze jej přímo interpretovat v kódu HTML. PHP je technologie nezávislá na platformě, je určena pro servery – vše, co se v kódu PHP odehrává, se odehrává na serveru, nikoli na klientském počítači. Jazyk PHP lze používat na většině operačních systémů (Windows, Unix, Linux, Macintosh). Oficiální webovou aplikaci lze najít na stránkách www.php.net.
Jak funguje propojení PHP+MySQL? Začleněním databáze do webové aplikace lze určitá data generovaná PHP načítat z databáze MySQL. Obsah stránek přestává být statický (napevno zapsaný) a stává se flexibilním. To je pak klíčem k dynamickým webovým prezentacím. Oficiální webovou aplikaci lze najít na stránkách www.mysql.com.
Server Klient PHP MySQL Požadavek skriptu Požadavek na URL adresu dotaz PHP MySQL data HTML HTML
Potřebné softwarové vybavení Abychom mohli vyzkoušet práci se síťovými verzemi databázových systémů bez ohledu na používaný operační systém, budeme k tomu potřebovat: software webového serveru (např. Apache, Xitami, IIS ) – budeme používat Apache, PHP, MySQL, webový prohlížeč – (Internet Explorer, Netscape Navigator, Mozilla, Opera …), textový editor, nebo integrované vývojové prostředí, v případě používání vzdáleného serveru – aplikaci umožňující FTP přenosy.
Vše se může pořídit prakticky zadarmo – Apache, PHP i MySQL jsou produkty s veřejně přístupným kódem – open source. Máme-li počítač, stačí pouze stáhnout nezbytný software z internetu a nainstalovat jej dle předpisu. Počítač pak může sloužit jednak jako klient a jednak jako server. Je možné si předplatit službu WEBHOSTING (využívání prostoru na serveru poskytovatele). Při výběru poskytovatele je důležité, zda lze na daném serveru spouštět aplikace PHP a využívat databáze MySQL.
Jak pracuje Webový server? Na server lze pohlížet ze dvou úhlů: 1. Server jako vybraný stroj, na kterém je nainstalovaný databázový systém a na jeho discích jsou uložena naše data. 2. Server jako proces (program), který běží na zvoleném počítači, který obsluhuje jednotlivé požadavky klientů. Klienti zadávají SQL příkazy a server tyto příkazy nad databází vykonává. Klientem pak může být konkrétní databázová aplikace, nebo také řádkový terminál.
Software Pokud chceme vyvíjet webové aplikace na svém vlastním serveru (domácím počítači), bude nutné nejdříve nainstalovat nezbytný software. Byl vybrán nástroj: Uniform Server Je to volný produkt a neobsahuje komerční přístup! Nepotřebuje instalaci, stačí nakopírovat! 1. Download z adresy: www.uniformserver.com 2. Rozbalení UniServer.zip - uložený na síťovém disku P:/Common/Board/Databazove Systemy
Instalace – verze 3.5 1. Na přístupné místo (např. na lokálním disku) rozbalíme soubor UniServer.zip – uložený na P:/Common/Board/Databazove Systemy Požadavky systému:- Windows 95, 98, ME, NT, 2000 nebo XP; - podpora protokolu TCP/IP. Uzpůsobení serveru Apache: - zapnout TCP/IP protokol (nemáte-li síťovou kartu, nainstalujte jakýkoli).
Instalace – verze 3.5 2. Použití: spustit program Server_Start .bat (vytvoří se automaticky disk W:\ - bude se chovat jako server), nebo Disk Start.vbs (lze vybrat disk, který se bude chovat jako server), připojí http://localhost/apanel/. (nebo po úpravě http://localhost:8000/apanel/) 3. Pro správné ukončení práce je potřeba z hlavního menu vybrat "Shutdown Server", nebo spustit soubor Stop.bat – zastaví práci MySQL i Web Serveru .
Definovaní uživatelé MySQL Po instalaci softwaru bývá automaticky vytvořen uživatel root, který má nastavené heslo root a nastavená všechna privilegia – oprávnění k vykonávání příkazů v databázích. Mimo uživatele root je vytvořen ještě uživatel pma, který nemá žádná privilegia ani heslo. Možnost nastavení: Admin Panel Configuration Private Server Cofiguration Informacemi o vytvoření nového uživatele, vytvoření a změně hesla uživatele, nastavení privilegii uživatelům se budeme zabývat v dalších kapitolách.
Možnost nastavení konfigurace Z hlavního menu vybereme volbu: Apache configuration
Možnost nastavení konfigurace Z hlavního menu vybereme volbu: PHP configuration
Testování instalace - PHP 1.Vytvořte v textovém editoru následující dokument PHP 2. Uložte soubor jako phpinfo.php 3. Přeneste jej na webový server – tj. na disk w:/www 4. Ověřte správnost kódu ve svém prohlížecí – na web serveru spusťte phpinfo.php Funkce phpinfo( ) vrací konfigurační informace o instalaci jazyka PHP v přehledné tabulce.
Propojení PHP+MySQL 1.Vytvořte v textovém editoru následující dokument PHP 2. Uložte soubor jako mysql_test.php 3. Přeneste jej na webový server – tj. na disk w:/www 4. Ověřte správnost kódu – spusťte jej na web serveru 5. Je-li skript schopen připojení k serveru, zobrazí se text
6. V případě, že se připojit nemůže, zobrazí zprávu Pokud se skript PHP nemůže připojit k serveru MySQL, jedná se většinou o problém s oprávněními uživatelů. Je potřeba zkontrolovat uživatelské jméno, heslo a počítač, z kterého se připojujeme (hostitel).
Práce s monitorem MySQL Častým způsobem komunikace se serverem MySQL (kromě skriptů PHP) je monitor mysql (nebo klient mysql). Klientskou aplikaci mysql spustíme prostřednictvím příkazového řádku z adresáře usr/local/mysql/bin: mysql –u root –p (heslo)root Ukončení práce s monitorem: Exit nebo Quit
Vytvoření databáze CREATE DATABASE název_databáze; Výpis seznamu existujících databází na serveru MySQL: SHOW databases; Výběr databáze, kterou chceme používat: - moje_db USE moje_db;
Vytvoření tabulky CREATE TABLE název_tabulky ( jméno_sloupce1 TYP [integritní omezení], jméno_sloupce2 TYP [integritní omezení], ...); TYP: datový typ pole (sloupce) - číslo – INT , FLOAT(m,d) - text - TEXT, CHAR(n) - datum a čas – DATE, TIME Integritní omezení: omezení hodnoty prvku pole (sloupce) - NULL nebo NOT NULL - UNIQUE - PRIMARY KEY - UNSIGNED - Nemusí se definovat!
Vytvoření tabulky Ověření existence vytvořené tabulky a jeji struktury: SHOW TABLES; DESCRIBE název_tabulky; nebo SHOW COLUMNS FROM název_tabulky;
Přejmenování tabulky Odstranění tabulky Odstranění databáze Změna názvu tabulky je možná v MySQL následovně: RENAME TABLE starý_náz_tabulky TO nový_náz_tabulky; Odstranění tabulky DROP TABLE název_tabulky; Pokud provedeme příkaz DROP TABLE, tak přijdeme o všechna data, která v mazané tabulce byla uložena. Odstranění databáze DROP DATABASE název_databáze; Pokud provedeme příkaz DROP DATABASE, tak přijdeme o všechny tabulky a data, která v databáze byla uložena.
Zadání cv.2: Vytvořte databázi SPORITELNA, která bude obsahovat tabulky: Clovek: rod_cislo, jmeno, prijmeni, ulice, PSC, mesto Ucet: cis_uctu, stav, vlastnik, pobocka Pobocka: nazev, jmeni Navrhněte pro jednotlivá pole vhodné datové typy. Přejmenujte tabulku CLOVEK na KLIENT. Vytvořte novou tabulku ZMENA_UCTU, navrhněte pro ni vhodná pole a datové typy. Zobrazte strukturu tabulky ZMENA_UCTU. Odstraňte tabulku POBOCKA. Zobrazte všechny tabulky v databáze SPORITELNA. Zobrazte všechny databáze na MySQL Serveru. Zobrazte tabulky databáze FIRMA.