Konsep Dasar Sistem Basis Data (Pengantar ke materi MySQL) Data , Basis Data dan Informasi • Data Fakta tentang sesuatu di dunia nyata yang direkam dan disimpan dalam media komputer • Basis Data Koleksi dari data-data yang terorganisasi sedemikian rupa sehingga data mudah disimpan dan dimanipulasi (diperbaharui, dicari, diolah dengan perhitungan-perhitungan tertentu, dan dihapus) • Informasi Data yang telah diolah sedemikian rupa sehingga memiliki makna tertentu bagi pengguna 2 Cara Pandang Data • Peringkat Fisik (terendah) : mendeskripsikan struktur data yang digunakan, pola representasi bit dsb, yang akan disimpan dalam penyimpanan fisik. • Peringkat Logika : medeskripsikan data apa yang disimpan di basis data dan hubungan apa yang ada antara data-data tersebut. • Peringkat Pengguna (tertinggi) : menyederhanakan interaksi pengguna dengan sistem dalam bentuk GUI dakan aplikasi sistem basis data. 3 Model Relasional Basis Data (RDBMS) • Model yang menggunakan sejumlah tabel untuk menggambarkan data serta hubungan antar data-data tersebut. • Setiap tabel memiliki sejumlah kolom dimana setiap kolom memiliki nama yang unik atau disebut Field. Setiap field akan didefinisikan tipe dan panjang fieldnya. • Kumpulan field hingga membentuk suatu entity yang unik disebut Record. Tabel : Mahasiswa NIM 11290254 12290358 11290435 Tabel : Matakuliah Nama Anindita Bonita Carminia Tabel : Pengambilan Matakuliah NIM 11290253 12290358 11290435 No_MK 110011 130012 130013 No_MK 110011 130012 130013 Nilai A A C Nama_MK Pascal C Basis Data SKS 3 3 3 Database Universitas 4 MySQL • MySQL termasuk ke dalam Relational Database Management System (RDBMS) yang didistribusikan secara gratis di bawah lisensi GPL (General Public License) • MySQL merupakan turunan dari konsep database SQL (Structured Query Languange) untuk pemilihan /seleksi dan pemasukan data yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. 5 Keistimewaan MySQL • Portability : berjalan stabil pada berbagai sistem operasi (Windows,Linux, Mac OS, Solaris dsb) • Open Source : didistribusikan secara open source (gratis) • Multiuser : dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik • Performance Tuning : memiliki kecepatan yang baik dalam menangani query sederhana. • Column Types : memiliki tipe kolom yang kompleks, seperti : signed/unsigned integer, float, double, char, varchar, blob, time, datetime, timestamp, year, set serta enum • Command dan Functions : memiliki olpertor dan fungsi secara penuh yang mendukkung perintah SELECT dan WHERE dalam query 6 Keistimewaan MySQL • Security : memiliki lapisan sekuritas, seperti level subnetmask, nama host dan izin akses user disertai dengan password enkripsi. • Scalability dan Limits : mampu menangani database dalam skala besar dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris. • Connectivity : dapat melakukan koneksi dengan client menggunakan protokol TCP/IP, Unix soket atau Named Pipes. • Localisation : dapat mendeteksi pesan kesalah (error code) pada client dengan menggunakan lebih dari dua puluh bahasa. • Interface : memiliki interface terhadap berbagai aplikasi dan bahasa pemrograman dengan fungsi API (Application Programming Interface). • Clients dan Tools : dilengkapi dengan berbagai tool yang dapat digunakan untuk administrasi database • Struktur Tabel : memiliki struktur tabel yang lebih fleksibeldalam menangani ALTER TABLE dibandingkan Oracle atau PostgreSQL 7 Dasar MySQL • Mengaktifkan direktory MySQL c:\>MYSQL • Mengatur password root mysql>MYSQLADMIN –UROOT PASSWORD nama password; • Membuat, mengaktifkan dan melihat database mysql>CREATE DATABASE nama_database; mysql>USE nama_database; mysql>SHOW DATABASES; • Membuat, mengetahui struktur dan melihat tabel mysql>CREATE TABLE nama_table (nama_field type_field(panjang_field), ) ; mysql>DESCRIBE nama_table; mysql>SHOW TABLES; 8 Dasar MySQL • Mengisikan data ke dalam tabel mysql>INSERT INTO nama_tabel VALUE(data1a,data1b,…..); • Menampilkan data untuk semua kolom mysql>SELECT * FROM nama_table; • Menampilkan data untuk kolom tertentu mysql>SELECT field1,field2 FROM nama_table; • Menampilkan data dengan menghindari pengulang-an data pada kolom yang diinginkan mysql>SELECT DISTINCT field1 FROM nama_table; • Menampilkan data dengan mengurutkannya secara Ascending atau Descending mysql>SELECT field1,field2 FROM nama_table ORDER BY field3; • Menampilkan data dengan penyaringan mysql>SELECT * mysql>SELECT * mysql>SELECT * item_data2; mysql>SELECT * FROM nama_table WHERE field1 = Item_data; FROM nama_table WHERE field1 < item_data; FROM nama_table WHERE field1 BETWEEN item_data1 AND FROM nama_table WHERE field1 LIKE %keyword’; 9 Dasar MySQL • Mengetahui jumlah nilai pada suatu kolom (SUM) mysql> SELECT SUM(field1) FROM nama_tabel ; • Mengetahui jumlah nilai rata-rata pada suatu kolom (AVG) mysql> SELECT AVG(field1) FROM nama_tabel ; • Mengetahui nilai maksimal/minimal pada suatu kolom (MAX/MIN) mysql> SELECT MAX(field1) FROM nama_tabel ; mysql> SELECT MIN(field1) FROM nama_tabel ; • Mengetahui jumlah record yang tidak bernilai kosong pada suatu tabel (COUNT) mysql> SELECT COUNT(*) FROM nama_tabel ; • Melihat gabungan dua tabel mysql> SELECT nama_tabel1.field1a, nama_tabel1.field1b, nama_tabel2.field2a, nama_tabel2.field2b FROM nama_tabel1,nama_tabel2 WHERE nama_tabel1.field3a, nama_tabel2.field3b ; 10 Fungsi-fungsi MySQL yang dapat diakses PHP • Mysql_connect : untuk membuat hubungan ke database MySQL yang terdapat pada suatu host mysql_connect(host,nama_pemakai,password); Contoh : $id_mysql= mysql_connect(“localhost”,”php”,”pinguin”); • Mysql_close : untuk menutup hubungan ke database MySQL mysql_close(pengenal_hubungan); Contoh : mysql_close($id_mysql”); • Mysql_select_db : untuk memilih database MySQL (seperti USE) mysql_select_db(database, pengenal_hubungan); Contoh : mysql_select_db(“bukualmt”,$id_mysql); • Mysql_query : untuk mengeksekusi permintaan tehradap tabel mysql_query(permintaan, pengenal_hubungan); Contoh : mysql_query(SELECT * FROM kota”,,$id_mysql); • Mysql_db_query : untuk menjalankan suatgu permintaan terhdap suatu database mysql_db_query(database, permintaan,pengenal_hubungan); Contoh : mysql_db_query(“bukualmt”,”SELECT * FROM kota”,$id_mysql); 11