"Kesalahan terbesar manusia adalah tidak memaafkan dirinya sendiri"

ERD ? Primary Key ? Relasi ? Apaan sih ?

Tidak ada komentar
Assalamualaikum wr. wb.

Yoo selamat pagi semuanya, selamat hari sabtu yaa :)
Lagi semangat nulis nih, sekarang saya mau share yang memang harus diketahui sama orang yang bersinggungan dangan IT. Masalah basis data !

Tau dong apa itu basis data ? Alah ga usah ribet-ribet, intinya basis data itu model dan tempat untuk menyimpan data. Udah itu aja. Modelnya bisa berupa ERD, DFD, UML, dll. Penyimpanan datanya juga beragam, dalam hal ini saya bicara softwarenya, misalkan Notepad, Excel, Word, MySQL, Oracle, Microsoft SQL Server, dll.

Tau Kalkulator ? Menurut kalian itu ada basis datanya atau tidak ? Sifatnya bagaimana ?

Gini yah, yang namanya Basis Data itu sangat penting buat seorang IT (katakan saja iya). Kenapa ? Alasannya simple, ini menurut saya yah, bukan menurut siapapun. Ya, semahir kita suatu bahasa pemrograman, kita perlu yang namanya Manajemen Data. Manajemen data itu ada 4 macam : Create, Retrieve, Update dan Delete. Data itu harus fleksibel dan selalu bersinggungan dengan 4 hal tadi (singkatannya CRUD).

Terus, bagaimana kita mau CRUD kalau datanya sendiri tidak ada ? Makanya, adalah ilmu yang mempelajari tentang basis data.

Kalian harus tahu minimal 2 bahasa SQL : yaitu DDL dan DML.
  1. DDL atau Data Definition Language adalah bahasa yang digunakan untuk menyusun struktur tabel, mendeklarasikan field/atribut serta relasi-relasinya.
  2. DML atau Data Manipulation Language adalah bahasa yang digunakan untuk memanipulasi data. Nah DML itu yang CRUD tadi.
Sebenarnya ada juga Transact SQL itu bahasa yang dimiliki khusus sama Microsoft SQL Server. Ada lagi yang namanya Procedural Logic SQL, nah kalo ini miliknya Oracle (kapan-kapan dibahas).

Nah ke pokok artikelnya saja, saya share ini karena saya sendiri merasa ini layak untuk diberitahukan pada teman-teman. Ceritanya gini, akhir Desember 2013, saya ketemu senior saya di kampus (sebut saja bunga hahaha).

Bunga : "Hid, emang satu tabel bisa lebih dari satu primary key na ?".
Sahid : "Gak bisa lah kan udah jelas, kalo dalam satu tabel itu harus ada satu kunci pengenal."
Bunga : "Tapi dosen saya (dia kan S2) bilang bisa, malahan dipratekan di depan mahasiswa satu kelas (coding langsung)."
Saya : "...terdiam karena bingung..."

Nah setelah sekarang saya bekerja, saya ngerti dan paham betul tentang penggunaan primary key itu. "Ternyata primary key itu boleh dari satu dan boleh tidak ada dalam satu tabel." Saya berikan contoh nih, perhatikan tiap gambar di bawah.
Gambar 1. Sample ERD
  • Pada Gambar 1, lihat Kotak merah nomor 1 dan 2, disana ada lebih dari satu primary key (saya pakai software MySQL Workbench. Ciri primary key adalah kunci warna kuning.
  • Pada Kotak nomor 3, apa ada yang mesti dijelaskan ? Ada dong ! Yang mana ? Disana ada field dengan nama PARENT_ID dan itu merupakan foreign key dari field GN_CATEGORY_ID, dengan kata lain merelasikan tabel ke dirinya sendiri.

Kalian yang masih ngoding pake MySQL, saya sarankan kalian mencoba software yang namanya MySQL Workbench.

Aplikasi itu berguna bagi yang : Ngerti bikin ERD tapi gak ngerti bikin Script SQL DDL-nya, dan sebaliknya juga, buat yang ngerti Script SQL tapi ga bisa bikin ERD.

Gambar 1 kan saya menggambar ERD di Workbench, sekarang saya mau meng-generate SQL Script nya dengen langkah berikut.
Gambar 2. Antarmuka MySQL Workbench
Gambar 3. File > Export > Forward Engineer SQL CREATE Script.
Gambar 4. Nah Sekarang SQL Script dari ERD Berhasil di-Genarate.
Nah pada gambar 5, saya mengimport file SQL hasil generate tadi ke database MySQL (source namadb.sql). Jika masih penasaran, bisa dibuktikan lihat kolom key, disana tulisan "PRI" lebih dari satu. Jadi jelas sudah kalau dalam satu tabel primary key boleh dari satu ! :D

Gambar 5. Import SQL dan Show di Command Line MySQL.
Share juga ke yang lainnya, kalau ada pertanyaan, komentar aja ya.
Semoga bermanfaat.

Wassalamualaikum wr. wb.

Tidak ada komentar :

Posting Komentar