Lompat ke konten

Pertemuan 11: Jenis Atribut dan Key ​

Fase 4 · Normalisasi±100 menitSumber: slide 107-118

Tujuan pembelajaran ​

Setelah pertemuan ini, Anda mampu:

  • mengklasifikasikan atribut berdasarkan sifatnya;
  • membedakan superkey, candidate key, dan primary key;
  • menentukan primary key yang tepat pada sebuah tabel.

Pertemuan ini adalah bekal wajib sebelum normalisasi.

Peta materi ​

1. Lima cara menggolongkan atribut ​

JenisArtiContoh
Attribute keyNilai unik untuk mengenali satu baris. Disebut juga primary key. Jika dipinjam tabel lain disebut foreign keyNIM, SKU, Email
SimpleTidak bisa diuraikan lagiNama, Harga
CompositeMasih bisa diuraikanAlamat (jalan, kota, provinsi, kode pos)
Single-valueSatu nilai per barisTanggal lahir
Multi-valueLebih dari satu nilai per barisKolom "produk" berisi "sepatu, kaos, topi"
MandatoryWajib diisi, tidak boleh kosong (NULL)Email pembeli
DerivedNilainya hasil olahan atribut lainTotal belanja = jumlah x harga

Simple dan composite ​

Kolom Alamat yang berisi "Jl. Mawar 1, Pamekasan, Jawa Timur, 69311" adalah composite karena masih bisa dipecah menjadi jalan, kota, provinsi, dan kode pos. Dengan dipecah, kita bisa mencari semua pembeli di kota tertentu.

Single-value dan multi-value ​

Jika semua produk dalam satu pesanan digabung di satu kolom ("sepatu, kaos, topi"), itu multi-value. Sulit dicari dan dihitung. Solusinya: satu nilai per baris atau per kolom, bahkan lebih baik dipisah menjadi tabel sendiri.

Mandatory ​

Pada laporan order, kolom Produk 2, Produk 3, dan Produk 4 bukan mandatory karena pembeli tidak selalu membeli empat barang. Sebaliknya, Email pembeli mandatory.

Derived ​

Contoh pada laporan order: Produk Total, Total Berat, dan Total Belanja. Nilainya bisa dihitung kapan saja dari atribut lain, sehingga pada normalisasi kita biasanya menghapusnya.

2. Tiga tingkat key ​

Analogi: sebuah perusahaan ingin mengenali karyawannya dengan pasti.

Superkey ​

Satu atau gabungan atribut yang bisa membedakan setiap baris secara unik, walaupun ada atribut yang sebenarnya berlebihan.

Tabel produk (kode_produk, nama_produk, berat, harga, kode_penjual). Superkey-nya antara lain:

  • (kode_produk, nama_produk, berat, harga, kode_penjual)
  • (nama_produk, kode_penjual), jika dijamin penjual tidak menjual barang bernama sama
  • (kode_produk, kode_penjual)
  • (kode_produk)

Analogi: "nomor KTP + nama + alamat" tetap bisa mengenali seseorang, meskipun nama dan alamat sebenarnya tidak perlu.

Candidate key ​

Superkey yang minimal: tidak ada atribut yang bisa dibuang lagi tanpa merusak keunikannya.

  • (kode_produk)
  • (nama_produk), jika dijamin nama produk tidak boleh dibuat lebih dari sekali

Primary key ​

Satu candidate key yang dipilih sebagai kunci utama, yaitu yang paling cocok dan paling terjamin keunikannya. Pada tabel produk: kode_produk.

Mengapa bukan nama_produk?

Nama produk bisa saja berubah, dan sulit menjamin tidak ada nama kembar dari penjual berbeda. Kode produk dibuat sistem dan tidak berubah, jadi lebih aman.

Hubungan antar key

Semua primary key adalah candidate key, dan semua candidate key adalah superkey, tetapi tidak sebaliknya.

Latihan ​

Tabel mahasiswa (nim, nik, nama, email, prodi) dengan asumsi nim, nik, dan email masing-masing unik.

  1. Sebutkan tiga contoh superkey.
  2. Sebutkan semua candidate key.
  3. Pilih satu primary key dan jelaskan alasannya.
  4. Klasifikasikan atribut berikut: alamat lengkap, nomor telepon (satu mahasiswa boleh punya dua), IPK (dihitung dari nilai).
Contoh jawaban
  1. (nim), (nim, nama), (nik, email, prodi). Banyak kemungkinan lain.
  2. (nim), (nik), (email). Masing-masing sudah minimal dan unik.
  3. nim, karena dibuat institusi, stabil, dan tidak berubah. Email bisa berganti, NIK bersifat sensitif.
  4. Alamat lengkap: composite. Nomor telepon: multi-value. IPK: derived.

Kuis cepat ​

1. Kolom alamat yang berisi jalan, kota, provinsi, dan kode pos sekaligus adalah...

2. Kolom Total Belanja yang dihitung dari jumlah dikali harga adalah...

3. Superkey yang minimal, tidak ada atribut yang bisa dibuang lagi, disebut...

4. Hubungan yang benar antar jenis key adalah...

5. Kolom yang boleh kosong (NULL) disebut...

Terjawab 0 dari 5 soal

Rangkuman ​

Yang harus diingat

  • Atribut punya jenis: key, simple/composite, single/multi-value, mandatory, derived.
  • Superkey membedakan baris (boleh berlebihan), candidate key minimal, primary key adalah satu candidate key terpilih.
  • Pilih primary key yang stabil dan terjamin unik.
IstilahArti
Composite attributeAtribut yang bisa diuraikan
Multi-value attributeAtribut dengan lebih dari satu nilai
Derived attributeAtribut hasil olahan
SuperkeyKombinasi atribut yang unik
Candidate keySuperkey minimal
Primary keyCandidate key yang dipilih

Tugas mandiri ​

Ambil tabel dari kasus kelompok Anda. Klasifikasikan setiap kolomnya berdasarkan lima jenis atribut, lalu tuliskan superkey, candidate key, dan primary key beserta alasan pemilihannya.

Progres tersimpan di browser Anda dan tampil di halaman beranda.

Ruang Belajar · Materi kuliah dan pelatihan teknologi