Database: Pemetaan Entitas ke dalam Tabel

Basis Data, Informatika, Teknologi

Tulisan kali ini, kita akan membahas tentang konsep memetakan ERD (diagram relasi entitas) ke dalam bentuk tabel.

Untuk mengingat kembali tentang dasar-dasar ERD, bisa membaca ulang artikel Database: ER Diagram.

Aturan awal

  1. Entitas kuat menjadi tabel dengan atribut-atributnya menjadi kolom dalam tabel. Sedangkan, atribut key menjadi primary key atau foreign key.
  2. Relasi akan menjadi tabel jika:
    • Relasi adalah hasil dari kardinalitas banyak ke banyak (m ke n)
    • Relasi memiliki atribut deskriptif
  3. Atribut komposit dihilangkan dan hasil dekomposisinya menjadi kolom tabel. Atribut komposit adalah atribut yang dapat dibagi/dipecah tetapi masing-masing bagian tersebut masih tetap bermakna. Contoh:
    Atribut NAMA adalah atribut komposit. Nantinya yang akan menjadi kolom dalam tabel pegawai adalah NAMA_DEPAN dan NAMA_KELUARGA.

Memetakan entitas dengan kardinalitas satu ke satu (1 ke 1)

Dalam memetakan kardinalitas satu ke satu, primary key bisa kita pilih dari salah satu tabel.

Kemudian, untuk memilih foreign key,  kita perlu memperhatikan tabel mana yang lebih kuat dari kedua tabel. Kuat atau tidaknya bisa kita lihat dari jumlah data untuk setiap tabel.

Biasanya yang menjadi foreign key adalah atribut key dari tabel yang memiliki data lebih sedikit.

Berdasarkan diagram di atas, kita bisa memetakannya ke dalam 2 bentuk tabel yaitu tabel Entitas 1 dan tabel Entitas 2 dengan alternatif pilihan:

  • Jika Entitas 1 lebih kuat daripada Entitas 2, maka tabel Entitas 1 akan memiliki kolom PK1 sebagai primary key, kolom PK2 sebagai foreign key dari tabel Entitas 2, kolom ATRIBUT_RELASI, dan kolom ATRIBUT NON PK1.
  • Jika Entitas 2 lebih kuat daripada Entitas 1, maka tabel Entitas 2 akan memiliki kolom PK2 sebagai primary key, kolom PK1 sebagai foreign key dari tabel Entitas 1, kolom ATRIBUT_RELASI, dan kolom ATRIBUT NON PK2.

Contoh kasus satu ke satu (1 ke 1):

Hasil pemetaan diagram menjadi tabel yaitu:

atau

Memetakan entitas dengan kardinalitas satu ke banyak (1 ke n)

Dalam memetakan kardinalitas satu ke banyak, primary key dari tabel dengan kardinalitas kecil akan menjadi foreign key dari tabel dengan kardinalitas besar.

Berdasarkan diagram di atas, kita bisa memetakannya ke dalam 2 bentuk tabel yaitu tabel Entitas 1 dan tabel Entitas 2:

  • Tabel Entitas 1 memiliki kolom PK1 sebagai primary key dan kolom ATRIBUT NON PK1.
  • Tabel Entitas 2 memiliki kolom PK2 sebagai primary key, kolom PK1 sebagai foreign key dari tabel Entitas 1, kolom ATRIBUT_RELASI, dan kolom ATRIBUT NON PK2.

Contoh kasus satu ke banyak (1 ke n):

Hasil pemetaan diagram menjadi tabel yaitu:

Memetakan entitas dengan kardinalitas banyak ke banyak (m ke n)

Dalam memetakan kardinalitas banyak ke banyak, semua entitas beserta relasinya akan membentuk 1 tabel.

Berdasarkan diagram di atas, kita bisa memetakannya ke dalam bentuk 3 tabel yaitu tabel Entitas 1, tabel Entitas 2, dan tabel Relasi:

  • Tabel Entitas 1 memiliki kolom PK1 sebagai primary key dan kolom ATRIBUT NON PK1.
  • Tabel Entitas 2 memiliki kolom PK2 sebagai primary key dan kolom ATRIBUT NON PK2.
  • Tabel Relasi memiliki kolom PK1, kolom PK2, dan kolom ATRIBUT_RELASI.

Pada tabel Relasi, kolom PK1 dan kolom PK2 memiliki peran sebagai foreign key dari tabel Entitas 1 dan tabel Entitas 2. Dan juga kedua foreign key tersebut adalah 1 kesatuan yang membentuk primary key dari tabel Relasi.

Contoh kasus banyak ke banyak (m ke n):

 

Hasil pemetaan diagram menjadi tabel yaitu:

Memetakan entitas dengan kasus agregasi

Dalam memetakan entitas dengan kasus agregasi, kita akan membuat tabel khusus untuk menampung relasi antara Entitas abstrak (entitas agregasi) dengan entitas lain jika kardinalitasnya banyak ke banyak (m ke n).

Berdasarkan diagram di atas, kita bisa memetakannya ke dalam bentuk 5 tabel:

  • Tabel Entitas 1 memiliki kolom PK1 sebagai primary key dan kolom ATRIBUT NON PK1.
  • Tabel Entitas 2 memiliki kolom PK2 sebagai primary key dan kolom ATRIBUT NON PK2.
  • Tabel Entitas 3 memiliki kolom PK3 sebagai primary key.
  • Tabel Relasi1 memiliki kolom PK_R1 sebagai primary key, kolom PK1 sebagai foreign key dari tabel Entitas 1, kolom PK2 sebagai foreign key dari tabel Entitas 2.
  • Tabel Relasi2 memiliki kolom PK_R2 sebagai primary key, kolom PK_R1 sebagai foreign key dari tabel Relasi 1, kolom PK3 sebagai foreign key  dari tabel Entitas 3.

Catatan: 

Tetap mengacu pada diagram relasi di atas, jika kardinalitas antara Entitas 3 dan Entitas agregasi bukan banyak ke banyak (m ke n), maka hanya akan ada 4 tabel yang terbentuk: Tabel Entitas 1, Tabel Entitas 2, Tabel Entitas 3, dan Tabel Relasi1.

Contoh kasus agregasi:

Hasil pemetaan diagram menjadi tabel yaitu:

Memetakan entitas lemah

Contoh kasus entitas lemah:

Hasil pemetaan diagram menjadi tabel yaitu:

Memetakan relasi “is a

Contoh kasus relasi “is a“:

Hasil pemetaan diagram menjadi tabel yaitu:

Referensi:

  • Database System Concepts – Silberschatz, Korth, and Sudarshan
  • Modul praktikum Basis Data – IT Telkom 2011
  • Catatan Kuliah

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *