Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Databázové systémy Přístup k databázím z WWW. Síť WWW je v současné době místem pro dynamické, často databázemi řízené webové aplikace. Tvorba webového.

Podobné prezentace


Prezentace na téma: "Databázové systémy Přístup k databázím z WWW. Síť WWW je v současné době místem pro dynamické, často databázemi řízené webové aplikace. Tvorba webového."— Transkript prezentace:

1 Databázové systémy Přístup k databázím z WWW

2 Síť WWW je v současné době místem pro dynamické, často databázemi řízené webové aplikace. Tvorba webového serveru pomocí statických souborů HTML je nepřijatelná. Dynamické webové prezentace jsou flexibilní výtvory s velkou kapacitou a lze je popsat spíše jako aplikace, než pouze jako stránky. K tvorbě dynamických webových aplikací slouží mnoho různých technologií. Nejčastěji se používají:  Microsoft ASP (Aktive Server Pages)  JSP (Java Server Pages)  ColdFusion  PHP

3 Je potřeba skloubit přednosti technologie WWW s databázovou technologii – otázka komunikace WWW a DBs Používané přístupy: 1.CGI ( Common Gateway Interface) prostředky CGI script je externí program, který je na požadavek od uživatele spuštěny WWW serverem jako samostatný proces. CGI scripty jsou často vytvářeny ve scriptovem jazyce Perl nebo v některem shellu OS Unix, z programovacich jazyku se pouziva napr. jazyk C nebo C++, Visual Basic.

4 2. Použití aplikace ve tvaru DLL – Dynamic Link Library - snížení režie spouštění procesů oproti CGI aplikacím 3. Vyhodnocení dokumentu na WWW serveru - formou přidaných direktiv 4. Přístup k databázím z jazyka JAVA - přímý přístup

5 Internet Information Server Podpora pro přístup k databázi: CGI aplikace, Internet Database Connector, Active Server Pages Skripty se vykonávají na straně serveru a provádějí před odesláním stránky klientovi - klientské a serverovské skripty lze kombinovat Zabudované objekty : Request - získání informací od uživatele. Response - zaslání informací uživateli. Server - práce s ActiveX komponentami (pro Access - ADO). Session - uchování informací o uživatelově sezení. Application - uchování informací o uživatelích dané aplikace. Active Server Pages (ASP)

6 Přístup k databázím z Jazyka JAVA Možnosti přístupu k databázi z prostředí jazyka Java: JDBC vložený SQL (SQLJ) - Java API pro styk s relačními databázemi, rozhraní „nízké“ úrovně - typické kroky při přístupu k databázi: Např. vytvoření spojení: Connection con = DriverManager.getConnection ("jdbc:odbc:db", "login", "password"); JDBC

7 Standardní způsob vkládání SQL. Zvláštnosti prostředí jazyka Java oproti hostitelským jazykům pro SQL: objektová orientace, automatická správa paměti, existence odlišitelné prázdné hodnoty (null) pro složené datové typy, binární přenositelnost, podpora pro spolupráci komponent různých výrobců SQLJ

8 SQLJ - vyšší úroveň statické vazby se schématem DB Důsledky: SQLJ program je kratší, možnost spojení s databází v době překladu pro typovou kontrolu, jednodušší práce s hostitelskými proměnnými, možnost použití výrazů, typování výsledků dotazů a návratových hodnot, JDBC předává hodnoty do/z SQL bez typové kontroly v době překladu, volání uložených procedur a funkcí je v SQLJ také jednodušší než v JDBC. Porovnání SQLJ s JDBC

9 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. www.php.net

10 Proč používat PHP? Jazyk PHP je jedním z nejlepších kompromisů mezi tím, jak snadno jej můžou používat začátečníci a jak širokou škálu možností využití nabízí zkušeným programátorům. K přednostem technologie PHP patří výkon, stabilita, přenositelnost, těsná integrace s většinou databázových systémů a téměř neomezené možnosti rozšiřování – to vše prakticky zdarma (PHP je dodáván s veřejným zdrojovým kódem).

11 Jak PHP funguje? PHP je jazykem určeným pro skriptování na straně serveru – tzn. kód, který je napsán v jazyce PHP je uložen na počítači nabízejícím webové stránky návštěvníkům. Navštíví-li uživatel webovou prezentaci napsanou v jazyce PHP, načte server kód PHP a zpracuje ho podle zadaných parametrů. Server pak data odešle webovému prohlížeči, který pak s daty pracuje jako se standardními stránky HTML. Tím se liší dynamická prezentace od statické, v niž na požádání server pouze odešle data HTML do webového prohlížeče – na straně serveru nedochází k žádnému zpracování.

12 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.

13 PPHP Kklient Sserver Ppožadavek skriptu HHTM L Ppožadavek na URL adresu HHTML MySQL ddotaz ddata

