|
Pada SQL Server dikenal istilah Foreign Key Constraint. Foreign Key Constraint ini merupakan suatu relation (hubungan) antar tabel pada suatu database, misalnya seperti hubungan tabel master dengan tabel detail. Ini terutama digunakan untuk mencegah berbagai macam aksi yang bisa merusak hubungan antar tabel terutama berhubungan dengan data yang terhubung antara tabel-tabel tersebut. Misalnya Anda memiliki dua buah table yaitu Customers dan Orders. Tabel Customers mencatat semua data pelanggan, sedangkan tabel Orders mencatat semua transaksi yang dilakukan oleh pelanggan, dimana setiap pelanggan bisa melakukan lebih dari satu transaksi. Dari sini kita bisa melihat bahwa hubungan antara tabel Customers dan Orders adalah One-To-Many. Kemudian untuk menghubungkan kedua tabel ini dibuatlah sebuah relation, dimana ID customer pada tabel Customers akan dihubungkan dengan ID customer yang terdapat pada tabel Orders. ID customer pada tabel Orders dalam hal ini merupakan foreign key. Gambarnya silakan Anda lihat di bawah ini. 
Sekarang kita lihat kegunaan dari foreign key constraint itu seperti apa. Jika kita menambahkan suatu data baru pada tabel Customer maka tidak akan terjadi efek apa-apa, tetapi jika kita menambahkan suatu data baru pada tabel Orders dan dimana ID customer -nya belum ada pada tabel Customers maka otomatis akan muncul error (kesalahan) pada database. Ini yang dimaksud dengan referential integrity, jadi ientegritas data dijaga oleh foreign key constraint tadi. Jadi dengan kata lain kita tidak akan bisa menambahkan data ke dalam tabel detail (dalam contoh ini tabel Orders) jika data pada foreign key tabel detail tersebut belum ada pada tabel master -nya (dalam contoh ini adalah tabel Customers). Pada banyak kasus kita kadang-kadang ingin menambahkan data ke dalam tabel detailnya (dalam contoh di atas adalah tabel Orders) tanpa harus menambahkan data terlebih dahulu pada tabel master (dalam contoh ini tabel Customers). Untuk itu kita perlu me-nonaktifkan (disable) foreign key constraint ini agar setiap perubahan data yang kita lakukan pada tabel detail tidak akan kena constraint. Ini biasanya sangat perlu misalnya saja pada proses transfer data atau proses penambahan data secara manual ke database. Bagaimana caranya untuk men-disable foreign key constraint ini? Simak saja terus tulisan ini. Untuk men-disable foreign key constraint maka Anda cukup mengetikkan perintah seperti di bawah ini. alter table table_name nocheck constraint all Perintah di atas digunakan untuk men-disable foreign key constraint pada suatu tabel. Anda cukup mengganti table_name dengan nama table yang hendak di-disable foreign key constraint-nya. Contohnya seperti di bawah ini. alter table orders nocheck constraint all Sekarang Anda sudah bebas untuk menambahkan data pada tabel Orders tanpa harus takut muncul error pada saat insert data. Sekarang bagaimanakah caranya untuk meng-enable-kan (mengaktifkan) foreign key constraint tadi? Caranya mudah saja, ketik saja perintah seperti sintaks di bawah ini. alter table table_name check constraint all Dimana table_name Anda ganti dengan nama table yang hendak di-enable foreign key constraint -nya. Demikianlah tips singkat seputar SQL Server. Semoga bermanfaat bagi kita semua. Segala macam saran dan kritik silakan dikirimkan melalui
sony-ak@sony-ak.com. Untuk melihat tulisan menarik lainnya silakan kunjungi
www.sony-ak.com. Special thanks to Esa Ivani for your support and love. Terima
kasih.
| Send
your comments or suggestions |
|
|
|