CONTENT

17 Desember 2007

Sekilas tentang SQL

Buat temen-temen yang saat ini mengambil pemrograman generasi ke-IV tentunya sudah bisa mengolah suatu database menggunakan SQL. Tapi, tahu ga apa itu SQL?.

SQL (Structured Query Language) adalah sebuah bahasa pemrograman yang berinteraksi dengan database.
Secara umum, data-data penting disimpan dalam bentuk tabel yang terdiri dari field (kolom) dan record (baris). Kumpulan tabel yang saling berhubungan itu akan membentuk sebuah database (basis data) dan disimpan dalam media penyimpanan. Data-data tersebut bisa dipanggil suatu waktu apabila dibutuhkan, tapi bila berjumlah banyak pasti bikin repot. Untuk itulah diperlukan SQL untuk mengatur, mengelola, dan menampilkan kembali data-data tersebut..
SQL hanya semacam kode/perintah, nantinya perangkat lunak yang akan menterjemahkan dan mengelola perintah tersebut. Perangkat lunak tersebut adalah DBMS (Database Management System).
Setiap produsen software menawarkan DBMS yang sifatknya khusus dan belum tentu kompatibel dengan DBMS lainnya. Misalnya Microsoft Acces belum tentu cocok dengan Foxpro, PostgreSQL, dBASE atau RDBMS.
Supaya DBMS yang kamu pakai bisa berinteraksi dengan DBMS lain, maka kamu harus menginstasl ODBC (Open Database Connectivity). ODBC akan mengintegrasikan basis data antar-DBMS dan menterjemahkan beragam sintask SQL, misalnya sintaks SELECT dan INSERT.
Sebagai informasi, ada kurang lebih 40 sintaks yang bisa saling dikombinasikan. Contoh sederhana kombinasinya adalah sebagai berikut; Saya punya sebuah database bernama DIL yang berisi semua pelanggan PLN di Metro. Database itu berisi kurang lebih 30.000 pelanggan. Kemudian saya ingin menampilkan data pelanggan yang mempunyai nama IRFAN dan beralamat di YOSODADI dan mengurutkan hasil pencarian berdasarkan no_pelanggan. Maka perintah yang saya gunakan adalah sebagai berikut :
SELECT * FROM DIL WHERE nama=”IRFAN” AND alamat=”YOSODADI” ORDER BY no_pelanggan
SQL banyak menggunakan bahasa inggris yang mudah dipahami. Secara simpel, kalau contoh sintaks diatas kita terjemahkan dalam bahasa Indonesia, maka maknanya sebagai berikut : ”Pilih (* = semua record ) dari database dil dengan nama = irfan dan beralamat di Yosodadi lalu urutkan berdasar no_pelanggan”. Gampang kan?


Tips-tips SQL
1. Pada saat akan memasukkan record ke dalam table (misal table Dosen) biasanya digunakan perintah INSERT INTO Dosen (Dosen_nama, Dosen_Alamat, Dosen_Telp) VALUES (‘Marco, ‘ Rajabasa’, ‘ ’ ).
Misalnya struktur tabelnya adalah berurutan sbb. Dosen_no, Dosen_nama, Dosen_Alamat, Dosen_Telp.
Untuk mempersingkat pengetikan, maka dapat digunakan rumus sbb :
INSERT INTO dosen VALUES ( ’ ’, ’Marco’,’Rajabasa’,’ ’ )
Dengan catatan : pengisian pada tabel harus pas pada kolomnya. Untuk kolom yang tidak kita isi (Contoh : dosen_no & dosen_telp) maka cukup diberi 2 tanda petik [ ’ ’ ].

2. Operator Not bisa menggunakan tanda ”<>”. Contoh
Select * from mahasiswa where mhs_alamat<>’Metro’
Untuk memilih mahasiswa yang tidak beralamat di metro. Tanda [<>] ini sama dengan [ != ].

3. Coba lihat ke dalam modul “pemrograman generasi ke iv” pada halaman 18. Pada contoh untuk melihat mahasiswa yang berjenis kelamin lelaki dan tinggal di Panjang atau Teluk Betung digunakan perintah : SELECT mhs_nama, mhs_alamat FROM mahasiswa WHERE mhs_jnskelamin=’L’ AND (mhs_alamat=’Panjang’ OR mhs_alamat=’Teluk Betung’);
Rumus diatas (terutama pada penggunaan OR ) dapat disederhanakan sebagai berikut :
SELECT mhs_nama, mhs_alamat FROM mahasiswa WHERE mhs_jnskelamin=’L’ AND mhs_alamat IN (‘Panjang’ , ‘Teluk Betung’);

4. Tampilkan NPM mahasiswa dengan format YYPDXXXX. Dimana YY = 2 digit trakhir tahun masuk mhs, P = kode prodi (1 = BA, 2 = MI , 3 = KA) dan D = Jenjang pendidikan ( D1 =1, D3=3).
Rumusnya adalah :
SELECT mhs_no, mhs_nama,
CONCAT ( RIGHT (mhs_thmasuk, 2),
IF (ps_kode=’BA’, 1, IF (ps_kode=’MI’, 2, 3)),
IF (mhs_jenjang=’D1’, 1, 3),
LPAD(mhs_no, 4, ‘0’ )) AS NPM FROM mahasiswa;

5. Penjelasan dari hal 23 Modul “Pemrograman G IV” dari perintah untuk menampilkan kode area dari no_telp mhs : SELECT SUBSTRING (mhs_telp, 2, 3) FROM mahasiswa
Penjelasannya. Substring ( NamaKolom, urutan mulai, jumlah yang diminta).
Jadi bila no telpnya adalah (0725) 42362 maka hasil dr printah diatas adalah 072 (kode daerah mana tuh?)
Seharusnya perintahnya adalah sebagai berikut :
SELECT SUBSTRING (mhs_telp, 2, 4 ) FROM mahasiswa  shg hasilnya 0725

6. Masih dari halaman yang sama dari no 5. Pada perintah untuk menampilkan 6 digit pertama no telp
SELECT SUBSTRING(mhs_telp,1,6) from mahasiswa
Perintah diatas kurang efisien karena terjadi pemborosan energi untuk mengetik. Seharusnya sbb :
Select LEFT (mhs_telp, 6 ) from mahasiswa
Yang bila kita artikan adalah Pilih 6 digit dari kiri untuk kolom mhs_telp dari tabel mahasiswa.
Lebih singkat kan?

0 komentar: