MODUL 2 PENGENALAN DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML) TUJUAN PRAKTIKUM 1. Praktikan dapat mengetahui pengertian SQL. 2. Praktikan dapat mengetahui klasifikasi SQL. 3. Praktikan dapat memahami konsep DDL dan DML. 4. Praktikan dapat menggunakan perintah DDL dan DML untuk mengkonfigurasi database.
PERLENGKAPAN 1. Modul Praktikum Basis Data 2. MySQL 5.5.27 (XAMPP 1.7.4) 3. Browser 4. Navicat Premium
LANDASAN TEORI SQL (Structured Query Language) merupakan bahasa komputer standard ANSI ( American National Standard Institude) untuk mengakses data dalam basis data relasional. Fungsi SQL : -
Dapat mengakses database
-
Menjalankan queri untuk mengambil data dari database
-
Menambahkan data ke database
-
Menghapus data di dalam database
-
Meng-update data di dalam database.
1
Pernyataan SQL dapat dikelompokkan menjadi beberapa kelompok, yakni: a. Data Definition Language ( DDL ) Adalah bahasa dalam DBMS yang digunakan untuk membuat atau mendefinisikan objekobjek dalam database. Hasil penggunaan DDL adalah berupa sekumpulan tabel yang disebut sebagai data dictionary atau kamus data. Kamus data mengintegrasikan metadata. Metadata inilah yang mendeskripsikan objek dalam database. Dengan kata lain DDL digunakan untuk mendefinisikan kerangka database. Fungsi utama DDL: -
Membuat (create) objek tabel
-
Modifikasi (modify) objek tabel
-
Menghapus (delete) objek tabel
Statement DDL adalah perintah-perintah yang digunakan untuk menjelaskan objek dari database. Berikut beberapa statement DDL : -
Create : Perintah yang digunakan untuk membuat objek database seperti Table, View, Index, Synonym, Sequence, Procedure, Trigger, Function, Package, dan User-Defined Data Types.
-
Alter : Perintah yang digunakan untuk memodifikasi struktur dari objek-objek database.
-
Drop : Perintah yang digunakan untuk menghapus objek database
-
Truncate : Perintah yang digunakan untuk menghapus secara permanen baris (row) dari sebuah tabel atau dengan kata lain mengosongkan kembali tabel tanpa menghapus tabel itu sendiri.
-
Rename : Perintah yang digunakan untuk mengganti nama sebuah objek database.
b. Data Manipulation Language ( DML ) Adalah kelompok perintah yang berfungsi untuk memanipulasi data dalam basis data, misalnya untuk pengambilan, penyisipan, pengubahan, dan penghapusan data. Perintah yang termasuk dalam kelompok DML adalah SELECT, INSERT, DELETE, dan UPDATE. Berikut statement DML : -
Insert : Perintah yang digunakan untuk memasukkan data ke table.
-
Update : Perintah yang digunakan untuk memodifikasi data pada tabel. 2
-
Delete : Perintah yang digunakan untuk menghapus data pada table.
-
Select : Perintah yang digunakan untuk menampilkan isi tabel.
-
Commit : Perintah yang digunakan untuk menyimpan perubahan pada workspace yang sedang dioperasikan, karena pada awalnya perubahan masih tersimpan pada workspace temporary.
-
Rollback : Perintah yang digunakan untuk membatalkan perubahan yang dilakukan setelah perintah COMMIT terakhir
CONTOH SYNTAX a. Membuat Tabel ( Create Table) Untuk membuat tabel dalam database, digunakan syntax seperti dibawah ini:
Contoh: Kita ingin membuat sebuah tabel bernama “tb_mobil”. Tabel ini berisi 3 kolom yaitu ID_MOBIL, MEREK dan HARGA_RENTAL. Syntax yang harus dibuat adalah sebagai berikut: CREATE TABLE tb_mobil (ID_MOBIL varchar(20), MEREK varchar(30), HARGA_RENTAL int(11)) Menambahkan Constraint Constraint adalah batasan atau aturan yang ada pada table. Ada dua jenis constraint yang sering digunakan yaitu Primary Key dan Foreign Key. Statement constraint dibuat sebelum tanda ‘)’ atau kurung tutup terakhir dari statement utamanya. Primary Key Digunakan untuk membuat tabel acuan (reference). Cara penulisan syntax adalah sebagai berikut: CONSTRAINT nama_constraint primary key (nama_kolom_primary_key) 3
Contoh : Kita ingin mendefinisikan kolom ID_MOBIL sebagai primary key dari tabel tb_mobil. Maka syntax-nya adalah sebagai berikut: CREATE TABLE tb_mobil (ID_MOBIL VARCHAR(20), MEREK VARCHAR(30), HARGA_RENTAL_PER_HARI INT(11), CONSTRAINT pk_tb_mobil PRIMARY KEY(ID_MOBIL)) Foreign Key Digunakan untuk membuat tabel yang mengacu pada tabel lain (tabel relasi). Cara penulisan syntax adalah sebagai berikut:
Contoh : Kita ingin membuat tabel “tb_transaksi” yang berisi transaksi setiap perentalan mobil untuk sekali rental. Tabel ini terdiri 7 kolom, yaitu ID_TRANSAKSI sebagai primary key; ID_MOBIL yang mengacu dari tabel tb_mobil, ID_PELANGGAN yang mengacu dari tabel tb_pelanggan, ID_PEGAWAI yang mengacu dari tabel tb_pegawai, TANGGAL_RENTAL, LAMA_RENTAL, TOTAL_HARGA. Maka syntax yang harus dibuat adalah sebagai berikut:
4
CREATE TABLE tb_transaksi (ID_TRANSAKSI VARCHAR(10), ID_MOBIL VARCHAR(20), ID_PELANGGAN VARCHAR(10), ID_PEGAWAI VARCHAR(10), TANGGAL_RENTAL DATE, LAMA_RENTAL INT(11), TOTAL_HARGA INT(11), CONSTRAINT pk_tb_transaksi PRIMARY KEY(ID_TRANSAKSI), CONSTRAINT fk_mobil FOREIGN key (ID_MOBIL) REFERENCES tb_mobil(ID_MOBIL), CONSTRAINT
fk_pelanggan
FOREIGN
key
(ID_PELANGGAN)
REFERENCES
(ID_PEGAWAI)
REFERENCES
tb_pelanggan(ID_PELANGGAN), CONSTRAINT
fk_pegawai
FOREIGN
key
tb_pegawai(ID_PEGAWAI)) b. Modifikasi Tabel Melakukan modifikasi pada tabel bisa dilakukan dengan syntax Alter Table. Beberapa contoh penggunaan statement untuk memodifikasi tabel adalah sebagai berikut: Menambah kolom baru pada tabel
Contoh: Apabila kita ingin menambah kolom baru bernama “KAPASITAS” pada tabel tb_mobil, maka syntax yang ditulis adalah sebagai berikut: ALTER TABLE tb_mobil ADD KAPASITAS int(11) Memodifikasi kolom pada tabel
Contoh: Apabila kita ingin mengubah maksimum karakter tipe data kolom KAPASITAS pada tabel, maka menulis syntax sebagai berikut: ALTER TABLE tb_mobil MODIFY KAPASITAS int(15) 5
Mengubah nama kolom pada tabel ALTER TABLE nama_tabel Change nama_kolom_lama nama_kolom_baru tipe_data();
Contoh: Apabila kita ingin mengubah nama kolom “KAPASITAS” pada tabel tb_mobil menjadi “CAPASITY”, maka menulis syntax sebagai berikut: ALTER TABLE tb_mobil CHANGE KAPASITAS CAPASITY int(11); Menghapus kolom pada tabel
Contoh: Apabila kita ingin menghapus kolom KAPASITAS pada tabel tb_mobil, maka menulis syntax sebagai berikut: ALTER TABLE tb_mobil DROP COLUMN KAPASITAS
Menambah integritas referensial (acuan) atau constraint pada tabel
Contoh: Apabila kita ingin menambah integritas kolom ID_MOBIL pada tabel tb_transaksi menjadi kolom yang mengacu pada tabel tb_mobil, maka menulis syntax sebagai berikut: ALTER TABLE tb_transaksi ADD CONSTRAINT fk_mobil foreign key (ID_MOBIL)
references
(ID_MOBIL) 6
tb_mobil
Menghapus constraint pada tabel ALTER TABLE nama_tabel DROP FOREIGN KEY nama_constraint;
Contoh: Apabila kita ingin menghapus integritas kolom ID_MOBIL pada tabel tb_transaksi, maka menulis syntax sebagai berikut: ALTER TABLE tb_transaksi DROP FOREIGN KEY fk_mobil;
c. Mengubah Nama Tabel Tabel yang telah dibuat dapat diubah namanya dengan menggunakan syntax sebagai berikut: RENAME TABLE tabel_lama TO tabel_baru;
Contoh: Apabila kita ingin mengubah nama tabel “tb_transaksi” menjadi “transaksi”, maka menulis syntax sebagai berikut: RENAME TABLE tb_transaksi TO transaksi; d. Menghapus Tabel Untuk menghapus objek tabel yang ada dalam database, gunakan syntax Drop Table. Cara penulisannya adalah sebagai berikut:
Contoh: Apabila kita ingin menghapus tabel tb_transaksi, maka menulis syntax sebagai berikut: DROP TABLE tb_transaksi
7
Sedangkan untuk menghapus seluruh baris atau row dalam tabel, gunakan syntax Truncate Table. Cara penulisannya adalah sebagai berikut:
Contoh: Apabila kita ingin menghapus seluruh isi tabel tb_transaksi, maka menulis syntax sebagai berikut: TRUNCATE TABLE tb_transaksi e. Melihat Struktur Tabel Untuk melihat struktur dari tabel yang ada di dalam database, gunakan syntax sebagai berikut: SHOW TABLES
Untuk melihat struktur tabel dalam sebuah tabel, gunakan syntax sebagai berikut: DESC nama_tabel
Untuk melihat isi dari sebuah tabel, gunakan syntax sebagai berikut: Select * from nama_tabel
Contoh: Apabila kita ingin melihat struktur dalam database rental mobil, maka menulis syntax sebagai berikut : SHOW TABLES
Apabila kita ingin melihat struktur tabel tb_mobil (nama kolom, tipe data kolom, dll), maka menulis syntax sebagai berikut: DESC tb_mobil Apabila kita ingin melihat isi tabel tb_mobil (data dalam kolom yang telah diinsert sebelumnya), maka menulis syntax sebagai berikut: SELECT * FROM tb_mobil 8
f. Memasukkan Data (Insert)
Contoh: Jika kita akan memasukkan data tb_mobil maka Syntax yang kita ketikkan adalah sebagai berikut : Insert into tb_mobil (ID_MOBIL,MEREK,KAPASITAS,HARGA_RENTAL) values ('M002','AVANZA',7,550000) g. Memperbaharui Data (Update)
Contoh: Seandainya kita akan mengganti MEREK dengan ID_MOBIL MB001 menjadi XENIA maka Syntax yang kita ketikkan adalah sebagai berikut : Update tb_mobil Set MEREK = 'XENIA' Where ID_MOBIL = 'M002' h. Menghapus Data (Delete)
Contoh: Seandainya kita menghapus tb_mobil dengan ID_MOBIL = MB001, maka Syntax yang kita ketikkan adalah sebagai berikut : Delete from tb_mobil Where ID_MOBIL = 'M002'
9
i. Menampilkan Data (Select)
Contoh: Seandainya kita menampilkan isi table tb_mobil, maka Syntax yang kita ketikkan adalah sebagai berikut : SELECT * FROM tb_mobil
j. Commit Seandainya kita ingin menyimpan perubahan pada workspace yang sedang dioperasikan, maka syntax yang harus diketikkan adalah sebagai berikut :
k. Rollback Seandainya kita ingin membatalkan perubahan yang dilakukan setelah perintah COMMIT terakhir, maka syntax yang harus diketikkan adalah sebagai berikut :
10
PRAKTIKUM Contoh Kasus : Salah satu perusahan rental mobil di kawasan Dayeuh Kolot berdiri pada awal tahun 2014. Perusahan ini berencana mengimplementasikan aplikasi basis data pada perusahaannya. Dengan dibuatnya aplikasi ini diharapkan
akan meningkatkan efisiensi dan profit dari
perusahaan rental mobil. Perusahaan ini akan melakukan pencatatan data pelanggan, data pegawai, data mobil dan data transaksi yang terjadi sehari-hari. Perusahaan ini menyediakan berbagai jenis merek mobil dengan kapasitas yang berbeda-beda pula. Pegawai di perusahaan ini dapat melayani banyak transaksi penyewaan / rental mobil. Seorang pelanggan dilayani oleh paling tidak satu pegawai. Masing-masing pegawai melayani sewa mobil minimal satu jenis mobil. Penyewaan / rental mobil paling tidak dilayani oleh satu pegawai. Berdasarkan contoh kasus di atas maka langkah-langkah yang harus dilakukan adalah : Membuat tabel sesuai dengan contoh kasus : Membuat tabel tb_pelanggan
11
Membuat tabel tb_pegawai
Membuat tabel tb_mobil
12
Membuat tabel tb_transaksi
Melihat tabel yang ada pada database
13
Jika ingin menambahkan kolom baru pada suatu tabel maka digunakan sintax ALTER TABLE [Nama Tabel] ADD [Nama kolom baru]
Jika ingin mengganti tipe data pada suatu kolom maka digunakan sintax ALTER TABLE [NAMA_TABEL] MODIFIY [NAMA_KOLOM] [TIPE_DATA]
14
Jika ingin mengubah nama dari suatu kolom maka sintax yang digunakan adalah
Jika ingin menghapus kolom pada suatu tabel maka sintax yang digunakan adalah
15
Untuk menambah constraint digunakan syntax ALTER ADD CONSTRAINT. Misalnya, menambah foreign key bernama fk_coba pada atribut ID_MOBIL pada tabel tb_mobil yang mengacu pada ID_PEGAWAI pada tabel tb_pegawai
Untuk menghapus constraint yang telah dibuat tadi maka digunakan perintah ALTER DROP CONSTRAINT.
16
Untuk mengganti nama suatu tabel maka digunakan syntax Rename. Misalnya jika ingin merubah nama tabel tb_mobil menjadi MOBIL
Untuk menghapus suatu tabel, maka syntax yang digunakan adalah DROP TABLE. Misalnya ingin menghapus tabel coba pada database yang telah dibuat. Tabel coba :
17
Mengahapus tabel coba:
Jika ingin memasukkan data kedalam sebuah tabel, maka syntax yang digunakan adalah INSERT INTO [Nama Tabel] (atribut 1 , atribut 2,...atribut n) values (’data atribut 1’,’data atribut 2’,...’data atribut n’)
18
Jika ingin melihat hasil dari data yang telah diinputkan, maka gunakan syntax SELECT * FROM nama_tabel
Jika ingin merubah data suatu tabel, maka syntax yang digunakan adalah UPDATE, dimana syntax tersebut diikuti dengan syntax WHERE, untuk mendefinisikan pada data yang mana suatu data ingin dirubah isinya.
19
Jika ingin menghapus data suatu tabel, maka syntax yang digunakan adalah DELETE, dan syntax tersebut diikuti dengan syntax WHERE untuk mendefinisikan pada data yang mana suatu data ingin dihapus dari tabel.
20