Kalau saya malah tidak sependapat, mas Wawan. Saya kalau jadi dosennya
tidak akan memberikan nilai 100 karena masih belum sempurna :)

Un-normalisasi biasanya dilakukan untuk reporting, bukan untuk transaksi harian.
Biasanya menarik data dari database yang sudah dalam bentuk normal
akan melibatkan banyak sekali tabel dan membutuhkan waktu yang lama,
maka untuk data-data lama / historikal yang sudah dianggap tidak
bergerak lagi, ada yang menggabungkannya kembali sehingga membentuk
tabel yang belum normal. Semisal di tabel penjualan di masukkan pula
field nama barang dan nama pelanggan, yang kalau dalam bentuk normal
ditarik dari master barang dan master pelanggan.

Saya setuju pada jawaban mas jemy, karena memang hubungan yang terjadi
antara mahasiswa dan buku adalah many-to-many. Hubungan ini biasanya
dilakukan dengan menambahkan satu tabel yang berisi foreign key dari
kedua master (BukuMHS). Hanya saja saya malah meminta anda bekerja
pada tabel ini, bukan pada tabel master buku. Jadi yang dihapus
hanyalah buku judul anu dari si mahasiswa anu saja di tabel BukuMHS.

Jika dipaksakan unnormal, maka perawatannya sangat sulit sekali.
Selain boros field, karena tidak semua mahasiswa memiliki jumlah buku
yang sama, juga aplikasi harus di kompail ulang jika ada penambahan
jumlah buku yang melebihi jumlah field buku maks yang disediakan. Yang
kedua, akan menimbulkan ketidakkonsisten antara master buku dan
rekaman yang ada di tabel mahasiswa, karena seperti kata anda, jika
kode buku di master buku berubah, maka rekaman buku di tabel mahasiswa
tidak akan mengikuti perubahan tersebut.

Saya koreksi untuk tips keduanya, jika centang cascade delete
dibersihkan, justru tabel master tidak akan bisa dihapus jika sudah
memiliki item di detail, karena sekali referential integrity diset,
maka integritas antar table master dan table detail akan selalu di
jaga, tidak akan ada item di detail yang tidak punya relasi ke tabel
master. Maka dari itu, Access pun akan menolak menghapus item di
master, jika item tersebut juga ada di tabel detail.

Aksan Kurdin

On 7/13/05, Wawan Hermawan <[EMAIL PROTECTED]> wrote:
> Ga usah bingung ini tipsnya.
> TIPS PERTAMA
> Saya paham anda masih idealis. saya dulu juga idealis dengan aturan2
> normalisasi dalam database.
> yang saya ingat pesan dari dosen saya dulu adalah normalisasi boleh
> dilanggar demi kepentingan program.
> nah dalam kasus anda itu dua tabel tadi benar2 normal menurut aturan
> normalisasi.
> kalo dalam kuliah anda bernilai 100.
> nah demi kepentingan program tabel yg normal tadi bisa dijadikan unnormal
> lagi.
> jadi tabel yg anda buat bisa begini.
> 1. Tabel buku tetap seperti itu
> 2. Tabel mahasiswa di unnormalkan hasilnya seperti ini
>    Nm_mhs        Buku1    Nm_buku1    Buku2     nm_buku2     Buku3    
> nm_buku3
>  
> ------------------------------------------------------------------------------
>   Amir                 A            Fisika           B           kimia      
>    C           mtk
>   Budi                 B            Kimia             C            mtk
>   Cici                 B            Kimia             C            mtk
>  
> ------------------------------------------------------------------------------
> nah begitu saja. skr kalo tabel buku recordnya dihapus. di tabel mahasiswa
> tetap utuh ga ada yang hilang. cuma kalo di tabel buku kode bukunya dirubah
> yg A jd mtk yg B jd fisika di tabel mahasiswa tetap kodenya yg dulu tidak
> berubah sama sekali.
> pesan saya:
> tabel master itu harus benar2 diperhatikan. apakah delete diijinkan atau
> tidak. sebaiknya sih tidak. karena yg disebut master itu tidak sembarang
> orang bisa ngerubah2. di master itu harus ada validasi. jika record
> masternya sudah dipake transaksi munculkan pesan record tdk bisa dihapus.
> kalo blom dipake transaksi baru bisa dihapus
>  
> TIPS KEDUA
> jika anda menggunakan MS ACCESS akan terjadi hal berikut:
> jika tabel masternya dihapus maka data transaksinya pun akan kehapus.
> itu terjadi karena pada saat menghubungkan antar tabelnya (relationships)
> anda mencentang.
> - enforce referential integrity
> - cascade update related fields
> - cascade delete related records
> (di access ada icon 3 tabel saling berhubungan itu icon relationships. klik
> itu lalu klik 2 kali di diagramnya. muncul jendela edit relationships)
> nah supaya tidak bisa dihapus di masternya maka jangan dicentang pilihan
> cascade delete related records
> begitu anda menghapus masternya maka akan muncul pesan tidak bisa dihapus.
>  
> SILAHKAN SELAMAT MENCOBA
> 
> Untuk keluar dari millis ini, kirim email kosong ke:
> [EMAIL PROTECTED]
> 
> 
> 
> 
> ________________________________
> YAHOO! GROUPS LINKS 
> 
>  Visit your group "Programmer-VB" on the web.
>   
>  To unsubscribe from this group, send an email to:
>  [EMAIL PROTECTED]
>   
>  Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. 
>  To unsubscribe from this group, send an email to:
>  [EMAIL PROTECTED]
>   
>  Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. 
>  Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. 
> ________________________________
>


Untuk keluar dari millis ini, kirim email kosong ke:
[EMAIL PROTECTED]

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/Programmer-VB/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Kirim email ke