Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

MODUL KONSEP BASIS DATA 2

M ODUL II DM L (DATA M ANIDNULATION LANGUAGE) Tujuan Praktikum: 1. M ahasisw a mampu memahami perintah DM L. 2. M ahasisw a mampu memahami dan memanipulasi data dalam basis data. Dasar Teori Data manidnulation language (DM L) merupakan perintah SQL yang digunakan untuk memanidnulasi database. Perintah DM L diantaranya sebagai berikut : 1. Insert Digunakan untuk memasukkan data ke dalam tabel. 2. Select Digunakan untuk memilih dan menampilkan data. 3. Update Digunakan untuk mengubah data dalam tabel. 4. Delete Digunakan untuk menghapus data dari table Kegiatan Praktikum 1. INSERT Terdapat beberapa sintaks umum yang digunakan untuk pengisian data ke dalam tabel. a. Insert into <nama_tabel> values (daftar nilai), (daftar nilai), ... Perintah di atas berfungsi untuk mengisikan data ke dalam tabel secara urut dari kolom paling kiri hingga paling akhir. Values yang diberikan harus sama jumlahnya dengan kolom yang tersedia di dalam tabel. Contoh: insert into dosen values (‘0623018001’,’Berta’,’Surabaya’,’P’,’198001-23’); b. Insert into <nama_tabel> (daftar kolom) values (daftar nilai), ... Perintah di atas berfungsi untuk mengisikan data ke dalam tabel dengan mencantumkan field apa yang akan diisi. Values yang diberikan harus sama jumlahnya dengan kolom yang dituliskan. Contoh: insert into dosen (NIDN, Nama, Jk) values (‘0610097902’,’Budi’,’L’); c. Insert into <nama_tabel> set <nama_kolom = nilai> Sintaks tersebut di atas harus menuliskan nama kolom secara benar, jika tidak maka akan menyebabkan error. Contoh: insert into dosen set NIDN=’0603047401’,nama=’Gito’; d. Insert into <nama_tabel> select statement M engisi dat a dengan value hasil dari select query, akan dijelaskan lebih lanjut pada sub bab selanjut nya. 2. UPDATE Update merupakan perint ah unt uk mengubah dat a yang sudah ada di dalam t abel. Perint ah updat e memiliki sint aks secara umum sebagai berikut Update <nama_tabel> Set <nama_kolom = value> Where <kondisi>; Cont oh perint ah updat e sebagai berikut : update dosen SET Alamat=’Bandung’ WHERE NIDN = ’0610097902’; Perint ah updat e di at as adalah unt uk menggant i data alamat pada t abel dosen yang memiliki NIDN=0610097902. Perint ah yang lain unt uk mengubah 2 dat a kolom sekaligus, sebagai berikut : update dosen SET Alamat=’Surakarta’,Jk=’L’ WHERE NIDN=’0603047401’; Set menginst ruksikan penggant ian nilai pada kolom t ert ent u, dapat berupa nilai konst an sepert i cont oh di at as at au sebuah ekspresi sepert i berikut . update dosen set GajiPokok = GajiPokok + 10000; Query di at as digunakan merubah GajiPokok semua dosen pada t abel dose dit ambah sebesar 10000. Perint ah updat e juga bisa digunakan unt uk menghapus dat a sebuah kolom/ sel t ert ent u pada t abel. Perhat ikan query berikut : Update dosen SET Nama=”” WHERE NIDN =’0623018001’; Hasil dari query di at as, dat a nama belakang dosen yang memiliki NIDN 0623018001 akan diubah menjadi st ring kosong. Cont oh perint ah updat e yang lain, perhat ikan query berikut : update dosen set GajiPokok = case when GajiPokok > 1000000 then 1500000 when GajiPokok > 2000000 then 2500000 else 1000000 end; Updat e dilakukan pada t abel dosen kolom GajiPokok di mana t erdapat beberapa kondisi dengan perilaku yang berbeda. Pada cont oh di at as t erdapat t iga kondisi GajiPokok, dimana t iap kondisi memiliki st at ement yang berbeda. 3. SELECT Perint ah select digunakan unt uk memilih dan menampilkan dat a dari suat u dat abase, baik dari sat u t abel at au lebih. Fungsi select dalam bent uk sederhana hanya mempunyai pasangan kat a from , yang berart i memilih t abel yang akan diselect . Bent uk umumnya sbb : select <nama kolom> From <nama tabel>; Cont oh : select * from dosen; Perint ah di at as digunakan unt uk memilih semua kolom dan seluruh record pada t abel pembeli. Pemilihan sepert i ini memungkinkan t erjadinya redudansi dat a (dat a berulang). a. Distinct Fungsi dist inct digunakan unt uk menampilkan record yang berbeda berdasarkan sat u kolom. Perhat ikan cont oh berikut : select distinct Jk from dosen; M enampilkan kolom nama_depan dengan record yang dipilih hanya muncul sat u kali (t idak ada pengulangan nama_dosen). Fungsi distinct di at as hanya digunakan unt uk pemilihan sat u kolom. Unt uk pemilihan dist inct lebih dari sat u kolom, perhat ikan query berikut ini : Select distinct * From dosen Group by NIDN; Terlihat berbeda dari select dist inct sebelumnya, fungsi select di at as dit ambahkan dengan kat a group by. Hal ini disebabkan, dist inct hanya dapat berlaku pada sat u kolom. Jadi meskipun banyak kolom yang dipilih namun hanya ada sat u kolom yang bisa diberlakukan fungsi dist inct . b. W here (Operator Logika) Where berfungsi unt uk memberikan kondisi pemilihan sehingga hasil perint ah select sesuai dengan yang dibut uhkan. Sint aksnya sebagai berikut : Select nama_kolom From nama_tabel Where kondisi; Terdapat operat or relasional dengan t anda =, <>, <, >, <=, >=, sert a operasi logika AND, OR, XOR yang digunakan sebagai kondisi pada where select NIDN from gaji where GajiPoko>1000000; select NIDN from gaji where GajiPoko>1000000 and Tunjangan>300000; c. Like Like hanya digunakan jika dat a berupa string at au karakt er. Sebagai cont oh perhat ikan query berikut : Select * From dosen Where nama like ‘%er%’; Perint ah di at as berguna unt uk memilih baris dari t abel dosen yang mengandung karakt er ‘er’ di t engah-t engah nama_depan. Karakt er yang digunakan unt uk fungsi like adalah persen (%) dan underscore( _ ). % → string apapun _ → character apapun Cont oh-cont oh berikut akan lebih memudahkan pemahaman t ent ang pemakaian fungsi like. 1. “ Rum%” → ”Rumanystring” → kata yang awalnya dimulai dengan Rum. 2. ” %fi%” → ”anystringfianystring” → kata yang di tengah-t engahnya mengandung karakt er fi. 3. " _ _ “ → kata yang tepat dua karakter. 4. ” _ _ _ _%” → kata yang minimum terdiri dari 4 karakter. 4. DELETE Delete digunakan unt uk menghapus record suat u t abel. Sedangkan unt uk menghapus dat a pada kolom t ert ent u menggunakan perint ah updat e. Sint aks delet e secara umum berbent uk DELETE FROM nama_table WHERE kondisi; WHERE digunakan unt uk menent ukan kondisi dari baris yang akan dihapus. Perhat ikan cont oh query berikut : Delete from dosen Where Alamat=’Surakarta’; Cont oh query lain Delete from gaji Where GajiPokok between 0 and 1000000; Perbedaan ant ara cont oh delet e di at as dengan sebelumnya adalah kondisi yang dipakai. Jika dat a berupa angka, memungkinkan kondisi berupa suat u range nilai. Filt ering pada delet e dapat berupa fungsi select sepert i Delete from dosen Where NIDN in (Select NIDN From gaji Where GajiPokok<1000000); Filt ering juga bisa berupa fungsi agregat Delete from gaji Where GajiPokok < (select avg(GajiPokok) From gaji); Dari fungsi select avg(Tunjangan) menghasilkan sebuah nilai rat a-rat a dari seluruh Tunjangan yang di t abel gaji. Apabila ada dat a di kolom t ot al t abel gaji yang GajiPokoknya kurang dari nilai rat a-rat a t ersebut , maka record t erkait akan dihapus. Yang harus diperhat ikan dalam delet e adalah, fungsi ini hanya dapat melibat kan sat u t abel. Terlihat dalam t abel set elah from hanya berisi sebuah t abel. Cara ini berbeda dengan from pada fungsi select (dibahas selanjut nya) yang bisa melibat kan lebih dari sat u t abel.