Lompat ke konten

Pertemuan 7: Implementasi Relasi ke Tabel ​

Fase 2 · Merancang Model Data±100 menitSumber: slide 67-75

Tujuan pembelajaran ​

Setelah pertemuan ini, Anda mampu:

  • mengubah relasi one to one menjadi tabel;
  • mengubah relasi one to many atau many to one menjadi tabel;
  • mengubah relasi many to many menjadi tabel relasi;
  • memilih cara implementasi yang tepat dengan tabel keputusan.

Peta materi ​

1. Menambah entity Dompet (relasi one to one) ​

Sebelum masuk implementasi, kita tambahkan satu entity ke toko online: Dompet. Aturannya, satu pembeli hanya memiliki satu dompet, dan satu dompet hanya dimiliki satu pembeli. Dompet punya key Email dan atribut Saldo.

2. Implementasi One to One ​

Ada dua cara.

CaraKapan dipakaiHasil
Key yang samaKedua entity dipastikan memakai attribute key bernilai samaEmail pembeli dan Email dompet dipakai saling mengacu
Foreign key unikKey kedua entity bisa berbedaTambah foreign key di entity yang lebih lemah, dan foreign key itu harus unique

Contoh cara pertama:

pembeli.email PKnama
budi@mail.comBudi
dompet.email PK FKsaldo
budi@mail.com150000

Contoh cara kedua: tabel dompet punya key sendiri kode_dompet, ditambah kolom email_pembeli yang diberi aturan unique agar tidak ada dua dompet milik satu pembeli.

3. Implementasi One to Many atau Many to One ​

Bergantung pada ada tidaknya atribut deskriptif.

Tanpa atribut deskriptif. Tidak perlu tabel baru. Cukup tambahkan foreign key di tabel sisi Many.

Contoh relasi Menjual (satu penjual, banyak barang):

sku PKnamahargaberatemail_penjual FK
BRG001Sepatu Lari350000800toko@galeri.com
BRG002Kaos Olahraga90000200toko@galeri.com
BRG003Botol Minum45000350toko@botol.com

Barang adalah sisi Many (banyak barang bagi satu penjual), jadi kolom email_penjual diletakkan di tabel barang.

Dengan atribut deskriptif. Buat tabel baru untuk relationship itu, sama seperti many to many.

4. Implementasi Many to Many ​

Relasi many to many selalu menjadi tabel relasi yang berisi foreign key dari semua entity yang berhubungan, ditambah atribut deskriptif jika ada.

Contoh relasi Membeli:

email_pembeli FKsku_barang FKjumlah
budi@mail.comBRG0011
budi@mail.comBRG0023
sari@mail.comBRG0012

Mengapa tidak cukup satu kolom?

Jika "barang yang dibeli" ditaruh sebagai satu kolom di tabel pembeli, kolom itu harus memuat banyak nilai sekaligus (misalnya BRG001, BRG002). Itu melanggar prinsip rapi basis data dan akan dibahas lagi pada normalisasi. Tabel relasi menyelesaikannya dengan satu baris untuk setiap pasangan.

5. Tabel keputusan ​

KardinalitasImplementasi
1-1Key sama di kedua tabel, atau foreign key unik di entity yang lebih lemah
1-N / N-1 tanpa atributForeign key di tabel sisi Many
1-N / N-1 dengan atributTabel relasi baru
N-NTabel relasi baru berisi semua foreign key

6. Hasil akhir tabel Toko Online ​

Lima tabel: pembeli, dompet, penjual, barang, dan membeli.

Latihan ​

Implementasikan kasus Warung Kopi dari Pertemuan 6 menjadi daftar tabel lengkap. Beri tanda primary key dan foreign key pada setiap kolom.

Contoh jawaban
  • pelanggan (no_hp PK, nama, alamat)
  • menu (kode_menu PK, nama, harga, kategori)
  • karyawan (id_karyawan PK, nama, jabatan)
  • memesan (no_hp_pelanggan FK, kode_menu FK, jumlah, waktu_pesan): tabel relasi karena many to many
  • Relasi melayani (one to many tanpa atribut): tambahkan id_karyawan FK di tabel sisi Many, misalnya tabel pelanggan atau tabel pesanan, sesuai aturan yang Anda tetapkan.

Kuis cepat ​

1. Relasi many to many diimplementasikan dengan...

2. Relasi one to many tanpa atribut deskriptif cukup diimplementasikan dengan...

3. Pada relasi one to one dengan foreign key, foreign key tersebut harus...

4. Foreign key pada relasi one to one diletakkan di...

Terjawab 0 dari 4 soal

Rangkuman ​

Yang harus diingat

  • 1-1: pakai key yang sama, atau foreign key unik di entity yang lebih lemah.
  • 1-N: cukup foreign key di sisi Many, kecuali ada atribut deskriptif (maka tabel baru).
  • N-N: wajib tabel relasi dengan foreign key dari semua entity.
IstilahArti
Tabel relasiTabel khusus untuk menyimpan sebuah relationship
UniqueAturan agar nilai kolom tidak boleh kembar
Entity lemahEntity yang bergantung pada entity lain

Tugas mandiri ​

Ambil ERD Warung Kopi final Anda, lalu buat tabelnya lengkap dengan 3 baris data contoh pada setiap tabel, termasuk tabel relasinya. Persiapkan diri untuk UTS.

Progres tersimpan di browser Anda dan tampil di halaman beranda.

Ruang Belajar · Materi kuliah dan pelatihan teknologi