14 Základní funkce jazyka PHP pro práci s databázemi MySQL Připojení k DB serveru a zrušení spojení mysql_connect - otevře spojení s databázovým serverem MySQL, vrací identifikátor spojení mysql_pconnect - otevře trvalé spojení s MySQL serverem (neukončuje se při ukončení skriptu ani funkcí) mysql_close() - vrací identifikátor spojení mysql_select_db - nastaví aktuální aktivní databázi pro dané spojení s databázovým serverem mysql_close - uzavře spojení s databázovým serverem MySQL

15 Vytvoření a zrušení databáze mysql_create_db - vytvoří databázi spravovanou serverem MySQL mysql_drop_db - zruší databázi spravovanou serverem MySQL Práce s kurzorem mysql_query - pošle zadaný příkaz současné aktivní databázi serveru MySQL, pro INSERT, UPDATE a DELETE vrací příznak úspěšnosti, pro SELECT číslo kurzoru mysql_db_query - vrátí číslo kurzoru pro zadaný dotaz pro danou databázi mysql_affected_rows - vrátí počet řádků ovlivněných posledním příkazem INSERT, UPDATE nebo DELETE mysql_fetch_array - vrátí řádek kurzoru jako asociativní pole (výběr podle jména sloupce)

16 Ošetření chyb mysql_errno - vrátí číslo chyby poslední operace MySQL mysql_error - vrátí text chybového hlášení poslední operace Přístup k metadatům mysql_list_dbs - vrátí kurzor obsahující seznam dostupných databází, k procházení slouží funkce mysql_tablename mysql_list_tables- vrátí kurzor obsahující seznam tabulek dané databáze, k procházení slouží funkce mysql_tablename mysql_tablename - vrátí jméno tabulky s daným pořadovým číslem prostřednictvím kurzoru vráceného funkcí mysql_list_tables mysql_fetch_field - vrátí objekt, který nese informaci o daném sloupci daného kurzoru mysql_field_seek - nastaví ukazatel kurzoru na daný sloupec mysql_field_name - vrátí jméno daného sloupce kurzoru …

17 Připojení a výběr databáze mysql_connect( [string server [, string uziv_jmeno [, string heslo [, bool nove_spojeni [, int nastaveni_klienta]]]]]) mysql_select_db ( string jmeno_databaze [, resource spojeni]) <?php # mysql_spojit.php // Vytváření připojení k serveru MySQL $spojeni = mysql_connect ('localhost','root','root'); // Výběr pracovní databáze mysql_select_db ('studijni_agenda'); ?>

18 Nebo pomocí definice konstant <?php # mysql_spojit.php //Vytvoření připojení k serveru MySQL a vyběr pracovní databáze. // Nastavte informace pro přístup k databázi jako konstanty. DEFINE ('DB_UZIVATEL', 'root'); DEFINE ('DB_HESLO', 'root'); DEFINE ('DB_HOSTITEL', 'localhost'); DEFINE ('DB_DATABAZE', 'studijni_agenda'); // Připojení a výběr pracovní databázi. $spojeni = mysql_connect (DB_HOSTITEL, DB_UZIVATEL, DB_HESLO); mysql_select_db (DB_DATABAZE); ?>

19 Ošetření chyb mysql_errno ( [resource spojeni]) mysql_error ( [resource spojeni]) <?php mysql_connect("localhost", "root", "root"); mysql_select_db("neexististujicidb"); echo mysql_errno(). ": ". mysql_error(). "\n"; mysql_select_db("databaze"); mysql_query("SELECT * FROM neexististujicitabulka"); echo mysql_errno(). ": ". mysql_error(). "\n"; ?> Předchozí příklad by zobrazil následující výstup: 1049: Unknown database 'neexististujicidb' 1146: Table 'databaze.neexististujicitabulka' doesn't exist

20 Zpouštění dotazů mysql_query ( string query [, resource spojeni]) // Sestavte dotaz. $dotaz = "SELECT CONCAT(prijmeni, ' ', jmeno) AS jmeno, rod_cislo, obor, DATE_FORMAT(datum_zapisu, '%d.%m.%Y') AS datum FROM student ORDER BY prijmeni"; $vysledek = @mysql_query ($dotaz); // Spusťte dotaz.

21 Načtení výsledků dotazů mysql_fetch_array ( resource výsledek [, int result_type]) $dotaz = mysql_query("SELECT id, jmeno FROM Student"); while ($zaznam =mysql_fetch_array($dotaz)) { echo $zaznam["id"]; echo $zaznam["jmeno"]; } mysql_free_result($dotaz); mysql_fetch_row ( resource výsledek [, int result_type]) $dotaz = mysql_query("SELECT id, jmeno FROM Student"); while ($zaznam =mysql_fetch_row($dotaz)) { echo $zaznam[0]; echo $zaznam[1]; } mysql_free_result($dotaz);


Stáhnout ppt "Databázové systémy Přístup k databázím z WWW. Síť WWW je v současné době místem pro dynamické, často databázemi řízené webové aplikace. Tvorba webového."

Podobné prezentace


Reklamy Google