Pengantar Teknologi Web 6 Web Database Database • Kumpulan data • Tersimpan dalam suatu tempat • Dapat digunakan secara bersama Database Secara digital • tersimpan dalam bentuk file • tersimpan dalam database server • diakses secara bersama melalui jaringan komputer Database Dalam sistem informasi, penerapan database tidak hanya ditinjau dari sisi ketersediaan data tetapi juga dari sisi • • • • keamanan data konsistensi data validitas data reliablilitas system Perlu menejemen data Database Management System sistem basisdata yang mamiliki kemampuan menajemen untuk menjamin ketersediaan, keamanan, reliabilitas, konsistensi dan validitas data Database Management System Bagaimana cara mengorganisasikan data dalam database? Salah satu metode yg digunakan Menggunakan metode relasi yang didasarkan pada teori himpunan matematika Database Management System Tabel A Tabel B Tabel C Tabel D Tabel E Relational Database Management System Web Database • Tempat penyimpanan (repositories) database atau informasi yang secara dinamis berinteraksi dengan halaman Web • Sebuah metode untuk menyimpan content WWW, dalam format terstruktur atau usable, yang terhubung baik secara statis maupundinamis dengan database lain • Membantu komunikasi antara Web server dan Database.dan memungkinkan pemakai menerbitkan atau mengumpulkan informasi dari manapun Tujuan • Menyediakan jalan / cara remote access ke database server melalui browser • Menggabungkan web server (http) dan database server • Menggunakan semua metodologi web design standard untuk menyediakan kemudahan pemakaian, front end GUI ke database Yg menggunakan web db • • • • • • • • • E-Commerce Resource libraries Catalogs Directories (Yellow Pages) Online Shopping Online Auctions Training Courses Survey Financial Analysis 3-tier arsitektur • Adanya penambahan tier antara database server dan client • Tier ketiga (middle) dapat digunakan untuk menjalankan business rules dan melakukan pemrosesan • Beban pada DBMS server dapat berkurang, sehingga transaksi pada DBMS Server dapat lebih efisien • Aplikasi pemroses akan digeser ke lapisan middle, yang memungkinkan thin clients 3 tier • Application Server (middle tier) dapat berada pada mesin yang berbeda dengan DBMS Server • Banyak vendor yang menawarkan 3-Tier environtments: – – – – J2EE Application Server (untuk EJB) + RDBMS COM+ dan MTS + RDBMS .NET Remoting + RDBMS Web Services • Dimungkinkan untuk menggabungkan antara application servers dan database server Using DBMS • Many pages access a DBMS for the data they display • Use PHP to display the data • Use DBMS to do the heavy work PHP & MySQL MySQL • Open Source SQL database management system • relational database • mampu menyimpan data dalam skala yang sangat besar • dikembangkan, didistribusikan dan disuport oleh MySQL AB • menggunakan Structured Query Language (SQL) sebagai bahasa standardnya - SQL:2003 Main Features of MySQL • Fully multi-threaded using kernel threads. • Works on many different platforms. • Many column types • Very fast joins using an optimized one-sweep multi-join • Full operator and function support in the SELECT and WHERE parts of queries. • You can mix tables from different databases in the same query. • A privilege and password system that is very flexible and secure. • Handles large databases. • Tested with a broad range of different compilers. (C/C++) • No memory leaks. • Full support for several different character sets. What’s New? Now GA! MySQL 5.0 Performance • • • • • Stored Procedures Cluster query push down Query optimizations Archive Engine InnoDB storage improvements Faster Reliability • • • • • • SQL Mode Triggers Views Precision Math Distributed Transactions Cluster object support Better Ease of Use • • • • Migration Toolkit Information Schema Cursors Enhanced GUI Tools Increased Manageability MySQL Architecture Other Advanced SQL • Stored Procedures (5.0) & Triggers (5.1) – Put some app logic into db • Transactions – Multiple queries as an atomic operation – Use “commit;” to save, or “rollback;” to cancel – Can affect performance significantly • Foreign Keys – DB enforces constraints on “joinable” columns • Optimization tools – Benchmarking – Benchmark(1000000, 1+1) – EXPLAIN - optimizations, indices, etc. in use – Add indices to your tables appropriately PHP & MySQL Prosedur Mengakses MySQL • • • • • membuka koneksi (connection) dengan database server memilih dan membuka database yang diinginkan mengirim perintah untuk mengakses (membaca, menulis, mengubah, atau menghapus) data membaca hasil akses yang telah dilakukan mengakhiri koneksi dengan database server PHP & MySQL Prosedur Mengakses MySQL membuka koneksi (connection) MySQL menggunakan PHP $dbServer = "localhost"; dbUser = "unej"; $dbPass = "test"; $dbConn = mysql_pconnect($dbServer, $dbUser, $dbPass); PHP & MySQL Prosedur Mengakses MySQL memilih dan membuka database yang diinginkan // membuka database $db = "SumberDayaAir"; mysql_select_db($db); mengirim perintah untuk mengakses (membaca, menulis, mengubah, atau menghapus) data // membuat query $query = "SELECT RSuhu, RCurahHujan FROM Cuaca "; $ result = mysql_query($query); PHP & MySQL Prosedur Mengakses MySQL membaca hasil akses yang telah dilakukan // mengakses hasil $jumlahHasil = mysql_num_rows($hasil); if($jumlahHasil < 1){ echo("Data tidak ada dalam database <br>");} else{ echo("<table >"); echo("<tr><td>Suhu</td> <td>Curah Hujan </td></tr>"); while ($row = mysql_fetch_object ($result)){ $Suhu=$row->RSuhu; $CurahHujan=$row->RCurahHujan; echo("<tr><td>$ Suhu </td><td>$ CurahHujan </td></tr>");} echo("</table>");} PHP & MySQL Prosedur Mengakses MySQL mengakhiri koneksi dengan database server // ------ putus hubungan dengan database mysql_close($koneksi); NEXT