Tuesday, 20 December 2016

Cara Membuat Database, Table, Primary Key, Foreign Key Di HeidiSQL

Pada awal-awal perkuliahan saya pernah memperlajari bagaimana cara membuat database MySQL, pada saat itu masih menggunakan command from SQL. Kebayangkan bagaimana ribetnya memantau syntaxnya satu persatu.

Memang saat awal-awal penulisan syntaxnya tidak terlalu memusingkan, namun ketika tablenya sudah kompleks banget baru akan terasa kacaunya otak. Bagi yang belum familiar dengan syntax MySQL seperti saya dulu, mungkin akan melototin layar sampai dekat-dekat banget, tapi bagi yang sudah pro sih tidak terlalu pusing ya :D

Setelah beberapa minggu belajar syntax secara manual, barulah akang-akang aslab memberika sebuah tools untuk membuat database tanpa syntax. Tool tersebut bernama HeidiSQL.

HeidiSQL sangat mudah digunakan, kalian hanya perlu menghafal istilah-istilah dalam database MySQL. Isitalah-istilah tersebut akan kalian temui di HeidiSQL di menu, di button ataupun lainnya.

Cara Membuat Database Dengan HeidiSQL


Buka aplikasi HeidiSQL, lalu klik kanan pada nama server HeidiSQL yang kalian gunakan untuk connect ke HeidiSQL, letaknya biasanya paling atas. Pilih menu create new kemudian pilih Database. Lihat Gambar 1

Gambar 1
Penjelasan :
  1. Klik kanan nama server 
  2. Pilih Create New
  3. Pilih Database
Setelah memilih database, akan terbukan form baru untuk input nama databasenya. Lihat Gambar 2

Gambar 2
 Penjelasan :
  1. Isikan nama database yang mau dibuat, dalam tutorial ini saya beri nama product_test
  2. Jangan rubah apa-apa lagi, kemudian tekan OK
Latin1_swedish_ci adalah tipe collation default dari MySQLnya, tidak perlu dirubah-rubah lagi.

Setelah database terbuat, selanjutnya kita akan membuat table dalam database tersebut (product_test). Caranya lihat pada Gambar 3

Gambar 3
Penjelasan :
  1. Klik kanan pada nama database (product_test) yang sudah dibuat sebelumnya
  2. Pilih menu create new
  3. pilih Table
Setelah itu akan tampil sebuah tampilan baru, dimana kalian akan membuatkan nama, atribut dan entity untuk table yang akan dibuat. Perhatikan Gambar 4

Gambar 4
Penjelasan :
  1. Isikan nama pada table yang akan dibuat
  2. Tekan button new, maka akan ada atribut baru muncu dibawahnya.
  3. Edit nama atributnya sesuai dengan keinginan, biasanya yang paling pertama dibuat adalah id si table.
Untuk pengisian kolom atribut pada Gambar 4 adalah yang standar biasa digunakan :

Pada nomor 3 adalah nama atribut yang ada dalam table. Umumnya yang paling pertama ditulis adalah atribut ID

Pada nomor 4 adalah DataType. Ada banyak data tipe, gunakan sesuai dengan kebutuhan. Perhatikan Gambar 5

Gambar 5
Seperti yang saya katakan gunakan sesuai dengan kebutuhan. Jika yang atribut yang dibuat adalah yang berkaitan dengan angka, penjumlahan, auto increment pilih saja INT, REAL, DECIMAL, dll (disesuaikan saja).

Jika yang berhubungan dengan String kalian bisa gunakan CHAR atau VARCHAR.  Perbedaan mendasar antara keduanya adalah :
  1. Char, tipe data ini digunakan ketika data yang akan di input memiliki panjang tetap (fixed-length). Artinya panjang data tersebut kira-kira sekian, tidak terlalu panjang. Biasanya digunakan untuk nama-nama object orang, tempat, nama kota, pulau, dll.
  2. Varchar, tipe data ini digunakan untuk yang tidak pasti panjangnya, misalnya seperti alamat, kita tidak akan dapat mengira-ngira berapa panjangnya, karna ada alamat yang pendek, ada alamat yang sangat panjang.
Untuk penjelasan yang lebih rinci silakan baca postinga saya tentang perbedaan tipe data Char dan Varchar.

Pada nomor 5, adalah pengaturan panjang jumlah karakter yang boleh di input ke database. Ini akan berhubungan dengan pengalokasian memory ke MySQL, isikan sesuai dengan kubutuhan dan pertimbangkan juga inputan yang akan terjadi, apakah akan banyak atau segitu-segitu aja.

Pada nomor 6, adalah pengaturan untuk memperbolehkan null atau tidak. Biasanya yang tidak boleh null adalah primary key yang lainnya bisa null. Tapi tergantung kebutuhan juga seperti apa desain databasenya.

Pada nomor 7, adalah Auto Increment. Pada bagian ini hanya untuk men set proses penambahan secara otomatis. Biasanya sih untuk angka yang berkelanjutan

Misalnya ID dipakai dari bilangan 1 sampai seterusnya, jika ada data baru yang diinput, maka si ID otomatis nambah menjadi 2,3,4 dan seterusnya. yang menyebabkan terjadi seperti itu adalah Auto Increment.

Pada nomor 8, adalah proses pemilihan primary key, caranya adalah klik kanan pada atribut yang akan dijadikan primary key, kemudia pilih create new index.

Pada nomor 9, untuk menjadikan primary key pilih primary key.

Selanjutnya bagaimana cara membuat foreign key di HeidiSQL?


