Nama : Ni Made Ratna Putri UdianiNIM : 1504505011Kelompok : 25Nama : Ni Made Ratna Putri UdianiNIM : 1504505011Kelompok : 25
Nama : Ni Made Ratna Putri Udiani
NIM : 1504505011
Kelompok : 25
Nama : Ni Made Ratna Putri Udiani
NIM : 1504505011
Kelompok : 25
MODUL II
DDL – DATA DEFINITION LANGUAGE
Tujuan
Mampu menerapkan penggunaan DDL dalam basisdata
Mampu melakukan konfigurasi relasi antar tabel dengan DDL
Tugas Pendahuluan
Buatlah sintaks dari masing-masing fungsi yang ada dalam Data Definition Language (DDL) beserta contoh penggunaannya.
Sebutkan dan jelaskan tipe-tipe tabel yang ada didalam MYSQL, serta berikan contoh penggunaannya.
Sebutkan dan Jelaskan macam-macam refrential integrity constraint didalam MYSQL, serta berikan contoh penggunaannya.
Bagaimana cara mengubah tipe tabel dan refrential integrity constraint didalam MYSQL
Rancanglah minimal dua buah tabel yang memiliki relasi, lalu implementasikan semua fungsi DDL ke tabel tersebut.
Jawaban
Sintaks dari masing-masing fungsi yang ada dalam DDL pada MySQL adalah sebagai berikut.
Create
Sintaks create bisa digunakan untuk create database dan create table. Perintah create digunakan untuk membuat atau menciptakan sebuah database ataupun tabel baru. Penjelasannya adalah sebagai berikut.
Create Database
Aturan penamaan sebuah database sama seperti aturan penamaan sebuah variabel, dimana secara umum nama database boleh terdiri dari huruf, angka dan underscore (_). Implementasi dari create database adalah sebagai berikut.
Gambar 1.1 Contoh Penggunaan Create Database pada Command Prompt
Gambar 1.1 merupakan contoh penggunaan dari fungsi DDL untuk membuat database baru bernama database univ_udayana.
Create Table
Database yang bernama univ_udayana telah dibuat. Sintaks setelah membuat database adalah sintaks use yang bertujuan memberi perintah agar menggunakan database yang diinginkan yaitu database dengan nama univ_udayana. Perintah untuk menggunakan database tersebut adalah sebagai berikut.
Gambar 1.2 Contoh Penggunaan Use pada Command Prompt
Gambar 1.2 merupakan contoh penggunaan dari fungsi DDL untuk mengaktifkan database univ_udayana.
Sintaks use berfungsi untuk membuka atau mengaktifkan atau memasuki database yang telah dibuat. Setelah masuk kedalam database yang telah dibuat, barulah bisa memanipulasi data yang ada, termasuk untuk membuat table didalam database tersebut.
Tabel database bisa dilihat menggunakan perintah yang ditampilkan seperti pada gambar berikut.
Gambar 1.3 Contoh Penggunaan Show Databases pada Command Prompt
Gambar 1.3 merupakan contoh penggunaan dari fungsi DDL untuk menampilkan database yang dibuat.
Sintaks yang digunakan dalam membuat tabel baru adalah create table nama_tabel. Bentuk umum dari sintaks create table adalah sebagai berikut.
Gambar 1.4 Bentuk Umum Sintaks Create Table
Gambar 1.4 merupakan sintaks daari DDL untuk membuat tabel baru. Contoh penggunaan dari create table adalah sebagai berikut.
Gambar 1.5 Contoh Penggunaan Create Table Menggunakan Command Prompt
Gambar 1.5 merupakan contoh penggunaan dari fungsi DDL untuk membuat tabel baru bernama tabel mahasiswa. Tabel mahasiswa memiliki atribut yaitu nim, nama, alamat, no_telp. Nim merupakan primary key dari tabel mahasiswa yang memiliki tipe data int dengan panjang 10 bit. Nama memiliki tipe data varchar dengan panjang 50 bit. Alamat memiliki tipe data varchar dengan panjang 50 bit. No_telp memiliki tipe data varchar dengan panjang 12 bit.
Tabel berhasil dibuat untuk mengetahui detail dari tabel tersebut, ketik perintah desc nama_table. Contohnya adalah sebagai berikut.
Gambar 1.6 Contoh Penggunaan Desc pada Command Prompt
Gambar 1.6 merupakan fungsi DDL untuk menampilkan tabel mahasiswa. Tabel yang ditampilkan memiliki kolom atribut, tipe data, null, key, default dan ekstra.
Alter
Sintaks alter berfungsi untuk mengubah struktur dari suatu table. Mengubah disini tidak hanya memperbaharui struktur table yang ada, tetapi juga mengubah nama field, menambahkan primary key, mengubah tipe field, maupun menghapus field yang telah dibuat sebelumnya. Bentuk umum sintaks alter adalah sebagai berikut.
Gambar 1.7 Bentuk Umum Alter
Gambar 1.7 merupakan sintaks alter yang digunakan untuk mengubah struktur tabel yang diinginkan. Perintah alter ini memiliki beberapa variasi. Variasinya adalah sebagai berikut.
Tambah Field atau Kolom Baru
Penambahan field atau kolom seperti menambah kolom alamat pada tabel mahasiswa, maka perintahnya adalah sebagai berikut.
Gambar 1.8 Contoh Penggunaan Alter untuk Menambah Field atau Kolom Baru pada Command Prompt
Gambar 1.8 merupakan contoh dari fungsi DDL untuk menambah kolom baru pada tabel peserta dengan menambahkan atribut alamat yang memiliki tipe data varchar dengan panjang 30 bit.
Penambahan atau Penghapusan Primary key
Primary key dapat ditambahkan pada tabel, bentuk umum dari sintaks untuk menambah primary key adalah sebagai berikut.
Gambar 1.9 Bentuk Umum Alter untuk Menambah Primary Key
Gambar 1.9 merupakan sintaks dari alter untuk menambah atau menghapus primary key pada tabel yang diinginkan.
Contoh penggunaan untuk menambah primary key dapat dilihat pada gambar berikut.
Gambar 1.10 Contoh Penggunaan Alter untuk Menambah Primary Key pada Command Prompt
Gambar 1.10 merupakan contoh penggunaan fungsi DDL untuk menambah primary key yaitu nip pada tabel peserta.
Sedangkan untuk menghapus primary key pada tabel, perintahnya adalah sebagai berikut.
Gambar 1.11 Bentuk Umum Alter untuk Menghapus Primary Key
Gambar 1.11 merupakan sintaks alter untuk menghapus primary key pada tabel yang yang diinginkan.
Contoh penggunaan alter untuk menghapus primary key pada suatu tabel adalah sebagai berikut.
Gambar 1.12 Contoh Penggunaan Alter untuk Menghapus Primary Key pada Command Prompt
Gambar 1.12 merupakan contoh penggunaan dari fungsi DDL untuk menghapus primary key pada tabel peserta.
Penghapusan Field atau Kolom
Bentuk umum dari alter untuk menghapus field atau kolom adalah sebagai berikut.
Gambar 1.13 Bentuk Umum Alter untuk Menghapus Field atau Kolom
Gambar 1.13 merupakan sintaks dari alter untuk menghapus kolom yang diinginkan.
Sedangkan untuk contoh penggunaan dari alter untuk menghapus field atau kolom adalah sebagai berikut.
Gambar 1.14 Contoh Penggunaan Alter untuk Menghapus Field atau Kolom pada Command Prompt
Gambar 1.14 merupakan contoh penggunaan fungsi DDL untuk menghapus kolom telepon pada tabel peserta.
Pengubahan Nama Field atau Kolom
Bentuk umum dari alter untuk mengubah nama field atau kolom adalah sebagai berikut.
Gambar 1.15 Bentuk Umum dari Alter untuk Mengubah Nama Field atau Kolom
Gambar 1.15 merupakan sintaks alter untuk mengubah nama kolom yang diinginkan.
Sedangkan contoh penggunaan alter untuk mengubah nama field atau kolom adalah sebagai berikut.
Gambar 1.16 Contoh Penggunaan Alter untuk Mengubah Nama Field atau Kolom pada Command Prompt
Gambar 1.16 merupakan contoh penggunaan fungsi dari DDL untuk mengubah nama kolom jenis_kelamin pada tabel peserta menjadi kolom sex dengan tipe data char dengan panjang 1 bit.
Pengubahan Tipe Data Field atau Kolom
Bentuk umum dari alter untuk mengubah tipe data pada field atau kolom adalah sebagai berikut.
Gambar 1.17 Bentuk Umum dari Alter untuk Mengubah Tipe Data Kolom
Gambar 1.17 merupakan sintaks dari alter untuk mengubah tipe kolom yang diinginkan.
Contoh penggunaan dari alter untuk mengubah tipe data atau kolom adalah sebagai berikut.
Gambar 1.18 Contoh Penggunaan Alter untuk Mengubah Tipe Data Kolom pada Command Prompt
Gambar 1.18 merupakan contoh penggunaan dari fungsi DDL untuk mengubah tipe data dari kolom sex menjadi enum.
Penggantian Nama Tabel
Bentuk umum dari alter untuk mengganti nama tabel dapat dilihat pada gambar berikut.
Gambar 1.19 Bentuk Umum Alter untuk Mengganti Nama Tabel pada Command Prompt
Gambar 1.19 merupakan sintaks alter untuk mengganti nama tabel pada tabel yang diinginkan.
Contoh penggunaan alter untuk mengganti nama tabel adalah sebagai berikut.
Gambar 1.20 Contoh Penggunaan Alter untuk Mengganti Nama Tabel pada Command Prompt
Gambar 1.20 merupakan fungsi DDL untuk mengganti nama tabel mahasiswa pada database univ_udayana menjadi tabel calon_mahasiswa.
Drop
Sintaks drop digunakan untuk menghapus database, tabel, kolom atau field. Perintah drop juga bisa di gabungkan dengan perintah lainnya, misalnya digabungkan dengan perintah alter table yang nantinya akan bisa menghapus kolom atau sebuah primary key. Sintaks ini terdapat 2 bagian yaitu sebagai berikut.
Gambar 1.21 Bentuk Umum dari Drop
Gambar 1.21 merupakan sintaks dari drop untuk menghapus database ataupun menghapus kolom.
drop table nama_tabel; digunakan untuk menghapus tabel, dan perintah drop database nama_database; digunakan untuk menghapus database. Contoh penggunaan drop adalah sebagai berikut.
Gambar 1.21 Contoh Penggunaan dari Drop pada Command Prompt
Gambar 1.21 berisi contoh penggunaan drop sehingga databse univ_udayana akan terhapus.
MySQL memiliki tipe-tipe tabel yang bervariasi. Penjelasan dari tipe-tipe tabel dalam MySQL adalah sebagai berikut.
MyISAM
Tipe tabel MyISAM merupakan tipe tabel yang sederhana, stabil dan mudah digunakan. Penyimpanan data sederhana yang tidak terlalu rumit dapat menggunakan tipe tabel ini. Kelebihan utama MyISAM adalah kecepatan dan kestabilannya. Contoh penggunaan dari tipe tabel MyISAM adalah sebagai berikut.
Gambar 2.1 Contoh Penggunaan Tipe Tabel MyISAM
Gambar 2.1 berisi contoh penggunaan tipe tabel MyISAM pada tabel matkul yang berisi atribut id_matkul yang menjadi primary key dengan tipe data int yang memiliki panjang data sebesar 10 bit. nama_matkul memiliki tipe data varchar yang memiliki panjang data sebesar 15 bit.
InnoDB
InnoDB adalah jenis storage engine MySQL yang di gunakan untuk menyimpan data yang sangat besar, lebih dari MyISAM. InnoDB juga punya kekurangan yaitu membutuhkan resource hardware yang lebih tinggi.
Beberapa fasilitas yang bisa dilakukan oleh InnoDB diantaranya: Cascade On Delete : fasilitas untuk melakukan delete ketika nilai pada reference di hapus. Sedangkan Cascade on Update : fasilitas yang melakukan update otomatis pada table yang mengacu ke tabel tersebut.
Gambar 2.2 Contoh Penggunaan Tipe Tabel InnoDB
Gambar 2.2 berisi implementasi dari penggunaan tipe tabel InnoDB pada tabel matkul yang berisi atribut id_matkul yang menjadi primary key dengan tipe data int yang memiliki panjang data sebesar 10 bit. nama_matkul memiliki tipe data varchar yang memiliki panjang data sebesar 15 bit.
Heap
Heap adalah sebuah binary tree dengan yang memiliki ketentuan-ketentuan. Ketentuan dari tipe tabel heap adalah sebagai berikut.
Tree harus complete binary tree: Semua level tree mempunyai simpul maksimum kecuali pada level terakhir. Level terakhir berisi node yang tersusun dari kiri ke kanan tanpa ada yang dilewati.
Perbandingan nilai suatu node dengan nilai node child-nya mempunyai ketentuan berdasarkan jenis heap, diantaranya sebagai berikut.
Max Heap mempunyai ketentuan bahwa nilai suatu node lebih besar atau sama dengan ( >=) dari nilai childnya.
Min Heap mempunyai ketentuan bahwa nilai suatu node lebih kecil atau sama dengan (<= ) dari nilai childnya.
Contoh penggunaan heap adalah pada persoalan yang mempertahankan antrian prioritas (priority queue). Dalam antrian prioritas, elemen yang dihapus adalah elemen yang mempunyai prioritas terbesar (atau terkecil, tergantung keperluan), dan elemen inilah yang selalu terletak di akar (root). Suatu heap dapat sewaktu-waktu berubah baik itu penambahan elemen (insert) dan penghapusan elemen (delete).
Macam-macam refrential integrity constraint didalam MYSQL adalah sebagai berikut.
Restrict
Restrict artinya membatasi, maksudnya adalah data pada tabel induk tidak bisa di delete atau di update bila data tersebut memiliki relasi pada tabel lainnya. Contoh penggunaannya adalah sebagai berikut.
create table masinis
(id_masinis int (10) primary key,
nama_masinis varchar (50),
alamat_masinis varchar (20),
no_telp varchar (15),
id_kereta int (10),
foreign key (id_kereta)
references kereta (id_kereta)
on update cascade
on delete restrict);
Kode Program 3.1 Contoh Penggunaan restrict
Kode Program 3.1 berisi implementasi dari restrict yang berisi atribut id_masinis, nama_masinis, alamat_masinis, no_telp, id_kereta sehingga tabel masinis tidak bisa di delete atau di update bila data tersebut memiliki relasi pada tabel lainnya.
Cascade
Cascade artinya bertingkat, maksudya adalah bila data pada tabel_induk di delete atau di update maka secara otomatis data pada tabel lain yang memiliki relasi akan di delete atau di update juga. Contoh penggunaanya adalah sebagai berikut.
create table masinis
(id_masinis int (10) primary key,
nama_masinis varchar (50),
alamat_masinis varchar (20),
no_telp varchar (15),
id_kereta int (10),
foreign key (id_kereta)
references kereta (id_kereta)
on update cascade
on delete cascade);
Kode Program 3.2 Contoh Penggunaan cascade
Kode Program 3.2 berisi implementasi dari cascade yang berisi atribut id_masinis, nama_masinis, alamat_masinis, no_telp, id_kereta sehingga bila tabel masinis di delete atau di update maka secara otomatis data pada tabel lain yang memiliki relasi akan di delete atau di update juga.
Secara umum perintah untuk mengubah tipe tabel menggunakan sintaks berikut : (Misal mengubah tipe tabel ke InnoDB)
ALTER TABLE namatabel ENGINE = InnoDB;
Kode Program 4.1 Mengubah Tipe Tabel
Kode Program 4.1 sintaks untuk mengubah suatu tipe tabel menjadi tipe tabel InnoDB.
Perintah SQL untuk melakukan setting referential integrity constraint dapat menggunakan sintaks berikut.
ALTER TABLE namatabel
ON DELETE CASCADE
ON UPDATE CASCADE;
Kode Program 4.2 Perintah untuk Mengatur Referential Integrity Constraint
Kode Program 4.2 berisi sintaks yang digunakan untuk mengatur referential integrity constraint.
Rancangan tabel yang memiliki relasi, lalu implementasikan semua fungsi DDL ke tabel tersebut.
Create Database
Create database digunakan untuk membuat database baru yang diberi nama rental_mobil. Implementasi create tabel pada command prompt adalah sebagai berikut.
Gambar 5.1 Implementasi dari DDL untuk Membuat Database Baru
Gambar 5.1 merupakan fungsi DDL untuk membuat database baru bernama rental_mobil dengan menambahkan fungsi show maka terlihat database rental_mobil.
Database rental mobil ini memiliki tabel mobil, tabel paket rental, tabel rental, tabel pelanggan. Berikut ini merupakan implementasi dari create table.
Gambar 5.2 Implementasi dari DDL untuk Membuat Tabel Baru Bernama Tabel mobil
Gambar 5.2 merupakan gambar yang berisi 2 perintah yaitu use untuk mengaktifkan database rental mobil dan perintah create table mobil digunakan untuk membuat tabel baru bernama tabel mobil. Tabel mobil memiliki atribut id_mobil, no_polisi, merk, warna, dan tahun. Kolom id_mobil menjadi primary key pada tabel mobil.
Create tabel untuk membuat tabel baru bernama tabel paket_rental seperti pada gambar berikut ini.
Gambar 5.3 Implementasi dari DDL untuk Membuat Tabel Baru Bernama Tabel paket_rental
Gambar 5.3 merupakan fungsi DDL untuk membuat tabeel baru bernama tabel paket_rental yang berisi atribut id_paket_rental, keterangan, harga, id_mobil. Id_paket_rental menjadi primary key pada tabel paket_rental. Id_mobil menjadi foreign key pada tabel paket rental.
Create table untuk membuat tabel baru bernama tabel rental seperti pada gambar berikut ini.
Gambar 5.4 Implementasi dari DDL untuk Membuat Tabel Baru Bernama Tabel rental
Gambar 5.4 merupakan fungsi DDL untuk membuat tabel baru bernama tabel rental yang berisi atribut id_rental, tgl_pinjam, jumlah, id_pelanggan, id_paket rental. Id_rental menjadi primary key pada tabel rental. Id_pelanggan dan id_paket rental menjadi foreign key pada tabel rental.
Create table untuk membuat tabel baru bernama tabel pelanggan seperti pada gambar berikut ini.
Gambar 5.5 Implementasi dari DDL untuk Membuat Tabel Baru Bernama Tabel pelanggan
Gambar 5.5 merupakan fungsi DDL untuk membuat tabel baru bernama tabel pelanggan yang berisi atribut id_pelanggan, nama, alamat, no_telp, tgl_daftar, dan jumlah_peminjam. Id_pelanggan menjadi primary key pada tabel pelanggan.
Hasil dari implementasi create tabel pada command prompt yang memiliki skema di SQLyog seperti pada gambar berikut.
Gambar 5.6 Skema Create Tabel pada SQLyog
Gambar 5.6 merupakan skema dari SQLyog setelah membuat tabel mobil, paket_rental, rental, dan pelanggan dari database rental_mobil.
Alter
Alter yaitu perintah untuk menambah kolom baru pada database yang dibuat. Alter tabel yang akan dibahas ini memiliki 6 bagian yaitu.
Penambahan Kolom Baru
Alter untuk menambah kolom baru memiliki implementasi seperti pada gambar berikut ini.
Gambar 5.7 Implementasi Alter untuk Menambah Kolom Baru Bernama jenis_kelamis
Gambar 5.7 merupakan fungsi alter untuk menambah kolom baru bernama jenis_kelamin yang memiliki tipe data char dengan panjang data 1 bit pada tabel pelanggan.
Penambahan atau Penghapusan Primary Key
Alter untuk menambah primary key memiliki implementasi seperti pada gambar berikut ini.
Gambar 5.8 Implementasi Alter untuk Menambah Primary Key
Gambar 5.8 merupakan fungsi alter untuk menambah primary key pada kolom id_mobil.
Alter untuk menghapus primary key memiliki implementasi seperti pada gambar berikut ini.
Gambar 5.9 Implementasi Alter untuk Menghapus Primary Key
Gambar 5.9 merupakan fungsi alter untuk menghapus primary key pada atribut id_mobil.
Penghapusan Kolom
Alter untuk menghapus kolom memiliki implementasi seperti pada gambar berikut ini.
Gambar 5.10 Implementasi Alter untuk Menghapus Kolom Bernama tahun
Gambar 5.10 merupakan fungsi DDL untuk menghapus kolom tahun pada tabel mobil.
Pengubahan Nama Kolom
Alter untuk mengubah nama kolom memiliki implementasi seperti pada gambar berikut ini.
Gambar 5.11 Implementasi Alter untuk Mengubah Nama Kolom
Gambar 5.11 merupakan fungsi alter untuk mengubah nama kolom jenis_kelamin menjadi gender pada tabel pelanggan.
Penggubahan Tipe Data Kolom
Alter untuk mengubah tipe data kolom memiliki implementasi seperti pada gambar berikut ini.
Gambar 5.12 Implementasi Alter untuk Mengubah Tipe Data olom
Gambar 5.12 merupakan fungsi alter untuk mengubah tipe data gender menjadi enum.
Penggantian Nama Tabel
Alter untuk mengganti nama tabel memiliki implementasi seperti pada gambar berikut ini.
Gambar 5.13 Implementasi Alter untuk Mengganti Nama Tabel
Gambar 5.13 merupakan fungsi alter untuk mengganti nama tabel pelanggan menjadi peminjam pada tabel rental mobil.
Drop
Drop yaitu untuk perintah untuk menghapus suatu database atau kolom. Implementasi dari drop memiliki 2 bagian yaitu.
Drop tables yaitu untuk menghapus suatu tabel yang diinginkan. Implementasi dari drop tabel dapat dilihat pada gambar berikut.
Gambar 5.14 Implementasi Drop untuk Menghapus suatu Tabel yang Diinginkan
Gambar 5.14 merupakan fungsi drop untuk menghapus tabel rental pada database rental_mobil.
Drop database yaitu untuk menghapus database yang diinginkan. Implementasi dari drop database dapat dilihat pada gambar berikut ini.
Gambar 5.15 Implementasi Drop untuk Menghapus suatu Database yang Diinginkan
Gambar 5.15 merupakan fungsi drop untuk menghapus database rental_mobil.