ERD DAN NORMALISASI
Apa itu Entity Relationship Diagram (ERD)
ERD adalah model atau rancangan untuk membuat database, supaya lebih mudah dalam menggambarkan data yang memiliki hubungan atau relasi dalam bentuk sebuah desain. Dengan adanya ER diagram, maka sistem database yang terbentuk dapat digambarkan dengan lebih terstruktur dan terlihat rapi.
Jenis Model Data
Untuk menyusun sistem database yang tepat, maka kita harus menentukan terlebih dahulu mengenai jenis model data yang akan digunakan. Yang mana, hal tersebut akan sangat berpengaruh nantinya pada pengembangan aplikasi sesuai dengan kebutuhan proyek bisnis.
Model ER konseptual sangat berguna untuk mendokumentasikan segala bentuk arsitektur data pada sebuah organisasi. Model ini dapat digunakan untuk satu atau lebih jenis model data logis. Tujuan dari pengembangannya adalah untuk membangun struktur metadata untuk data master entitas dan set ER model logis.
1. Data Logis
Jenis yang pertama adalah model data logis, dimana untuk proses pembuatannya tidak membutuhkan model data konseptual. Komponen dalam model data logis antara lain, entitas data master, operasional, dan transaksional yang telah terdefinisi sebelumnya. Model ini juga dapat dikembangkan secara independen mulai dari yang lebih spesifik, hingga sistem manajemen basis data yang dapat diimplementasikan langsung.
2. Data Fisik
Model data fisik memungkinkan untuk dikembangkan dari model data logis. Model ini yang digunakan sebagai database. Model data fisik dipakai dalam menentukan metadata struktural dalam sistem manajemen database sebagai objek penyimpanan data yang bersifat relasional, contohnya tabel, indeks dan trigger pada database.
Komponen yang Dipakai
ERD biasanya erat kaitannya dengan Data Flow Diagram (DFD) untuk menampilkan sebuah data store. Tujuannya adalah untuk memvisualisasikan bagaimana proses data dapat saling terhubung dan dapat mengkonstruksi data relasional. Berikut ini kami akan memberikan beberapa penjelasan mengenai istilah dan komponen apa saja yang berada pada ERD.
1. Entitas
Entitas merupakan kumpulan objek yang dapat teridentifikasi secara unik. Di dalam ERD, entitas dilambangkan dengan bentuk persegi panjang. Kemudian, entitas lemah akan digambarkan dengan bentuk persegi panjang kecil di dalam persegi panjang yang besar. Untuk entitas lemah digunakan untuk melambangkan entitas yang memiliki hubungan dengan entitas lain (tidak unik).
2. Atribut
Untuk setiap entitas sendiri mempunyai atribut yang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Untuk penggunaan atribut kunci (key) adalah pembeda dari entitas dan atribut yang mana, diwakili dengan simbol ellips. Berikut merupakan beberapa jenis atribut yang sering digunakan:
Atribut Kunci
Merupakan atribut yang digunakan untuk menentukan data yang bersifat unik. Pada umumnya, data dari atribut key berbentuk angka. Contohnya NIM (Nomor Induk Mahasiswa), No. KTP, SIM, NPWP, dan lain sebagainya.
Atribut Simpel
Yaitu atribut yang tidak dapat dipecah lagi atau atomic dan bernilai tunggal. Contohnya adalah alamat rumah, kantor, nama penerbit, tahun terbit jurnal, dan lain – lain.
Atribut Multinilai (Multivalue)
Merupakan atribut yang memiliki sekelompok nilai untuk setiap entitas -nya. Contoh dari atribut multivalue adalah kumpulan nama pengarang dalam sebuah novel.
Atribut Gabungan (Composite)
Yaitu atribut yang berasal dari susunan atribut yang lebih kecil dalam artian tertentu. Contohnya adalah data terkait nama lengkap, yang terdiri dari nama depan, tengah, dan belakang.
Atribut Derivatif
Merupakan atribut yang berasal dari atribut lain dan tidak bersifat wajib untuk ditulis pada ERD. Contohnya adalah usia, selisih waktu, kelas atau ruang, dan lain sebagainya.
3. Relasi
Relasi adalah sebuah hubungan antara beberapa jenis entitas yang berasal dari himpunan entitas yang berbeda. Bentuk relasi ini akan dilambangkan dengan bentuk belah ketupat. Terdapat tiga jenis relasi yang digunakan dalam ERD, diantaranya adalh sebagai berikut:
One to One
Yang berarti, setiap entitas hanya boleh memiliki relasi dengan satu entitas yang lain. Contohnya adalah data mahasiswa dengan data NIM.
One to Many
Merupakan hubungan antara satu entitas dengan beberapa entitas, dan begitu pula sebaliknya. Contoh implementasinya adalah data terkait guru dengan siswa Sekolah Dasar (SD).
Many to Many
Merupakan hubungan antara beberapa entitas yang memiliki lebih dari satu relasi. Contohnya adalah siswa SMP dengan data terkait ekstrakurikuler yang tersedia.
4. Garis
Garis berfungsi untuk menghubungkan antar atribut sebagai bentuk hubungan entitas yang model dari diagram ER itu sendiri.
Cara Membuat ERD
Materi yang berikutnya akan menjelaskan mengenai cara membuat ERD yang tepat untuk menunjang kebutuhan dalam perancangan sistem basis data yang terstruktur.
1. Identifikasi Entitas
Langkah pertama yang harus anda lakukan adalah mengidentifikasi semua jenis entitas yang akan anda gunakan. Anda dapat memulai dengan menggambar persegi panjang yang didalamnya terdapat deskripsi singkat terkait nama entitas tersebut.
2. Deskripsikan Relasi Entitas
Selanjutnya, anda dapat mulai mengidentifikasi beberapa entitas yang memiliki relasi yang sama dihubungkan dengan menggunakan garis. Lakukan langkah tersebut sesuai dengan kebutuhan database proyek yang akan dikembangkan. Anda dapat menambahkan simbol berbentuk diamond untuk mendeskripsikan hubungan tersebut.
3. Menambahkan Atribut
Berikutnya, anda dapat menambahkan beberapa atribut yang sudah anda pelajari pada materi sebelumnya. Pastikan juga untuk membuat atribut key pada setiap entitas dengan menggambarkan dalam bentuk oval.
4. Melengkapi Diagram
Dan langkah yang terakhir adalah dengan melengkapi diagram ER tersebut sesuai dengan kebutuhan sistem yang akan anda buat. Teliti kembali untuk setiap komponen jika ada simbol yang salah, atau komponen atribut yang tertukar. Anda juga dapat menggunakan warna yang lebih terang untuk menandai setiap atribut yang dianggap penting.
Tools untuk Membuat ERD
Saat ini, terdapat banyak sekali cara untuk membuat diagram ER secara cepat, cukup dengan menghubungkan perangkat komputer anda dengan jaringan internet. Anda dapat membuat ERD dengan mengakses aplikasi berbasis web yang berupa tools online.
1. Draw.io
Tool ini cukup casual dan sangat mudah untuk diguanakan. Bentuk penyimpanannya berupa berbasis cloud dapat dapat digunakan untuk membuat flowchart.
2. Dbdiagram.io
Dbdiagram.io merupakan tool yang dapat digunakan untuk membuat diagram ER dan mendesain database secara cepat. Tool ini juga menggunakan bahasa yang mudah dan bersifat open source.
3. Lucidchart
Lucidchart biasanya digunakan oleh para desainer profesional untuk memudahkan pekerjaannya dalam merancang model ERD. Lucidchart menawarkan tampilan interface yang baik, namun berbayar. Anda jangan khawatir, karena Lucidchart juga menyediakan free version untuk anda yang baru belajar untuk membuat diagram.
4. QuickDBD
Tool ini berbasis teks dan sangat cepat untuk menggambar diagram yang diperlukan. QuickDBD juga menyediakan file export dalam berbagai format, seperti PDF, SQL, maupun Word.
5. SQLDBM
Dan tool yang terakhir adalah SQLDBM yang digunakan untuk menjalankan database berbasis MySQL. Kelebihan utama dari SQLDBM adalah dapat bekerja pada browser apapun dan tidak memerlukan database engine tambahan.
Apa itu Normalisasi Database?
Normalisasi merupakan sebuah teknik logical desain dalam sebuah basis data yang mengelompokkan atribut dari berbagai entitas dalam suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi/pengulangan data) serta sebagian besar ambiguity bisa dihilangkan.
Atau pengertian singkatny, Normalisasi Databse adalah proses pengelompokan atribut data yang membentuk entitas sederhana, nonredundan, fleksibel, dan mudah beradaptasi, Sehingga dapat dipastikan bahwa database yang dibuat berkualitas baik.
Normalisasi database terdiri dari banyak bentuk, dalam ilmu basis data ada setidaknya 9 bentuk normalisasi yang ada yaitu 1NF, 2NF, 3NF, EKNF, BCNF, 4NF, 5NF, DKNF, dan 6NF.
Database 1NF, 2NF, dan 3NF akan sering ditemui ketika akan membuat sebuah database yang optimal. Jika Anda ingin menjadi seorang Database Administrator (DBA), harus tahu bagaimana cara normalisasi database yang optimal. Misalkan suatu saat ketika website yang Anda buat mengalami penurunan kinerja, mungkin Anda akan ditanya apakah database tersebut sudah dinormalisasi dengan benar.
Tujuan Normalisasi Database
Tujuannya adalah untuk menghilangkan dan mengurangi redudansi data dan tujuan yang kedua adalah memastikan dependensi data (Data berada pada tabel yang tepat). Jika data dalam database tersebut belum di normalisasi maka akan terjadi 3 kemungkinan yang akan merugikan sistem secara keseluruhan.
- INSERT Anomali : Situasi dimana tidak memungkinkan memasukkan beberapa jenis data secara langsung di database.
- DELETE Anomali: Penghapusan data yang tidak sesuai dengan yang diharapkan, artinya data yang harusnya tidak terhapus mungkin ikut terhapus.
- UPDATE Anomali: Situasi dimana nilai yang diubah menyebabkan inkonsistensi database, dalam artian data yang diubah tidak sesuai dengan yang diperintahkan atau yang diinginkan.
Database Seperti Apa yang dinormalisasi?
Tidak semua database bisa dinormalisasi, hanya tipe “relational database“ yang bisa dinormalisasi. Banyak vendor DBMS (Database Management System) diantaranya Oracle, MySQL, SQL Server, PostgreSQL, dll.
Tahapan Normalisasi Database
Untuk melakukan normalisasi database kita harus mengidentifikasi data seperti apa yang akan disimpan, dan berikut adalah contohnya:
1. Bentuk Tidak Normal (unnormalize)
Bentuk tidak normal (unnormalized) merupakan kumpulan data yang direkam tidak ada keharusan dengan mengikuti suatu format tertentu.
Pada bentuk tidak normal terdapat repeating group (Pengulangan Group), sehingga pada kondisi ini data menjadi permasalahan dalam melakukan manipulasi data (insert, update, dan delete) atau biasa disebut anomali.
2. 1NF / First Normal Form
1NF mensyaratkan beberapa kondisi dalam sebuah database, berikut adalah fungsi dari bentuk normal pertama ini.
- Menghilangkan duplikasi kolom dari tabel yang sama.
- Buat tabel terpisah untuk masing-masing kelompok data terkait dan mengidentifikasi setiap baris dengan kolom yang unik (primary key).
Pada intinya bentuk normalisasi 1NF ini mengelompokkan beberapa tipe data atau kelompok data yang sejenis agar dapat dipisahkan sehingga anomali data dapat di atasi.
Komentar
Posting Komentar