Foreign Key adalah kolom atau field pada suatu tabel yang berfungsi sebagai kunci tamu dari tabel lain (reference table).

Nama atribut, tipe data, dllnya yang akan dijadikan foregin key pada suatu table haruslah sama dengan atribut, tipe data dll nya dari table referencenya (atau table dimana kita merujuk si foregin key).

Untuk lebih jelasnya perhatikan Gambar 6 berikut ini :

Gambar 6
Penjelasannya Gambar 6:

Pada nomor 1, pilih nama table yang akan dibuatkan foregin key, pada case ini saya pilih table reseller

Pada nomor 2, buatkan sebuah atribut yang akan dijadikan sebagai foreign key, dengan syarat sebagai berikut :
  1. Nama atributnya harus sama (penulisannya) dengan reference tablenya
  2. Tipe datanya harus sama dengan reference tablenya
  3. Length nya harus sama seperti table referencenya
  4. dllnya harus sama.

Pada nomor 3, pilih tab foreign key, pada bagian.


Pada nomor 4, klik button + Add (dengan lambang tanda tambah)

Pada nomor 5, isikan nama untuk foreign keynya, biar jelas namanya.

Pada nomor 6, Pilih pilih colom/atau atribut di table reseller yang akan dijadikan foreign key (tentunya yang sudah kita buat tadi), yaitu order_id

Pada nomor 7, pilih reference tablenya. Foreign key ini mengarah kemana. Dalam case ini foreign keynya mengarah ke table order.

Pada nomor 8, pilih atribut/color yang ditargetkan menjadi foreign key, yaitu order_id

Pada nomor 9, setelah selesai dan dipastikan sudah benar, silakan tekan tombol save


Melalui langkah-langkah diatas, kalian sudah bisa membuat database sederhana menggunakan HeidiSQL. Lalu pertanyaan berikutnya adalah, bagaimana menginput datanya ke masing-masing table?

1. Terlebih dahulu menginput data pada table yang didalamnya tidak ada mereference table lain


Berikut ini adalah cara bagaimana menginput data yang benar ke dalam table order. Perhatikan Gambar 7


Gambar 7
Pejelasan pada Gambar 7 :

Sekali lagi, yang pertama kali di isi datanya adalah table yang atributnya tidak ada yang mereference atribut di table lain. Dengan kata lain, ditable tersebut tidak ada foreign key.

Pada nomor 1, pilih tabel order (karna di dalam table order tidak ada mereference table lain)

Pada nomor 2, pilih tab Data, tempat dimana kita bisa mengimput data ke table.

Pada nomor 3, pilih icon + untuk menambahkan data ke table order.

Note : 

Kenapa pada bagian atribut order_id saya silang? Itu karna kita tidak perlu mengimput data secara manual ke atribut yang ada primary key + Auto Increment. Kosongkan saja, nanti kolom tersebut akan terisi dengan nomor 1 dan akan bertambah otomatis seiring dengan banyaknya kita menginput data.

Pada nomor 4, isikan nama nama itemnya/barangnya

Pada nomor 5, isikan data jumlah barangnya.


2. Barulah menginput data pada table yang didalamnya mereference table lain (ada foreign keynya)


Kenapa harus ada aturan table yang tidak mereference table lain harus di isi dahulu? Perhatikan Gambar 8

Gambar 8
Penjelasan pada Gambar 8 :

Pada nomor 1, pilih table yang mereference table order, dalam kasus ini table reseller lah yang mereference table order.

Pada nomor 2, Pilih tab Data, tempat untuk menginput data

Pada nomor 3, pilih icon + untuk memulai proses input data pada table reseller.


Saya sudah jelaskan kenapa pada gambar ada atribut yang disilang. Silakan scroll ke atas lagi.

Pada nomor 4, isikan nama resellernya.

Pada nomor 5, nah inilah jawaban untuk pertanyaan kenapa table yang tidak ada mereference table lain harus di input duluan.

Perhatikan baik-baik pada nomor 5, disana sudah terdapat data berupa dropdown. Data tersebut didalam dari table order.

Kenapa bisa muncul data dari table order?

Begini, tadi kita kan membuat foreign key di table reseller kan? Nah atribut yang di ambil adalah si primary keynya, yaitu si ID.

Jadi otomatis, ketika selesai mengimput data di table order, data tersebut akan tampil juga di table reseller dalam bentuk dropdown (tinggal kita pilih aja salah satunya)

begitu terus sampai semua data sudah selesai diinput, berapapun itu, alurnya tetap seperti itu.

Hasil akhir penginputan data


Setelah dirasa cukup menginput data, mari kita lihat bagaimana outputnya dimasing-masing tabel.

Tabel Order

Data tabel order
Tabel Reseller

Data tabel reseller



Mari kita ambil satu data menggunakan tampilkan datanya menggunakan syntax untuk memastikan desain yang dibuat sudah benar atau tidak.

Skenario yang mau ditampilkan datanya :
  1. Menampilkan item_name dari table order
  2. Menampilkan number dari table order
  3. Menampilkan reseller_name dari table reseller

Hasil

Dan ternyata berhasil. Selamat kalian sudah bisa membuat database sederhana. Silakan mencoba-coba lagi.

Perhatian!!

Karena nama table yang saya buat yaitu order, mirip dengan salah satu perintah di syntax MySQL, maka saat mengeksekusi harus ada tanda `` (tanda yang ada di keyboard escape).

Jadinya seperti ini `order` 

Please post a polite comment and do not post a spam
EmoticonEmoticon