A. LANDASAN TEORI
Halo guys, bertemu lagi dengan saya kali ini ;) Semoga
kalian nggak bosen yaah, tiap minggu dapet postingan laporan praktikum DBD.
Ahhhahayy ~,~
Setelah kemaren di Modul 2
udah bahas tentang DDL dan DCL, in this moment we studying about DML.
DML merupakan kependekan dari Data Manipulation Language yang merupakan salah
satu sub bahasa SQL yang digunakan untuk memanipulasi data dalam database.
Kalo database di ibaratkan sebuah rumah, DDL itu sebagai
kerangka rumah dan penyangganya. DCL itu sebagai pintu, menyeleksi orang yang
mau masuk ke rumah. Kalo DML, dia berfungsi sebagai pengisi rumah itu, bisa
berupa kamar, ruang, dll.
Perintah SQL yang termasuk dalam DML adalah:
a. INSERT : perintah ini digunakan untuk menyisipkan atau memasukkan data baru ke dalam tabel. Syarat kamu bisa pake perintah ini , database dan tabel harus ready terlebih dahulu.
b. SELECT : perintah ini digunakan untuk menampilkan data dari suatu tabel atau beberapa tabel yang sudah di relasikan.
c. UPDATE : Perintah ini digunakan untuk memperbarui data yang akan di ganti dengan data yang baru.
d. DELETE : Perintah ini digunakan untuk menghapus suatu data. Inget ya, perintah ini nggak bisa di cancel, jadi data yang udah di hapus nggak bisa di kembaliin.
Manipulasi data berkaitan erat dengan relasi antar
tabel. Relasi antar tabel memiliki
syarat yang harus dipenuhi, yakni tabel yang di relasikan harus memiliki field
atau kolom dengan tipe yang sama. Dalam suatu tabel, terdapat beberapa kunci
yang digunakan untuk relasi. Kunci
merupakan satu atau gabungan atribut yang bersifat unik yang dapat digunakan
untuk mengidentifikasi atau membedakan setiap record dalam relasi. Kalau
dibedakan nih, kunci relasi ada empat macam :
- Kunci Kandidat (Candidate Key/CK) yaitu satu atau gabungan minimal atribut yang bersifat unik. Dalam setiap relasi, minimal mempunyai sebuah kunci kandidat
- Kunci primer (Primary Key /PK) yaitu salah satu dari bagian CK yang dipilih sebagai kunci utama untuk membedakan setiap record dalam relasi. PK harus unik dan tidak boleh null
- Kunci Alternatif (Alternative Key /AK) yaitu bagian dari CK yang tidak dipilih sebagai PK.
- Kunci penghubung atau yang biasa disebut dengan foreign key (FK) yaitu satu/ gabungan sembarang atribut yang menjadi PK dalam relasi lain. FK dan PK harus mempunyai tipe dan ukuran data yang sama.
Selanjutnya, akan di ulas lebih detail tentang relasi tabel
dan manipulasi data dalam DBMS.
Check it out. ^_^
Seperti langkah di Postgre, kita buat perintah-perintah DML, tetapi menggunakan MySQL.B. TUGAS PRAKTIKUM
1. See the picture here. Ini adalah soal yang harus di kerjain sob...
Ada dua tabel yakni tabel mahasiswa dan tabel fakultas. Seperti yang telah di jelaskan sebelumnya, relasi dalam sebuah tabel membutuhkan primary key dan foreign key. Tabel fakultas dan mahasiswa memiliki nama kolom yang sama yakni id_fak. Tetapi, posisi kolom dalam setiap tabel berbeda. Dalam tabel fakultas, id_fak adalah primary key, sedangkan dalam tabel mahasiswa adalah foreign key. Kolom id_Fak inilah yang digunakan untuk merelasikan tabel fakultas dengan tabel mahasiswa.
2. Perhatikan baik-baik. Sebelum membuat tabel, lihat dulu,
tabel mana yang tidak memiliki foreign key
dan yang memiliki foreign key. Prosedurnya, buat tabel yang tidak
memiliki foreign key terlebih dahulu, ini Querynya:
CREATE TABLE nama_tabel (nama_kolom tipe_data(panjang),
nama_kolom1 tipe_data(panjang));
3. Next, buat tabel yang memiliki foreign key. Eits, jangan
di samakan dengan query di atas loh ya, ini ada sedikit tambahan.
CREATE TABLE nama_tabel (nama_kolom tipe_data(panjang),
nama_kolom1 tipe_data(panjang), nama_foreignKey tipe_data not null references
nama_tabel_yang_diRelasikan);
Lebih detailnya, lihat langsung pada gambar di bawah ini
4. Masukkan data pada tabel fakultas terlebih dahulu.
a.
Untuk memasukkan satu data
INSERT INTO
nama_tabel VALUES (isi_kolom);
b.
Untuk memasukkan beberapa data
INSERT
INTO nama_tabel VALUES (isi_kolomPertama), (isi_kolomKedua);
5. Tampilkan seluruh data pada tabel mahasiswa
SELECT*FROM nama_tabel;
6. Tampilkan data pada tabel mahasiswa berupa nim dan nama
SELECT nama_kolom1,nama_ kolom2 FROM nama_tabel;
7. Tampilkan salah satu nama mahasiswa, jadi nanti hanya
tampil satu data saja.
SELECT nama_kolom FROM nama_tabel WHERE
kondisi;
8. Tampilkan data mahasiswa dan fakultas. Ambil berdasarkan
nim, nama mahasiswa dan nama fakultas.
9. Hapus data mahasiswa yang memiliki nim 13.
DELETE FROM nama_tabel WHERE kondisi;
*WHERE disini digunakan untuk menghapus salah satu kolom yang di inginkan. Jika tidak menggunakan where, maka satu baris dari tabel tersebut akan GONE.
10. Ganti data dalam kolom alamat menjadi 'solo' dan no_hp=0857688788 pada nim_mah 12
yang ada dalam tabel mahasiswa. Querynya pake update ya guys.
UPDATE mahasiswa SET nama_kolom='data_baru' WHERE kondisi;
11. Tampilkan data mahasiswa dan urutkan secara descending
berdasarkan nim mahasiswa
12. Tampilkan data fakultas dan urutkan secara ascending
berdasarkan nama fakultas
13. Tampilkan seluruh data mahasiswa dan seluruh data
fakultas
14. Tampilkan seluruh mahasiswa yang berada di fakultas
SAINTEK
15. Tampilkan seluruh mahasiswa yang tidak berada di
fakultas SAINTEK
16. Kemudian, hapus data Fakultas SAINTEK. Sebelumnya, kalo
mau ngehapus data fakultas SAINTEK, kalian hapus dulu data mahasiswa yang
berada di fakultas saintek. Ibarat mau mindahin rumah, nggak langsung kan rumah
nya di angkat ke tempat yang baru. Sebelumnya, pasti barang-barang yang ada di
dalem rumah mesti di pindahin dulu. Baru deh kita pindah rumah.
So, hapus dulu data mahasiswa yang berada di fakultas
SAINTEK
DELETE FROM mahasiswa WHERE id_fak=1;
dimana, id_fak=1 adalah SAINTEK.
17. Nah, and the Last, hapus data fakultas SAINTEK
DELETE FROM fakultas where id_fak=1;
C. TUGAS RUMAH
1. Siapkan CMD kalian.Login seperti biasa sob.
2. Aktifkan database.
3. Buat tabel fakultas terlebih dahulu.
Tabel Fakultas
Tabel Mahasiswa
6. Tampilkan seluruh data pada tabel mahasiswa
7. Tampilkan data pada tabel mahasiswa berupa nim dan nama mahasiswa
8. Tampilkan salah satu nim mahasiswa, jadi nanti hanya
tampil satu data saja.Tambah dengan klausa WHERE ya sob...
9. Tampilkan data mahasiswa dan fakultas. Ambil berdasarkan
nim, nama mahasiswa dan nama fakultas.
10. Hapus data mahasiswa yang memiliki nim 13.
11. Ganti data dalam kolom alamat menjadi 'solo' dan no_hp=0857688788 pada nim_mah 12
yang ada dalam tabel mahasiswa. Querynya pake update ya guys.
12. Tampilkan data mahasiswa dan urutkan secara descending
berdasarkan nim mahasiswa
13. Tampilkan data fakultas dan urutkan secara ascending
berdasarkan nama fakultas
14. Tampilkan seluruh data mahasiswa dan seluruh data
fakultas
15. Tampilkan seluruh mahasiswa yang hanya berada di fakultas
SAINTEK
16. Tampilkan seluruh mahasiswa yang tidak berada di
fakultas SAINTEK
17. Kemudian, hapus data Fakultas SAINTEK. Sebelumnya, kalo
mau ngehapus data fakultas SAINTEK, kalian hapus dulu data mahasiswa yang
berada di fakultas saintek. Ibarat mau mindahin rumah, nggak langsung kan rumah
nya di angkat ke tempat yang baru. Sebelumnya, pasti barang-barang yang ada di
dalem rumah mesti di pindahin dulu. Baru deh kita pindah rumah.
So, hapus dulu data mahasiswa yang berada di fakultas
SAINTEK
DELETE FROM mahasiswa WHERE id_fak=1;
dimana, id_fak=1 adalah SAINTEK.
18. Nah, and the Last, hapus data fakultas SAINTEK
DELETE FROM fakultas where id_fak=1;
D. EVALUASI DBMS MySQL VS PostgreSQL
Tibalah saatnya kita mengevaluasi antara DBMS MySQL dan
Postgre. Kita evaluasi dari segi persamaan, perbedaan, kekurangan dan kelbihan
dari masing-masing DBMS yaa sob.
PERSAMAAN
Dari tugas praktikum yang menggunakan DBMS Postgre dan tugas
rumah yang menggunakan MySQL, banyak persamaan yang didapatkan. Bahkan hampir
seluruh query perintah dasar SQL ini sama.
Mulai dari membuat tabel, memasukkan data pada tabel
(INSERT), memperbarui data pada tabel (UPDATE), menghapus data pada tabel
(DELETE) dan juga pengurutan data (ORDER BY).
PERBEDAAN
NOT FOUND !
KEKURANGAN
MySQL : Tidak di tampilkan hak akses dalam tabel. Berdampak
pada ketidaktahuan kita mengenai status hak akses dari tabel tersebut
Kalo kita bandingin sama yang di Postgre,
KELEBIHAN
MySQL : Menampilkan waktu pemrosesan, sehingga dapat diketahui seberapa lama DBMS akan memproses perintah kita. ;)
Kalo di Postgre, gakk ada sob...
Ehh, ada TAMBAHAN ni sob. Kalo mau nginsert data tapi pake kosongan alias NULL, di MySQL, tampilan tabelnya akan kaya gini :
Kalo di postgre, nggak akan tampil data apa-apa,
E. KESIMPULAN
Sub bahasa query DML (Data Manipulation Language) adalah
berfungsi untuk memanipulasi (mengotak-atik, mengubah-ubah) isi data pada
tabel. DML ini bisa berupa perintah INSERT, UPDATE, DELETE dan SELECT. Dari
keempat perintah DML tersebut, bila diimplementasikan pada kedua DBMS yang
berbeda yakni Postgre dan MySQL tidak ditemukan perbedaan dalam hal penulisan
sintaks.
Sekian, semoga bermanfaat. See you at next practice ;)
0 comments