MODUL III STRUCTURED QUERY ANGUAGE (SQL) Tujuan : 1. Memahami tentang sistem database 2. Memahami instalasi MySQL di lingkungan Windows 3. Memahami dasar-dasar MySQL. Tugas Pendahuluan 1. Apa yang anda ketahui tentang mysql, jelaskan 2. Apa perbedaan instalasi mysql dilingkungan windows dengan linux 3. sebutkan operator dan fungsi dalam mysql! 1. Dasar Teori Basis data adalah sekumpalan informasi yang diatur agar mudah dicari. Dalam arti umum basis data adalah sekumpulan data yang diproses dengan bantuan komputer yang memungkinkan data dapat diakses dengan mudah dan tepat, yang dapat digambarkan sebagai aktifitas dari satu atau lebih organisasi yang berelasi. Pengertian MYSQL Database MYSQL merupakan sistem manajemen basis data SQL yang sangat terkenal dan bersifat Open Source. MySQL dibangun, didistribusikan dan didukung oleh MYSQL AB. MYSQL AB merupakan perusahaan komersial yang dibiayai oleh pengembang MYSQL Tipe Data Data yang terdapat dalam sebuah tabel berupa field-field yang berisi nilai dari data tersebut. Nilai data dalam field memiliki tipe sendiri-sendiri. MYSQL mengenal beberapa tipe data field yaitu : Tipe data numerik 12
Tipe data numerik dibedakan dalam dua macam kelompok, yaitu integer dan floating point. Integer digunakan untuk data bilangan bulat sedangkan floating point digunakan untuk bilangan desimal. Tipe data string String adalah rangkaian karakter. Tipe-tipe data yang termasuk dalam tipe data string dapat dilihat pada tabel 8.1.2.b berikut: Tabel 8.1.2.b Tipe Data String Tipe Data Kisaran Nilai CHAR 1-255 karakter VARCHAR 1-255 karakter TINYTEXT 1-255 karakter TEXT 1-65535 karakter MEDIUMTEXT 1-16777215 karakter LONGTEXT 1-424967295 karakter Tipe data char() dan varchar() Tipe data char() dan varchar() pada prinsipnya sama, perbedaannya hanya terletak pada jumlah memori yang dibutuhkan untuk penyimpanannya. Memori yang dibutuhkan untuk tipe data char() bersifat statis, besarnya bergantung pada berapa jumlah karakter yang ditetapkan pada saat field tersebut dideklarasikan. Pada tipe data varchar() besarnya memori penyimpanan tergantung pada jumlah karakter ditambah 1 byte, dapat dilihat pada tabel 8.1.2.c berikut ini: Tabel 8.1.2.c Letak Perbedaan Jumlah Memori Nilai Char(4) Memori Penyimpanan Varchar (4) 4 bytes 1 byte ab ab 4 bytes ab 3 bytes abcd abcd 4 bytes abcd 5 bytes abcdefgh abcd 4 bytes abcd 5 bytes Memori Penyimpanan Tipe data tanggal Untuk tanggal dan jam, tersedia tipe-tipe data field berupa DATETIME, DATE, TIMESTAMP, TIME dan YEAR. Masing-masing tipe mempunyai kisaran nilai tertentu. MYSQL akan memberikan peringatan kesalahan (error) apabila tanggal atau waktu yang dimasukkan salah. Kisaran nilai dan besar memori penyimpanan yang diperlukan untuk masing-masing tipe dapat dilihat pada tabel 8.1.2.d berikut ini: 13
Tabel 8.1.2.d Tipe Data Tanggal Tipe Data Kisaran Nilai Memori Penyimpanan DATETIME 1000-01-01 00:00 sampai 9999-12-31 3 byte 23:59:59 DATE 1000-01-01 sampai 9999-12-31 8 byte TIMESTAMP 1970-01-01 00:00:00 sampai 2037 4 byte TIME -839:59:59 sampai 838:59:59 3 byte YEAR 1901 sampai 2155 1 byte Operator MYSQL MYSQL mendukung penggunaan operator-operator dan fungsi-fungsi diantaranya: Operator Aritmetika Suatu ekspresi yang melibatkan tipe data bilangan (NUMERIK) dan tanggal (DATE) menggunakan ekspresi aritmatika. Dapat dilihat pada tabel 8.1.3.a berikut ini: Tabel 8.1.3.a Operator aritmatika MYSQL Operator Keterangan + Tambah - Kurang * Kali / Bagi Mod () Modulus Operator Pembandingan Suatu ekspresi yang dapat digunakan pada klausa WHERE dan mempunyai sintax sebagai berikut: WHERE expr operator value. Tabel 8.1.3.b menunjukan operator pembanding pada MYSQL berikut ini: Tabel 8.1.3.b Operator Pembanding MYSQL Operator Keterangan = Sama Dengan > Lebih Besar < Lebih Kecil >= Lebih Besar atau Sama Dengan <= Lebih Kecil atau Sama Dengan <> Tidak Sama Dengan Operator Logika Operator ini digunakan untuk membandingkan dua nilai variabel yang bertipe boolean. 14
Operator Karakter Operator untuk membentuk pencarian string yang sesuai dengan nilai yang mencantumkan pada kondisi. Kondisi pencarian dapat berisi karakter, ada 3 symbol khusus berikut ini dapat dilihat pada tabel 8.1.3.d berikut ini: Tabel 8.1.3.d Tabel Operator Karakter Operator Keterangan % Sembarang karakter berapapun jumlahnya _ Sembarang satu karakter [] Sembarang karakter yang terletak dalam kurung siku Operator Lain-lain Operator yang digunakan untuk menguji nilai-nilai yang ada dalam list (tanda kurung) dan dapat juga untuk menampilkan baris berdasarkan suatu jangkauan (range) nilai. Ada 2 symbol tersebut dapat dilihat pada tabel 8.1.3.e berikut ini: Tabel 8.1.3.e Operator lain-lain Operator Keterangan IN Dalam BETWEEN Diantara 2. Kegiatan Praktikum : Instalasi MySQL-5.0.22-WIN32 : 1. Jalankan file setup mysql, yaitu mysql-5.0.22-win32.exe, maka akan muncul dialog instalasi sebagai berikut : 2. Pilih tombol Next, kemudian muncul dialog tipe instalasi sebagai berikut : 15
3. Pilih Custom, kemudian pilih tombol Next. Kemudian tampil dialog fitur program sebagai berikut : 4. Klik tanda silang pada Developer Components, kemudian pilih This feature will be installed on local hard drive seperti gambar berikut : 16
5. Kemudian pilih tombol Change..., pada folder name ubah menjadi sesuai dengan gambar berikut ini : 6. Pilih OK, kemudian pilih tombol Next, dan pilih tombol Install, maka proses instalasi dimulai. 17
7. Berikutnya muncul dialog account, pilih Skip Sign-Up dan klik tombol Next, maka akan muncul dialog sebagai berikut : 8. Klik tombol Finish dan tombol Next, maka akan muncul dialog sebagai berikut : 18
9. Pilih Standard Configuration dan klik tombol Next, lalu muncul gambar berikut : 19
10. Pilih tombol Next. Kemudian muncul gambar berikut ini. Masukkan password yang diinginkan pada kota isian New root password dan Confirm berikut ini untuk sekuritas, misalnya 123456. Klik tombol Next. 11. Klik tombol Execute sebagai tahap akhir. 12. Klik Finish. 20
Melakukan Koneksi ke MySQL : Cara 1 : 1. Melalui DOS Prompt, masuk ke direktori utama MySQL dengan cara sebagai berikut (yang diketik hanya yang digaris bawah) : C:\>cd \mysql\bin 2. Setelah itu ketikkan perintah berikut (yang diketik hanya yang digaris bawah) : C:\>mysql\bin\mysql u root p maka akan diminta untuk memasukkan passoword, isikan password yang digunakan pada saat instalasi, yaitu 123456. 3. Selanjutnya akan ada respon dari server seperti gambar berikut : Tampilan tersebut di atas menandakan bahwa telah berhasil melakukan koneksi ke server. Cara 2 : 1. Dari menu Start > All Programs > MySQL > MySQL Server 5.0 > MySQL Command Line Client, maka akan muncul tampilan seperti berikut ini : 21
2. Masukkan password yang telah ditentukan pada saat instalasi, yaitu : 123456 kemudian tekan enter. Menuliskan perintah pada mysql Bentuk prompt mysql> adalah tempat menuliskan perintah-perintah MySQL. Setiap perintah SQL harus diakhiri dengan tanda titik-koma ;. Cara untuk membuat sebuah database baru adalah dengan perintah: create database namadatabase; Misalkan anda ketikkan : create database modul1; Untuk membuka sebuah database dapat menggunakan perintah berikut ini: use namadatabase; Contoh: use modul1; Perintah untuk membuat tabel baru adalah: create table namatabel ( struktur ); Constraint Constraint adalah batasan atau aturan yang ada pada table. MySQL menyediakan beberapa tipe constraint berikut : NOT NULL Suatu kolom yang didefinisikan dengan constraint NOT NULL tidak boleh berisi nilai NULL. Kolom yang befungsi sebagai kunci primer (primary key) otomatis tidak boleh NULL. UNIQUE Mendefinisikan suatu kolom menjadi bersifat unik, artinya antara satu data dengan data lainnya namanya tidak boleh sama, misal alamat email. 22
PRIMARY KEY Constraint PRIMARY KEY membentuk key yang unik untuk suatu table. FOREIGN KEY FOREIGN KEY constraint didefinisikan pada suatu kolom yang ada pada suatu table, dimana kolom tersebut juga dimiliki oleh table yang lain sebagai suatu PRIMARY KEY, biasa dipakai untuk menghubungkan antara 2 tabel. Contoh Pembuatan Tabel : Misalkan kita ingin menyimpan data anggota yaitu: nomor, nama, email, alamat, kota. Sedangkan strukturnya seperti tabel dibawah ini : Perintah MySQL untuk membuat tabel seperti diatas bisa dengan 2 cara sbb : create table anggota ( nomor int(6) not null primary key, nama char(40) not null, email char(255) not null, alamat char(80) not null, kota char(20) not null ); 23
create table anggota ( nomor int(6) not null, nama char(40) not null, email char(255) not null, alamat char(80) not null, kota char(20) not null, primary key (nomor) ); Perintah-Perintah Dasar SQL A. Pemasukan data Untuk memasukkan sebuah baris (record) kedalam tabel MySQL adalah sebagai berikut: INSERT INTO table [(column1, column2,...])] VALUES (value1, value2,...]); Contoh : Insert into anggota (nomor,nama,email,alamat,kota) values (100, Adi, adi@yahoo.com, Jl. Keputih 2A no 5, Surabaya ); atau Insert into anggota values (100, Adi, adi@yahoo.com, Jl. Keputih 2A no 5, Surabaya ); 3. Tugas 1. Buatkan dengan perintah mysql database dengan nama perusahaan 2. Di dalam database perusahaan terdapat tabel karyawan, barang, departemen dan produksi 3. Tentukan field name masing-masing table 4. Tentukan primary key pada setiap tabel 24