Deskripsi Singkat
Basis data relasional terdiri dari tabel-tabel yang saling berelasi. Sehingga pada modul ini kita
akan membuat basis data dan tabel. Materi praktikum ini akan berisi tutorial, latihan dan soal.
Tujuan
Basis data yang dimaksud disini merupakan tempat tabel-tabel yang berelasi disimpan.
Terdapat beberapa aturan penamaan dalam pembuatan basis data:
Setiap basis data yang sudah dibuat akan tersimpan. Untuk melihat semua basis data yang
tersimpan di server MySQL dan bisa diakses oleh user anda sekarang, gunakan perintah
show databases;
Sedangkan untuk melihat basis data yang sedang aktif, kita gunakan perintah select database;
Hasil pada tampilan di atas adalah NULL karena sedang tidak ada basis data yang aktif. Oleh
karena itu meng-aktifkan atau masuk ke dalam basis data tertentu, gunakan perintah use
nama_basisdata;
Jika muncul pesan Database changed maka anda telah berhasil masuk ke dalam basis data
tertentu. Jika tidak, akan muncul pesan ERROR 1049: unknown database. Hal tersebut muncul
bisa disebabkan oleh salah memasukkan nama basis data atau basis data telah terhapus.
Sesudah anda mengaktifkan basis data praktikumBD, coba kembali perintah select database().
Apakah yang muncul?
Setelah membuat basis data sebagai tempat penampungan data-data yang berelasi, maka
berikutnya kita membuat tabel. Pertama aktifkan terlebih dahulu basis data praktikumBD.
Kemudian kita buat tabel dengan syntax:
Tabel berupa kumpulan data dalam baris dan kolom dan setiap tabel haruslah memiliki nama.
Column_name merupakan nama kolom. Data_type akan mengkhususkan tipe data bagi kolom
tersebut. Dan size merupakan ukuran panjang maksimal yang dapat ditampung pada kolom
baris tertentu. Optimisasi size (ukuran) data yang disimpan diharapkan agar sesuai dengan
keperluan. Jika data yang perlu disimpan hanya 2 karakter, maka jangan buat hingga 10
karakter. Space untuk sisa 8 karakter tersebut akan terbuang begitu saja di memory/hard disk.
MySQL memiliki 3 kategori tipe data secara umum yaitu: numeric, date dan time serta tipe data
string. Berikut tipe data yang ada dalam MySQL.
Tipe Data Jenis Numeric
INT Berupa angka bilangan bulat yang paling sering digunakan, bisa signed
atau unsigned. Jika signed maka nilainya antara -2147483648 hingga
2147483647. Sedangkan unsigned nilainya antara 0 hingga 4294967295.
Ukuran maksimal adalah 11 digit.
TINYINT Tipe integer yang paling kecil. Jika signed nilainya antara -128 hingga
127. Sedangkan unsigned nilainya antara 0 hingga 255. Ukuran
maksimal adalah 4 digit.
SMALLINT Tipe integer yang lebih besar dari tinyint. Jika signed nilainya antara
-32768 hingga 32767. Sedangkan unsigned nilainya antara 0 hingga
65535. Ukuran maksimal adalah 5 digit.
MEDIUMINT Tipe integer yang lebih besar dari smallint. Jika signed nilainya antara
-8388608 hingga 8388607. Sedangkan unsigned nilainya antara 0 hingga
16777215. Ukuran maksimal adalah 9 digit.
BIGINT Tipe integer yang paling besar. Jika signed nilainya antara
-9223372036854775808 hingga 9223372036854775807. Sedangkan
unsigned nilainya antara 0 hingga 18446744073709551615. Ukuran
maksimal adalah 20 digit.
FLOAT(M,D) Tipe data untuk nilai berkoma (real/ floating-point). M merupakan ukuran
maksimal digit termasuk juga digit decimal. D merupakan banyaknya
decimal (angka di belakang koma). Nilai bawaan M dan D adalah (10, 2).
Presisi desimal pada Float bisa mencapai 24.
DOUBLE(M,D) Secara umumnya sama dengan Float. Nilai bawaan M dan D adalah (16,
4). Presisi desimal pada Float bisa mencapai 53. Sinonim Double adalah
Real.
DECIMAL(M, Tipe data unpacked floating-point. Setiap decimal berupa satu byte. M
D) dan D pada Decimal harus dituliskan. Sinonim Decimal adalah Numeric.
TIMESTAMP Bentuk Timestamp antara tengah malam 01-0101970 hingga tahun 2037.
Formatnya mirip Datetime tapi tanpa :. Formatnya adalah
YYYYMMDDHHMMSS.
YEAR(M) Menyimpan data tahun dalam bentuk 2 digit atau 4 digit. Defaultnya adalah
4 digit. Jika YEAR(2) maka tahunnya antara 1970 hingga 2069 (disimpan
sebagai 70 hingga 69). Jika YEAR(4) maka tahunnya antara 1901 hingga
2155.
CHAR(M) String dengan panjang tetap antara 1 hingga 255. Contoh CHAR(5), jika
tidak terisi hingga 5 maka sisanya berupa spasi. Default panjang Char
adalah 1.
VARCHAR(M) String dengan panjang berubah-ubah antara 1 hingga 255. Panjang
maksimal Varchar harus dituliskan. Contoh VARCHAR(25).
BLOB atau Dapat menampung hingga 65535 karakter. BLOB merupakan singkatan
TEXT dari Binary Large Objects, dan digunakan untuk menyimpan sejumlah besar
binary data seperti image (gambar). TEXT digunakan untuk menyimpan
data karakter yang banyak. Perbedaan antara keduanya adalah pada
proses pengurutan sebab perbandingan data pada BLOB bersifat case
sensitive, sedangkan perbandingan data pada TEXT tidak case sensitive.
Tipe data BLOB dan TEXT tidak memerlukan ukuran.
TINYBLOB Tipe data BLOB atau TEXT yang memiliki panjang maksimal 255 karakter.
atau
TINYTEXT
MEDIUMBLOB Tipe data BLOB atau TEXT yang memiliki panjang maksimal 16777215
atau karakter.
MEDIUMTEXT
LONGBLOB Tipe data BLOB atau TEXT yang memiliki panjang maksimal 4294967295
atau karakter.
LONGTEXT
ENUM Tipe data enumeration yang berupa list terbatas. Contoh jika ingin
menyimpan data 'A', 'B', 'C' maka ditulis ENUM('A', 'B', 'C'). Maka hanya
data tersebut saja (atau NULL) yang boleh disimpan.
Kita akan membuat tabel buku alamat seperti deskripsi tabel di bawah. Syarat penamaan tabel
juga sama seperti penamaan basis data. Jadi untuk mengganti spasi, kita bisa menggunakan
underscore (_).
Field Type Key
no INT(3)
nama VARCHAR(25)
Kd_post Char(5)
email VARCHAR(30)
Untuk melihat tabel yang ada di dalam suatu basis data tertentu dapat menggunakan perintah
seperti gambar di bawah.
Perintah describe nama_tabel digunakan untuk melihat struktur tabel yang telah dibuat. Untuk
melihat struktur tabel buku_alamat yang telah anda buat sebelumnya, lihat contohnya pada
gambar di bawah.
Selain describe, kita juga dapat menggunakan perintah show columns untuk melihat struktur
tabel. Contohnya seperti gambar berikut ini.
Materi 5 : Mengubah Struktur Tabel
Proses mengubah struktur tabel menggunakan perintah ALTER. Perintah ALTER yang
digunakan akan bergantung dengan perubahan yang ingin dilakukan. Berikut empat macam
perubahan dasar dalam struktur tabel:
Sesudah anda melakukan perubahan tersebut, lihat kembali struktur tabel seperti pada materi
4 di atas.
Sesudah anda melakukan perubahan tersebut, lihat kembali struktur tabel seperti pada
materi 4 di atas.
3. Penambahan field
Struktur tabel akan berubah dengan bertambahnya field/kolom baru di
dalamnya. Syntaxnya:
ALTER TABLE nama_tabel ADD nama_field tipe_data_baru;
Contoh kita akan tambahkan kolom jenis kelamin dengan nama field jk dan tipe data
char(1). Perintahnya:
Sesudah anda melakukan perubahan tersebut, lihat kembali struktur tabel seperti pada
materi 4 di atas.
4. Penghapusan field
Struktur tabel mengalami perubahan akibat berkurangnya field/kolom tertentu.
Syntaxnya:
ALTER TABLE nama_tabel DROP COLUMN nama_field;
Contoh kita akan menghapus field kdpos pada tabel buku_alamat.
Perintahnya:
Sesudah anda melakukan perubahan tersebut, lihat kembali struktur tabel seperti pada
materi 4 di atas.
Contoh kita akan mengubah nama tabel buku_alamat dengan nama baru yaitu
tbl_buku_alamat. Perintahnya seperti gambar di bawah.
Tabel dapat saja dihapus karena terjadi kesalahan atau sudah tidak diperlukan lagi. Menghapus
tabel menggunakan perintah DROP. Syntaxnya:
Buatlah basis data yang baru yang bernama akademik. Kemudian buatlah tabel mahasiswa
dengan deskripsi seperti di bawah.
Field Type Key
No INT(3)
Nim INT(10)
Nama VARCHAR(2
5)
Alamat VARCHAR(3
0)
JK VARCHAR(2)
Tlp VARCHAR(2
5)
SOAL-SOAL
1. Berdasarkan tabel pada latihan 1, ubahlah nama field Tlp menjadi HP. Cek kembali struktur
tabel setelah perubahan.
2. Berdasarkan tabel pada latihan 1, ubahlah tipe data field Alamat menjadi TEXT. Cek kembali
struktur tabel setelah perubahan.
3. Berdasarkan tabel pada latihan 1, tambahkan satu field baru dengan nama Nama_ortu tipe
data VARCHAR(25). Cek kembali struktur tabel setelah perubahan.
4. Berdasarkan tabel pada latihan 1, hapus salah satu field pada tabel tersebut. Cek kembali
struktur tabel setelah perubahan.
5. Berdasarkan tabel pada latihan 1, ubah nama tabel menjadi tbl_data_mahasiswa.