Reka Bentuk Pangkalan Data: ERD dan Kekardinalan
Gambar Rajah Perhubungan Entiti (ERD)
ERD (Entity Relationship Diagram) ialah perwakilan grafik yang menunjukkan entiti, atribut dan hubungan antara entiti dalam pangkalan data. ERD dilukis SEBELUM pangkalan data dibina โ ia adalah pelan reka bentuk.
| Simbol ERD | Mewakili | Contoh |
|---|---|---|
| Segi empat tepat | Entiti | MURID, BUKU |
| Bujur/elips | Atribut | Nama, NoMurid (digariskan jika kekunci primer) |
| Rombus | Hubungan (kata kerja) | meminjam, mendaftar |
| Garisan | Penyambung antara simbol | - |
Kekardinalan (Cardinality)
Kekardinalan menerangkan BILANGAN rekod sesuatu entiti yang boleh berhubung dengan rekod entiti lain. Tiga jenis kekardinalan wajib dikuasai.
| Kekardinalan | Maksud | Contoh |
|---|---|---|
| Satu ke Satu (1:1) | Satu rekod entiti A berhubung dengan SATU rekod entiti B sahaja | Satu PENGETUA mengetuai satu SEKOLAH |
| Satu ke Banyak (1:M) | Satu rekod entiti A berhubung dengan BANYAK rekod entiti B | Satu KELAS mempunyai banyak MURID |
| Banyak ke Banyak (M:N) | Banyak rekod entiti A berhubung dengan banyak rekod entiti B | Banyak MURID meminjam banyak BUKU |
Contoh: ERD Sistem Perpustakaan

Entiti MURID (NoMurid*, Nama, Kelas) โ entiti PINJAMAN (NoPinjaman*, NoMurid#, KodBuku#, TarikhPinjam, TarikhPulang) โ entiti BUKU (KodBuku*, Judul, Pengarang). Tanda * ialah kekunci primer; # ialah kekunci asing. Hubungan: MURID 1:M PINJAMAN, dan BUKU 1:M PINJAMAN โ meleraikan hubungan asal M:N antara MURID dan BUKU.
Kebergantungan Fungsi (Functional Dependency)
Kebergantungan fungsi menerangkan bagaimana nilai sesuatu atribut ditentukan oleh atribut lain (biasanya kekunci primer). Tiga jenis yang WAJIB dikuasai:
| Jenis | Maksud | Contoh |
|---|---|---|
| Kebergantungan fungsi sepenuh | Atribut bukan kunci bergantung pada SELURUH kekunci primer | Pada {IdPelajar, KodSubjek}, Gred bergantung pada kedua-duanya |
| Kebergantungan fungsi separa | Atribut bukan kunci bergantung pada SEBAHAGIAN kekunci primer komposit sahaja | NamaPelajar bergantung pada IdPelajar sahaja (bukan KodSubjek) |
| Kebergantungan fungsi transitif | Atribut bukan kunci bergantung pada atribut bukan kunci LAIN | NamaKelas bergantung pada IdKelas, bukan terus pada IdPelajar |
Tiga Bentuk Normalisasi (1NF, 2NF, 3NF)
| Bentuk | Syarat |
|---|---|
| 1NF (Bentuk Normal Pertama) | Setiap medan atomik (satu nilai sahaja), tiada kumpulan berulang, ada kekunci primer |
| 2NF (Bentuk Normal Kedua) | Sudah 1NF DAN menghapuskan kebergantungan fungsi separa (semua atribut bergantung penuh pada kekunci primer) |
| 3NF (Bentuk Normal Ketiga) | Sudah 2NF DAN menghapuskan kebergantungan fungsi transitif |
Penukaran ERD ke Skema Hubungan
Skema hubungan menulis jadual dalam bentuk: NAMAJADUAL(kekunci_primer, atribut1, atribut2, kekunci_asing). Contoh: MURID(NoMurid, Nama, Kelas) dan PINJAMAN(NoPinjaman, NoMurid*, KodBuku*, TarikhPinjam) โ tanda * menanda kekunci asing yang merujuk jadual lain.
Contoh: Penormalan Langkah demi Langkah
| Peringkat | Tindakan |
|---|---|
| Tidak normal | Satu jadual, nama pelajar berulang bagi setiap subjek |
| 1NF | Setiap sel satu nilai; kunci primer (IdPelajar + KodSubjek) |
| 2NF | Pisah: PELAJAR(IdPelajar, Nama) dan DAFTAR(IdPelajar, KodSubjek, Gred) |
| 3NF | Pisah subjek: SUBJEK(KodSubjek, NamaSubjek) - buang kebergantungan transitif |