5. Database MySQL
Apa Database MySQL Itu?
Database bisa dikatakan sebagai suatu kumpulan dari data yang tersimpan dalam tabel dan diatur atau diorganisasikan sehingga data tersebut bisa diambil atau dicari dengan mudah dan efisien. Database MySQL merupkan sebuah database server SQL multiuser dan multi-threaded. Implementasi program data ini adalah program daemon mysqld dan beberapa program lain serta beberapa pustaka. MySQL dibuat oleh TcX dan telah dipercaya mengelola sistem dengan 40 buah database berisi 10,000 tabel dan 500 di antaranya memiliki 7 juta baris(kira-kira 100 gigabyte data). Database ini dibuat untuk keperluan sistem database yang cepat, handal dan mudah digunakan. Walaupun memiliki kemampuan yang cukup baik, MySQL untuk sistem operasi Unix bersifat freeware, dan terdapat versi shareware untuk sistem operasi windows
Gambar 5.1 Struktur Database MySQL
Hirarki Dalam Database
Dalam database atau skema merupakan kumpulan dari :
Tabels Views Stored Procedure Functions Triggers Events
Table
Sebagaimana basis data sistem yang lain, dalam MySQL juga dikenal hierarki server dengan basisdata. Tiap-tiap basisdata memiliki tabel-tabel. Tiap-tiap tabel memiliki field-field. Umumnya informasi tersimpan dalam tabel yang secara logik merupakan struktur 2 dimensi terdiri atas baris dan kolom. Field-field tersebut dapat berupa data seperti integer, real char, date, time dan lainnya.
Pemrograman 2 – Framework Yii (Badiyanto, S.Kom.,M.Kom)
5- 1
Vew
Gambar 5.2
Tabel Field, Record
View adalah tabel yang isi barisnya secara tidak eksplisit tersimpan dalam database tetapi jika diperlukan akan diperhitungkan dari definisi view. contoh perintah menciptakan View CREATE VIEW B_Strudent (name, sid, course) AS SELECT S.name, S.sid, E.cid FROM Student AS S, Enrolled E WHERE S.id = E.studid AND E.srade=’B’ View student memiliki tiga field yang disebut name, sid, dan course dengan domain yang sama, jika terjadi pada perubahan di tabel Student dan Enrolled otomatis akan mengikuti.
Function Dalam database server ada 2 ketegori fungsi: (1) fungsi aggregate adalahfungsi bawaan seperti SUM(), MAX(), MIN(), COUNT() dan lain-lain, yang terdapat pada sistem database tersebut, (2) fungsi yang diciptakan oleh user sendiri. Fungsi dibuat menggunkan rangkaian perintah ditulis dengan bahasa PL/SQL. Ketika dicipatakan akan tersimpan secara permanen dalam database server. Contoh : DELIMITER $$ CREATE FUNCTION kali(X INT, Y INT) RETURNS INT BEGIN RETURN X*Y; END$$; Contoh di atas mengalikan bilangan X dan bilangan Y, dengan nama fungsi kali(X,Y). Setelah dieksekusi cara mengilnya seperti perintah berikut : SELECT kali(20.10);
Pemrograman 2 – Framework Yii (Badiyanto, S.Kom.,M.Kom)
5- 2
Stored Procedure
Stored Procedure hampir sama dengan fungsi, tetapi cara memanggilnya mengunakan perintah CALL nama_prosedure(parameter1,…..) DELIMITER $$ CREATE PROCEDURE GetKota(IN nama_prop VARCHAR(255)) BEGIN SELECT nama_kota, telepon FROM kantor WHERE propinsi = nama_prop; END $$ DELIMITER ;
Cara memanggil CALL GetKota(‘DIY’);
Trigger
Pemicu proses untuk perubahan isi tabel terjadi pada saat pengguna melakukan transaksi. Transaksi ini biasanya juga berpengaruh terhadap tabel-tabel lain. Sebagai contoh : pada saat transaksi penjualan sistem akan menambah rekaman tabel JUAL sebelum perintah INSERT misalnya mengecek jumlah stok di tabel BARANG, dan sesudahnya mengurangi stok di tabel BARANG. Oleh karena itu anda bisa menempatkan trigger yang merupakan prosedur pemicu untuk melakukan proses sesuai dengan keinginan. Trigger adalah suatu objek dalam basisdata yang terdapat pada bagian tabel. Trigger untuk menempatkan suatu prosedure berkaitan dengan perubahan pada isi tabel. Cara kerja trigger adalah merespon berkaitan dengan perintah DML (INSERT , UPDATE, DELETE) pada tabel. contoh : mysql> CREATE TRIGGER ins_trig BEFORE INSERT ON Emp -> FOR EACH ROW -> BEGIN -> UPDATE Employee SET Salary=Salary-300 WHERE Perks>500; -> END;
Event
MySQL Event Scheduler mengelola penjadwalan dan menjalankan perintah tertetu secara terjatwal secara otomatis. Perintah Event hanya terdapat pada MySQL versi 5.1. Cara kerja seperti “cron job” pada sitem UNIX/LINUX dan Windows Task Scheduler untuk sistem Windows. CREATE EVENT e_store_ts ON SCHEDULE EVERY 10 SECOND DO INSERT INTO myschema.mytable VALUES (UNIX_TIMESTAMP()); Pemrograman 2 – Framework Yii (Badiyanto, S.Kom.,M.Kom)
5- 3
Mangelola Database MySQL menggunakan phpMyAdmin
Untuk mengelola database memerlukan propgram client, program client tersebut ada yang versi command line (mysql), dan vesi GUI (graphical user interface) . Untuk versi GUI ada 2 pilihan antara lain versi desktop misal MySQL-Front, SQLYog, dan lain-lain, dan versi web, phpMyAdmin. phpMyAdmin merupkan perangkat lunak berbasis web yang terdapat dalam bendel xampp.
Menciptakan user Jalankan browser Mozilla Firefox atau Windows Internet Explorer
panggil dengan perintah http://localhost/
Gambar 5.3
Halaman Utama Xampp
Kemudian pilih dan klik bagian tool phpMyAdmin Selanjutnya akan tampak seperti pada tampilan gambar berikut :
Pemrograman 2 – Framework Yii (Badiyanto, S.Kom.,M.Kom)
5- 4
Gambar 5.4
phpMyAdmin
klik menu user Klik Add User
Gambar 5.5
Menu Manambah User
Isikan misal: Login Information User Name Host Password re-type
: dewi : localhost : 123 : 123 (ulangi)
Gambar 5.6
Isian Menambah User
Pemrograman 2 – Framework Yii (Badiyanto, S.Kom.,M.Kom)
5- 5
Mengatur kewenangan/akses terhadap user Database For User pilih Create database with same name and grant all privileges Global privileges (Check All / Uncheck All) Klik Check All
Gambar 5.7
Mangatur Kewenangan User
hasilnya
Gambar 5.8
Menu Menampilkan User
Pemrograman 2 – Framework Yii (Badiyanto, S.Kom.,M.Kom)
5- 6
Menciptakan Database
Untuk menciptakan database : Klik menu Database Isikan Create Database : myweb Klik tombol Create
Gambar 5.9
Mencipkan Database
Menciptakan Tabel
Untuk membuat tabel di dalam database myweb, pilih kotak kombo database myweb, menciptakan Tabel tbl_golongan menggunakan skrip SQL lewat menu SQL, isikan kotak editor SQL sebagaiberikut : CREATE TABLE tbl_golongan( id int(11) NOT NULL DEFAULT '0', gol_ruang varchar(10), golongan varchar(50), PRIMARY KEY (id) ); Seperti gambar berikut :
Pemrograman 2 – Framework Yii (Badiyanto, S.Kom.,M.Kom)
5- 7
Gambar 5.10
Klik tombol Go Mengisikan Rekaman tbl_golongan
Gambar 5.11
Menciptakan Tabel tbl_golongan dengan Skrip SQL
Merekam Tabel tbl_golongan dengan Skrip SQL
Klik Go
Melihat tabel dengan SQL, tulislah skrip berikut lewak kotak editor SQL: SELECT * FROM tbl_golongan
Pemrograman 2 – Framework Yii (Badiyanto, S.Kom.,M.Kom)
5- 8
Gambar 5.12
Isi Tabel tbl_golongan
Relasi Tabel SELECT tbl_pegawai.nip, tbl_pegawai.nama,tbl_golongan.gol_ruang,tbl_golongan.golongan FROM tbl_pegawai, tbl_golongan WHERE tbl_pegawai.gol_id = tbl_golongan.id
Gambar 5.13
Tampilan Hasil Relasi Tabel
Pemrograman 2 – Framework Yii (Badiyanto, S.Kom.,M.Kom)
5- 9