Modul II DDL Data Definition Language
Modul II DDL Data Definition Language
Tujuan
1. Mampu menerapkan penggunaan DDL dalam basisdata
2. Mampu melakukan konfigurasi relasi antar tabel dengan DDL
Tugas Pendahuluan
1. Buatlah sintaks dari masing-masing fungsi yang ada dalam Data
Definition Language (DDL) beserta contoh penggunaannya.
2. Sebutkan dan jelaskan tipe-tipe tabel yang ada didalam MYSQL, serta
berikan contoh penggunaannya.
3. Sebutkan dan Jelaskan macam-macam refrential integrity constraint
didalam MYSQL, serta berikan contoh penggunaannya.
4. Bagaimana cara mengubah tipe tabel dan refrential integrity constraint
didalam MYSQL
5. Rancanglah minimal dua buah tabel yang memiliki relasi, lalu
implementasikan semua fungsi DDL ke tabel tersebut.
Jawaban
1. Sintaks dari masing-masing fungsi yang ada dalam DDL pada
MySQLadalah sebagai berikut.
1) Create
Sintaks createbisa digunakan untuk create databasedan create table.
Perintah create digunakan untuk membuat atau menciptakan sebuah database
ataupun tabel baru. Penjelasannya adalah sebagai berikut.
a. Create Database
Aturan penamaan sebuah database sama seperti aturan penamaan sebuah
variabel, dimanasecara umum nama database boleh terdiri dari huruf, angka dan
underscore (_).Implementasi dari create database adalah sebagai berikut.
b. CreateTable
Databaseyang bernama univ_udayanatelah 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.
2) Alter
Sintaks alterberfungsi 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
alteradalah sebagai berikut.
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.
Gambar 1.12Contoh Penggunaan Alter untuk Menghapus Primary Key pada Command Prompt
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.14Contoh Penggunaan Alter untuk Menghapus Field atau Kolom pada Command
Prompt
Gambar 1.15 Bentuk Umum dari Alteruntuk Mengubah Nama Field atau Kolom
Gambar 1.15 merupakan sintaks alteruntuk mengubah nama kolom yang
diinginkan.
Sedangkan contoh penggunaan alter untuk mengubah nama field atau
kolom adalah sebagai berikut.
Gambar 1.16Contoh Penggunaan Alter untuk Mengubah Nama Field atau Kolom pada Command
Prompt
Gambar 1.17Bentuk Umum dari Alter untuk Mengubah Tipe Data Kolom
Gambar 1.19Bentuk 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 alteruntuk mengganti nama tabel adalah sebagai
berikut.
Gambar 1.20Contoh Penggunaan Alter untuk Mengganti Nama Tabel pada Command Prompt
3) 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.
2) InnoDB
InnoDB adalah jenis storage engineMySQL yang di gunakan untuk
menyimpan data yang sangat besar, lebih dari MyISAM. InnoDBjuga punya
kekurangan yaitumembutuhkan resource hardwareyang 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 berisi implementasi dari penggunaan tipe tabel InnoDB pada
tabel matkulyang berisi atribut id_matkulyang menjadi primary key dengan tipe
data int yang memiliki panjang data sebesar 10 bit. nama_matkulmemiliki tipe
data varchar yang memiliki panjang data sebesar 15 bit.
3) Heap
Heapadalah sebuah binary tree dengan yang memiliki ketentuan-
ketentuan. Ketentuan dari tipe tabel heap adalah sebagai berikut.
a. Tree harus complete binary tree: Semua level tree mempunyai simpul
maksimum kecuali pada level terakhir. Level terakhir berisi nodeyang
tersusun dari kiri ke kanan tanpa ada yang dilewati.
b. Perbandingan nilai suatu node dengan nilai node child-nya mempunyai
ketentuan berdasarkan jenis heap, diantaranya sebagai berikut.
a) Max Heap mempunyai ketentuan bahwa nilai suatu node lebih besar atau
sama dengan( >=) dari nilai childnya.
b) 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).
Kode Program 3.1 berisi implementasi dari restrict yang berisi atribut
id_masinis, nama_masinis, alamat_masinis, no_telp, id_kereta sehingga
tabel masinistidak bisa di delete atau di update bila data tersebut memiliki relasi
pada tabel lainnya.
2) 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 4.1 sintaks untuk mengubah suatu tipe tabel menjadi tipe
tabel InnoDB.
Perintah SQL untuk melakukan setting referential integrity constraint
dapat menggunakan sintaks berikut.
ALTERTABLEnamatabel
ONDELETECASCADE
ONUPDATECASCADE;
Kode Program 4.2 Perintah untuk Mengatur Referential Integrity Constraint
Gambar 5.2 merupakan gambar yang berisi 2 perintah yaitu use untuk
mengaktifkan database rental mobil dan perintah create tablemobil
digunakan untuk membuat tabel baru bernama tabel mobil. Tabel
mobilmemiliki atribut id_mobil, no_polisi, merk, warna, dan tahun. Kolom
id_mobilmenjadi primary key pada tabel mobil.
Create tabeluntuk membuat tabel baru bernama tabel
paket_rentalseperti pada gambar berikut ini.
Gambar 5.3 Implementasi dari DDL untuk Membuat TabelBaru 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_mobilmenjadi foreign key pada tabel paket rental.
Create tableuntuk membuat tabel baru bernama tabel rentalseperti pada
gambar berikut ini.
Gambar 5.4 Implementasi dari DDL untuk Membuat TabelBaru Bernama Tabel rental
Gambar 5.4 merupakan fungsi DDL untuk membuat tabel baru bernama
tabel rental yang berisi atribut id_rental, tgl_pinjam, jumlah,
Gambar 5.5 merupakan fungsi DDL untuk membuat tabel baru bernama
tabel pelangganyang berisi atribut id_pelanggan, nama, alamat, no_telp,
tgl_daftar, dan jumlah_peminjam. Id_pelangganmenjadi primary key pada
tabel pelanggan.
Hasil dari implementasi create tabelpada command prompt yang memiliki
skema di SQLyog seperti pada gambar berikut.
Gambar 5.6 merupakan skema dari SQLyog setelah membuat tabel mobil,
paket_rental, rental, dan pelanggan dari databaserental_mobil.
2) Alter
Alteryaitu perintah untuk menambah kolom baru pada database yang
dibuat. Altertabel yang akan dibahas ini memiliki 6 bagian yaitu.
a. Penambahan Kolom Baru
Alter untuk menambah kolom baru memiliki implementasi seperti pada
gambar berikut ini.
Gambar 5.7 Implementasi Alteruntuk Menambah Kolom Baru Bernama jenis_kelamis
Gambar 5.8 merupakan fungsi alter untuk menambah primary key pada
kolom id_mobil.
Alter untuk menghapus primary keymemiliki implementasi seperti pada
gambar berikut ini.
c. Penghapusan Kolom
Alter untuk menghapus kolom memiliki implementasi seperti pada gambar
berikut ini.
Gambar 5.10 merupakan fungsi DDL untuk menghapus kolom tahun pada
tabel mobil.
Gambar 5.12 merupakan fungsi alter untuk mengubah tipe data gender
menjadi enum.
3) Drop
Dropyaitu untuk perintah untuk menghapus suatu database atau kolom.
Implementasi dari drop memiliki 2 bagian yaitu.
a. Droptablesyaitu untuk menghapus suatu tabel yang diinginkan.
Implementasi dari drop tabel dapat dilihat pada gambar berikut.
Gambar 5.15 Implementasi Drop untuk Menghapus suatu Database yang Diinginkan