Přístup k databázím z WWW

Slides:



Advertisements
Podobné prezentace
Přístup k databázím z WWW
Advertisements

HYPERTEXT PREPROCESSOR. JAZYK PHP. Jazyk PHP (Hypertext PreProcessor) je intepretovaný jazyk určený pro web. Je celkem jednoduchý, snadno přenositelný.
Aplikační a programové vybavení
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Přednáška č. 5 Proces návrhu databáze
ZMVŠ. Bezpečnost Windows 8 Dynamic Access Control (DAC) Volně – Dynamický kontrolní přístup) rozšíření NTFS access control listů (ACL) o složitá pravidla.
Informatika pro ekonomy II přednáška 11
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
PROGRAMOVACÍ JAZYKY (c) Tralvex Yeap. All Rights Reserved.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
Adobe Dreamweaver CS4 Ing. Martin Dosedla.
PHP a MySQL Připojení k databázi:
Tvorba webových aplikací
MySQL - Vytvoření nové tabulky  create table jméno_tabulky (jméno_položky typ_položky,... ) Přehled nejběžnějších datových typů Přehled nejběžnějších.
Caché Security. Jak vypadá zabezpečení dnes Jak bude vypadat a co by Caché měla umět v budoucnu Včera, dnes a zítra.
PROGRAMOVÁNÍ V PHP PERSONAL HOME PAGES. 2 PHP JE SKRIPTOVACÍ JAZYK PRO TVORBU DYNAMICKÉHO WEBU A JEHO POČÁTKY SPADAJÍ DO ROKU HISTORIE PAN RASMUS.
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
PHP – Základy programování
Relační databáze.
ICQ. Co je ICQ? ICQ je nejpoužívanější a nejpopulárnější komunikační program. ICQ je zkratka slangového výrazu „I seek you“ (hledám tě). Slouží ke komunikaci.
Vypracoval: Ondřej Dvorský Třída: VIII.A
KIV/ZIS cvičení 6 Tomáš Potužák. Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Stáhnout soubor studenti_dotazy_sql.mdb.
Databázové systémy I Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Maturitní okruh 22: Úvod do HTML. Značkovací a klasické jazyky Klasické: převládá strukturovaný text (programovací kód), skripty jsou prováděny na straně.
Jazyk PHP Programovací jazyk PHP (Hypertext preprocessor) je skriptovací jazyk, který běží na straně serveru. KLIENT - SERVER Server posílá do vašeho počítače.
Číslo šablony: III/2 VY_32_INOVACE_P4_3.8 Tematická oblast: Aplikační software pro práci s informacemi II. Databáze – základy SQL Typ: DUM - kombinovaný.
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
Anotace Žák se seznámí se základy psaní textu ve Wordu a pohyb po dokumentu. Autor Petr Samec Jazyk Čeština Očekávaný výstup Dokáže napsat, opravit a smazat.
Databázové systémy I Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Architektury a techniky DS Cvičení č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Dynamické dokumenty na straně serveru Informatika pro ekonomy II přednáška 8.
Databázové systémy II Přednáška č. 9. Transakce je logická jednotka práce sestávající z jednoho nebo více SQL příkazů, které jsou atomické z hlediska.
AJAX nejmodernější webová technologie… seminář pro učitele ZŠ a SŠ Mgr. Marek Osuchowski Ostravská univerzita © 2011.
Úvod do JavaScriptu JavaScript je p JavaScript je programovací jazyk, který se používá na webových stránkách. JavaScript je typu KLIENT - KLIENT To znamená,
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B16 Autor Ing. Jiří Kalousek Období vytvoření březen.
PHP PHP a MySQL - 15 Mgr. Josef Nožička IKT PHP
uložené procedury (stored procedures) triggery, sekvence, pohledy, funkce, parametrické dotazy (prepared statements) komplexní agregace a SQL dotazy jiné.
Aplikační programy, programovací jazyky, formáty datových souborů
Access Vysvětlení pojmu databáze - 01
Základy syntaxe jazyka PHP PHP JE TECHNOLOGIE BĚŽÍCÍ NA SERVERU. PHP JE TECHNOLOGIE BĚŽÍCÍ NA SERVERU. Typický PHP skript obsahuje: Typický PHP skript.
Dynamic SQL P. Částek. Dynamic SQL Embedded SQL je překládaný preprocesorem => za běhu nelze nechat uživatele rozhodovat o vzhledu samotných SQL příkazů.
Aplikační a programové vybavení
PHP PHP - úvod - 02 Mgr. Josef Nožička IKT PHP
Úvod do PHP IZI 228.
Vzdálené počítačové sítě a programování v prostředí Windows Okruhy ke zkoušce z předmětu: Ing. Zdeněk Votruba LVALVA.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B13 Autor Ing. Jiří Kalousek Období vytvoření březen.
Databázové systémy 2 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Přístup k databázím z WWW PHP+MySQL. Síť WWW je v současné době místem pro dynamické, často databázemi řízené webové aplikace. Tvorba webového serveru.
Microsoft SQL server Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Delphi a databáze MS SQL Server.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B15 Autor Ing. Jiří Kalousek Období vytvoření březen.
PHP Programy pro tvorbu WWW stránek - 01
Databázové aplikace v Delphi
Jan Růžička, Leden /01/05 Proč pro prezentaci prostorových dat využívat nástrojů WWW Nízké náklady na vybavení klientského počítače Snadné zvýšení.
Databázové systémy I Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2015.
JavaScript úvod. Jazyky webového vývojáře Dynamická stránka  aktivně mění svůj obsah v reakci na činnost uživatele  zpracování na straně serveru (PHP,
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.
HYPERTEXT PREPROCESSOR. JAZYK PHP. VYUŽITÍ JAZYKA Programování dynamických internetových stránek a webových aplikací vytvoření šablony webu kniha návštěv.
Publikujeme s Autodesk MapGuide v.5.0 Ing. Jan Růžička, Dr. Ing. Jiří Horák VŠB-Technická univerzita Ostrava
Dynamická webová aplikace Autor:Ondřej Soukup Třída:I3.
Jak fungují webové stránky Úvod do HTML (1). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická.
HYPERTEXT PREPROCESSOR. JAZYK PHP. VYUŽITÍ JAZYKA Programování dynamických internetových stránek a webových aplikací vytvoření šablony webu kniha návštěv.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Vlastnosti souborů Jaroslava Černá.
Databázové systémy a SQL
Vytvoření IS pro správu místností v prostředí WWW
Šablona 32 VY_32_INOVACE_038.ICT.34
Web Application Scanning
Přednáška 9 Triggery.
Transkript prezentace:

Přístup k databázím z WWW 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 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

CGI (Common Gateway Interface) prostředky Je potřeba skloubit přednosti technologie WWW s databázovou technologii – otázka komunikace WWW a DBs Používané přístupy: 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++,C#, Visual Basic.

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

Internet Information Server Podpora pro přístup k databázi: CGI aplikace, Internet Database Connector, Active Server Pages Active Server Pages (ASP) 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.

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) JDBC - 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");

SQLJ 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ů

Porovnání SQLJ s JDBC SQLJ program je kratší, 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.

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.

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

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

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.

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

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

Příklad: 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'); ?>

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); ?>

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)

Ošetření chyb Přístup k metadatům mysql_error - vrátí text chybového hlášení poslední operace mysql_errno - vrátí číslo chyby poslední operace MySQL 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 …

Příklad: 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

Příklad: Zpuštění dotazu 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.

Příklad: 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);