Sitemap

Database Design : Conceptual Model

4 min readOct 2, 2022

--

Dalam membuat model design database, terdapat 2 tahap pemodelan yaitu Conceptual Model dan Logical Model. Pada artikel ini saya tidak akan membahas semuanya , saya akan lebih fokus membahas tentang Conceptual Model terlebih dahulu jika agan tertarik untuk pembahasan mengenai Logical Model bisa klik tautan disini

Press enter or click to view image in full size
Gambar 1.1 Ilustrasi database (src : https://www.freepik.com/)

Conceptual model merupakan salah satu tahap dalam database design dalam tahap ini, semua requirement dalam pembuatan database dikumpulkan / didaftar ke dalam data dictionary.

KOMPONEN

Pada data dictionary, tiap komponen dideskripsikan secara detail. Kemudian ditentukan apakah komponen tersebut termasuk ke dalam kategori entity, relationship, atau attribute

Mungkin agan yang membaca artikel ini masih asing dengan istilah komponen yang saya sebutkan di atas baik akan saya deskripsikan secara singkat mengenai ketiga komponen di atas

Entity

merupakan benda/ kelompok benda, entity dianalogikan dengan class. Entitiy berupa naoun/kata kerja benda misalnya parabola, staff, dan produk

Relationship

Merupakan hubungan atara beberapa entitiy, relotionship berupa verb/kata kerja yang menghubungkan 2 entity atau lebih misalnya membeli, transaksi, dan mengajar

Attribute

Merupakan property dari suatu entity atau relationship, attribute di analogikan dengan variable misalnya id.pembeli, alamat pembeli, dan no.transaksi

Get Huans’s stories in your inbox

Join Medium for free to get updates from this writer.

Attribute terbagi menjadi beberapa jenis :
- Simple attribute = merupakan attribute yang memiliki nilai tunggal, misalnya judul buku
- Multivariate attribute = attribute yang memilki nilai lebih dari satu, misalnya author
- Composite attribute = attribute yang terdiri dari beberapa attribute yang lebih kecil/spesifik, misalnya alamat yang mana terdiri dari (kota, kecamatan, kelurahan)
- Derivative attribute = merupakan attribute turunan yang nilainya tidak harus disimpan karena adanya attribute lain, misalnya usia, total harga
- Key attribute = attribut yang unik dan harus ada yang mana sebagai pengidentifikasi suatu entity

ERD

Setelah entity, relationship, dan attribut ditentukan selanjutnya dibuatlah model database menggunakan entity relationship dengan ERD. Pada ERD entity disimbolkan sebagai persegi panjang, relationship berbentuk belah ketupat, dan attribute berbentuk oval. Untuk lebih jelasnya lihat gambar dibawah

Press enter or click to view image in full size
Gambar 1.2 ilustrasi ERD

KEY ATTRIBUTE

Super Key

Key adalah himpunan dari single atau multiple keys yang dapat mengindentifikasi suatu record. Super key dapat memiliki key member yang tidak bernilai unik misalnya id_mahasiswa, nama, alamat

Primary Key

Merupakan suatu key yang bernilai unik yang dapat mengidentifikasi suatu record. Primary key akan dipilih sebagai key utama dari unique key yang lain. Ini merupakan sebuah data yang dapat merepresentasikan satu baris record secara unik

Alternate Key

Merupakan sekumpulan dari single keys/ unique attribute lain yang dapat mengidentifikasi suatu record. Jadi intinya alternate key adalah key lain selain primary key

Candidate Key

Sekumpulan dari single keys/unique attribute yang dapat mengidentifikasi suatu record. Salah satu key pada candidate key akan digunakan sebagai primary key, sedangkan key lain yang tidak digunakan untuk mengidentifikasi record disebut alternate key

Foreign Key

  • Sebuah key yang didapatkan dari primary key entity/ table lain sebagai bentuk hubungan atar entity/table. Foreign key tidak harus memiliki nilai unik
  • Sebelum menentukan FK, pastikan cardinality yang akan diimplementasikan sudah sesuai dan dapat diterima
  • pada hubungan 1:1 primarykey dari weak entity menjadi foreign key dari strong entity, primary key dari entity partial participation menjadi FK pada entity total participationm apabila sama yaitu sama-sama partial boleh pilih salah satu primary key menjadi FK di entity lain
  • pada hubungan 1:n primary key dari entity one menjadi FK pada entity n
  • pada hubungan n:n relationship akan menyimpan primary key dari entity yang berhubungan sebagai FK

Melakukan Proses Normalisasi

  • Normalisasi adalah suatu teknik untuk menghasilkan suatu tabel yang memenuhi kondisi normalisasi
  • manfaat penerapan normalisasi adalah membentuk entity/ tabel yang sederhana, non redundent, dan fleksibel
  • Normalisasi umumnya dibagi menjadi 3 tahapan yaitu 1NF, 2NF, 3NF

Normalisasi Bentuk Pertama (1NF)

  • pada tahap ini, suatu attribut/kolom tidak dapat menyimpan lebih dari 1 data
  • apabila ditemukan, pecah baris tersebut menjadi beberapa baris
  • misal kolom genre buku satu row terdiri dari genre horror, comedy, action. Kita pisah data tersebut menjadi beberapa baris yang hanya mengandung 1 genre saja misal kalau horror ya horror saja dan seterusnya

Normalisasi Bentuk Kedua (2NF)

  • pada tahap ini, table akan dipisah berdasarkan functional dependecy (adalah batasan keterkaitan antara 2 attribut dalam suatu table jadi table tersebut harus dipecah primary key nya)
  • tabel harus memenuhi kondisi 1NF sebelum dilakukan proses 2NF
  • Attribut non-key harus memiliki functional dependency dengan PK table
  • tidak diperbolehkan memiliki partial dependency dengan PK table
  • apabila tidak terdapat PK table, attribut yang bergantung pada FK harus dipisah juga
  • misal dalam suatu table transaksi terdapat kolom id, nim, nama, hoby, id_barang, nama barang, harga, jumlah bisa kita lihat untuk entity mahasiswa ada attribut (id, nim, nama, hobby) dan entity transaksi ada attribut (id barang, nama barang, harga, jumlah). untuk entity mahasiswa terdapat 2 key yaitu id dan nim pada proses normalisasi bentuk kedua kita harus memilih mana yang dijadikan PK oleh karena itu kita memilih id sebagai PK dan nim sebagai FK. contoh lain pada entity transaksi id barang menjadi FK yang mana attribut lain yaitu nama barang, harga, jumlah bergantung pada id barang.

Normalisasi bentuk ke tiga (3NF)

  • tidak diperkenankan adanya partial ‘transitive dependency’ dalam sebuah tabel, merupakan functional dependency yang berdasarkan sifat transitifitas artinya jika terdapat suatu attribut yang tidak bergantung pada primary key tapi bergantung pada field yang lain maka attribut tersebut pelu dipisah ke tabel baru
  • misalnya pada suatu table terdiri dari attribut id member, nama, tipe, keterangan dapat dilihat untuk attribut keterangan tidak bergantung pada id member melainkan pada attribut tipe. Jadi kita hurus pisah kan attribut tipe dan attribute keterangan menjadi table baru

Mungkin sekian untuk artikel saya tentang Database Design : Conceptual Model untuk part selanjutnya akan dibahas tentang tahap pemodelan Logical Model ,see you:)

--

--

Huans
Huans

Written by Huans

Hi, my name is Huan, I am Fresh Graduate of Informatics Engineering. I’m currently interested in studying data analysis