Berikut
ini adalah tabel universal tentang penjualan di suatu toko:
Tabel
Penjualan
NoPelanggan
|
NamaPelanggan
|
TelpPelanggan
|
AlmtPelanggan
|
KdBarang
|
NamaBarang
|
Harga
|
JumlahBeli
|
A0001
|
Joko Santoso
|
085678910987
|
Jl. Kaliurang
Km12 Sleman
|
B0023
|
Buku tulis
|
5000
|
5
|
A0002
|
Marwoto
|
081234567890
|
Jl Wates Km7
Bantul
|
B0034
|
Ballpoint
|
2000
|
10
|
A0001
|
Joko Santoso
|
085678910987
|
Jl. Kaliurang
Km12 Sleman
|
B0021
|
Type-ex
|
3500
|
2
|
…
|
…
|
…
|
…
|
…
|
…
|
…
|
…
|
1. Temukan semua Ketergantungan Fungsional (KF) dari tabel tersebut!
2.
Tentukan Ketergantungan Fungsional minimal (KF
minimal) dari tabel tersebut!
3.
Dekomposisi tabel tersebut menjadi tabel-tabel baru
dengan dekomposisi yang aman (Lossless-Joint
Decomposition)!
JAWABAN:
1.
KF tabel di atas:
NoPelanggan →
NamaPelanggan
NoPelanggan →
TelpPelanggan
NoPelanggan →
AlmtPelanggan
KdBarang → NamaBarang
KdBarang → Harga
NoPelanggan KdBarang
→ JumlahBeli
2.
KF minimal tabel di atas:
NoPelanggan →
NamaPelanggan TelpPelanggan AlmtPelanggan
KdBarang → NamaBarang
Harga
NoPelanggan KdBarang
→ JumlahBeli
3.
Tabel-tabel hasil dekomposisi tabel di atas:
Tabel Pelanggan
NoPelanggan
|
NamaPelanggan
|
TelpPelanggan
|
AlmtPelanggan
|
A0001
|
Joko Santoso
|
085678910987
|
Jl. Kaliurang
Km12 Sleman
|
A0002
|
Marwoto
|
081234567890
|
Jl Wates Km7
Bantul
|
…
|
…
|
…
|
…
|
Tabel Barang
KdBarang
|
NamaBarang
|
Harga
|
B0023
|
Buku tulis
|
5000
|
B0034
|
Ballpoint
|
2000
|
B0021
|
Type-ex
|
3500
|
…
|
…
|
…
|
Tabel
Penjualan
NoPelanggan
|
KdBarang
|
JumlahBeli
|
A0001
|
B0023
|
5
|
A0002
|
B0034
|
10
|
A0001
|
B0021
|
2
|
…
|
…
|
…
|
Lanjutan…
TAMBAHAN:
Primary key tabel Pelanggan adalah atribut NoPelanggan
Primary key tabel Barang adalah atribut KdBarang
Primary key tabel Penjualan adalah kombinasi atribut NoPelanggan dan KdBarang (kombinasi keduanya menjadi kunci yang unik)
Foreign key tabel Penjualan adalah dan NoPelanggan dan KdBarang.