/* */

Tuesday, March 15, 2011

Re: [belajar-access] Enforce Refrential Integrity



:)

Waktu dan pengalaman yang akan mengajarkan kegunaan referential integrity.

Selama proses pembelajaran, silakan eksperimen sebanyak mungkin, sampai pada hal yang sekompleks mungkin.

Good luck.


Aksan Kurdin

On 3/15/2011 5:39 PM, Hendra Agestha Hamid wrote:
 
Dear Mas Aksan,

Iya betul mas, kalo gak salah kita harus mendefinisikan "" di Tabel master dan menjadikannya default value di foreign ...
Cuma masalahnya untuk type data non teks kita harus mendefinisikan data yg sesuai,,dan di Form yg sourcenya Table yg berisi foreign otomatis terisi defaul value
yg kita definisikan tadi,,,emang gak masalah sih, cuma kotaknya keliatan terisi data aja,,pengennya tetep keliatan kosong gitu..

Regards
Hendra


From: Aksan Kurdin <aksan.kurdin@gmail.com>
To: belajar-access@yahoogroups.com
Sent: Tue, March 15, 2011 1:41:52 PM
Subject: Re: [belajar-access] Enforce Refrential Integrity

 

Dear Mas Hendra,

Nilai kosong pada product kategory dapat anda wakilkan pada satu nilai semisal N/A, bahkan kalau perlu "" (string kosong) anda masukkan dalam T_Product_Category, sehingga tetap menjaga user memasukkan data kategori hanya yang telah di definisikan secara baku di T_Product_Category, user tidak akan memasukkan kategori lain di luar dari itu, termasuk kategori yang kesalahan ketik. Operator memang harus dipaksa memasukkan data yang ada dalam master-nya saja, manfaatnya ada pada fungsi kontrol dan nantinya pada evaluasi laporan summary.

Cascade update dan cascade delete harus dipergunakan sebijak mungkin. Jangan memasang cascade delete pada tabel transaksi - master, seperti kode barang dan transaksi beli. Kita tidak boleh menghapus kode barang yang sudah pernah di transaksikan. Tetapi kita disarankan memasang cascade delete pada tabel transaksi header-detail, sehinggap penghapusan transaksi bisa dilakukan dari sisi header saja, otomatis semua detail ikut terhapus.

Aksan Kurdin


 On 3/15/2011 12:22 PM, Hendra Agestha Hamid wrote:

 

Dear Warga Milis,,,

 

Saya bereksperimen dgn bikin 2 tabel yaitu T_Product Category dan T_Product (sebuah field di T_Product [NamaKategori] diambil / lookup ke T_Product Category) dan field [NamaKategori] ini ter-relationship dgn [KodeKategori] di T_Product Category.

Saya sudah mencoba berbagai kemungkinan yg terpikir oleh saya dan kesimpulan sementara saya bahwa kita tidak harus mencontreng Enforce Refrential Integrity (ERI), kita bisa menggantikannya dengan mengatur "Join Type", malah dengan tdk mencontreng ERI tsb kita memperoleh keuntungan yaitu (contoh mengacu pada eksperimen 2 tabel yg saya bikin) kita bisa mengisikan suatu record pada T_Product dengan mengosongkan field [NamaKategori], dan selanjutnya kita tetap bisa mengisikan record yg baru, kondisi spt ini menurut saya sering terjadi dlm real, yaitu bila misal field [NamaKategori] tersebut bersifat optional (bisa diisi bisa tidak), kalau mencotreng ERI hal ini tdk bisa kita lakukan sehingga utk "memaksa" operator utk mengisi field [NamaKategori] di T_Product  kita hrs menset "required".

Memang ada satu fungsi ERI yaitu bila kita juga mencontreng "Cascade Delete Related Records" (CDRR), misal kita menghapus salah satu record di T_Product Category) maka seluruh record di T_Product yg berhubungan akan terhapus, keuntungannya jumlah record berkurang, tapi ini juga bisa jadi kelemahan bila misal kita menginginkan seluruh data di T_Product  tetap ada sebagai dokumentasi. Kelebihan fungsi CDRR inipun bisa kita ganti dengan bermain query dan mengatur "Join Type" (misal kita tdk mencontreng ERI).

Saya mohon bimbingan para suhu Access ttg ERI ini yaitu dalam kasus seperti apa fungsi ERI mau tdk mau harus dipakai, seperti yg saya bilang eksperimen2 saya di atas  baru kemungkinan2 yg terpikir oleh saya yg newbie. Soalnya Ngeri2-sedap juga bila ternyata dengan tidak memakai fasilitas ERI suatu saat terjadi masalah terutama kesalahan tampilan informasi. Mohon maaf panjang banget kyk koran...

 

Terima kasih

Regards

Hendra







__._,_.___


SPAM IS PROHIBITED



Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___

No comments:

Post a Comment