PENERAPAN CONSTRINE TABLE PADA DATABASE

advertisement
PENERAPAN CONSTRINE TABLE PADA
DATABASE
Agus Winarno
Abstraksi : Data diagram dideskripsikan banyak tabel yang mewakili setiap satuan proses secara
nyata dimana atribut tabel dibentuk diantaranya sebagai primary key, index key serta foreign key
yang merupakan titik point tiap tabel untuk mengadakan hubungan dalam sebuah ikatan aturan
relasi basis data yang disebut contraints. Dalam melakukan penghapusan data pada table kita
perlu melakukan cek data table transaksi tersebut apakah ada data yang akan dihapus sehingga
apabila ada datanya maka kita tidak diperbolehkan menghapus data pada table transaksi
tersebut untuk mengatasi hal tersebut diperlukan Constrine table.
Kata kunci : Constrine, consisten, table, primary key, index key, foreign key
PENDAHULUAN
Sebagaimana sistem pergudangan pada umumnya terdapat berbagai komponen pembentuk gudang secara fisik
komponen tersebut bisa berbentuk sebuah bangunan, sebuah ruangan, rak atau almari dan administrator
pergudangan sebagai pelaku pengelolaan sistem pergudangan. Dalam berbagai bidang komponen tersebut di
potret dan diterjemahkan menjadi bentuk sistem elektronik, tanpa meninggalkan perilaku tiap komponen yang ada
dalam sistem; aturan-aturan tersebut diterjemahkan pada sebuah gugusan constraints serta mengikat gugus tugas
satu dengan gugus tugas lainnya. Pada akhirnya constraints akan membentuk sebuah gugusan relasi logika antar
objek serta menjadikan sebuah terjemahan dalam bentuk sistem prosedur yang ada pada sebuah kemasan yaitu
sistem.
Dalam sistem pergudangan bentuk fisik bangunan terbagi pada tiap ruangan; dalam tiap ruang terbagi pada
sebuah petak-petak kebutuhan; di tiap petak diletakkan sebuah almari yang terbagi dalam rak-rak sehingga
tersusun sebuah aturan tata letak pada sebuah obyek yang tersimpan yaitu dalam sebuah gudang “G_?”, di petak
sekian “P_?”, di lemari tersebut “L_?” dalam rak ini “R00#”. Susunan tersebut bila disusun dalam kaidah
menaungi dan dinaungi (topdown) maka akan membentuk sebuah kode tata letak yaitu G_?.P_?.L_?.R00#. sistem
tata letak tersebut sangat membantu dalam pengalamatan obyek yang akan disimpan pada sebuah gudang
sehingga pencarian dan pengamanan obyek akan lebih effektif serta effisien.
Dalam sistem database, gudang adalah database; ruangan dan petak-petak dibentuk dan disusun melalui tabeltabel dalam database dan aturan antar tabel akan diikat pada sebuah contraints. Sedangkan transaksi dalam gudang
Agus Winarno adalah Dosen Fakultas Ilmu Komputer UDINUS Semarang
53
54
Techno.Com, Vol. 7 No. 2, None,ber 2009
yang dilaksanakan oleh administrator pergudangan secara logik akan di terjemahkan dalam sebuah transaksi
database. Dalam transaksi database terdapat aturan-aturan dasar sehingga sebuah sistem tersebut.
Data Diagram sebuah bentuk hubungan antar data satu dengan lainnya dalam bentuk sebuah diagram, hal tersebut
juga menggambarkan sebuah peta alokasi data yang menerjemahkan alur informasi secara nyata ke dalam bentuk
graphic visual serta mendeskripsikan keadaan sebenarnya dalam bentuk alur logik. Dalam data diagram
dideskripsikan banyak tabel yang mewakili setiap satuan proses secara nyata dimana atribut tabel dibentuk
diantaranya sebagai primary key atau merupakan candidate key yang dipilih untuk digunakan sebagai kunci
identitas tabel secara unik (kunci indeks tabel) dan tidak boleh bernilai null, index key serta satu atau lebih atribut
dalam satu tabel yang merupakan
primary key tabel lain atau kunci penghubung (foreign key) yang
merupakan titik point tiap tabel untuk mengadakan hubungan dalam sebuah ikatan aturan relasi basis data yang
disebut contraints.
Tabel merupakan obyek basis data yang berisi semua data di dalam data base. Definisi sebuah tabel adalah
sekumpulan kolom-kolom, dalam tabel pengaturan data tersusun dalam sebuah baris dan di tiap kolom juga
tersusun sebuah aturan yang mewakili tiap tipe data yang disimpan. Hal tersebut menyerupai sebuah lembar kerja
(spreadsheet) dengan pengalamatan baris dan kolom. Tiap baris mewakili sebuah catatan yang unik dan tiap
kolom menggambarkan tipe informasi yang berbeda pada sebuah obyek. Misalnya sebuah tabel mahasiswa dalam
sebuah akademik masing-masing kolom memiliki tipe informasi yang berbeda yaitu nim, nama, alamat, kota,
tanggal lahir dan lain-lain.
Dalam sebuah sistem yang digambarkan pada data diagram, tiap tabel memiliki ikatan dengan tiap tabel lainnya
serta bisa saling keterkaitan karena integrasi datanya terjaga, serta system kerjanya seperti system syaraf yang
mana data master akan dilakukan perubahaan data atau penghapusan data yang memiliki ikatan dengan table
lainnya seperti table krs, jika akan menghapus matakuliah maka perlu melakukan cek data transaksi seperti table
krs tersebut apakah ada kodekul yang akan dihapus. Apabila ada maka kita tidak diperbolehkan menghapus data
tersebut, begitu juga apabila kita akan menghapus nim pada table master mahasiswa sehingga perlu melakukan
cek data transaksi krs apakah ada nim tersebut apabila ada maka tidak diperbolehkan untuk menghapus nim
tersebut pada table transaskis krs begitu juga antara table matakuliah dengan krs. Selain penghapusan data juga
pada insert data ataupun update data jika kita melakukan insert data ataupun update data table transaksi seperti
krs maka nim yang kita insert atau update data terbaru harus sudah ada pada table master mahasiswa dan kita
mengupdate atau insert kdkul maka kdkul tersebut harus ada pada table master matakuliah.
PEMBAHASAN
Pada permasalahan tersebut bisa kita coba pada suatu database akademik yang memiliki table mahasiswa,
matakuliah dan krs. Dari table tersebut kita membuat diagram data, relasi antar table dan melakukan insert,
update, delete data pada table database yang akan dilakukan constrine table untuk mengetahui perlunya contrine
table pada database.
Penerapan Constrine Tabel (Winarno)
55
1. Menciptakan database
Gambar 1. – Menciptakan database
Gambar 1 tersebut adalah menciptakan database akademik, dimana Basis data adalah tempat untuk
sekumpulan berkas data terkomputerisasi. Basis data juga tidak hanya sekedar sekumpulan berkas (tabel) yang
saling berhubungan, tetapi mencakup hal lain seperti hub. Antar tabel, view dan bahkan kode (prosedur
tersimpan).
2. Menciptakan table.
a. Table mahasiswa.
Create Table mahasiswa (NIM Char(14), nama Char (25), alamat char(25), kota char(15), Tgl_lhr Date);
b. Table matakuliah
Create Table matakuliah (kdkul Char(7), namakul Char (20), sks tinyint;
c. Table krs
Create Table krs (nim char(14), kdkul Char(7), nil int;
3. Menciptakan table daigram data dan Constrine table.
Diagram data adalah visulisasi yang menggambarkan hubungan antar tabel berupa bentuk hubungan satu
kebanyak atau banyak ke banyak, ikatan antar hubungan serta kunci primer dan kunci tamu sebagai
penghubungan antar data / table.
Techno.Com, Vol. 7 No. 2, None,ber 2009
56
Diagram table membagi hubungan antar tabel dalam masing-masing menggambarkan hubungan antar tabel,
ikatan serta bentuk terhadap hubungan tersebut. Dibawah ini adalah bentuk hubungan pada tiap diagram data
master.
Gambar 2. –Diagram data
Gambar 2 menjelaskan tentang hubungan kunci antar tabel yang Saling berhubungan. Dapat disimpulkan
bahwa tabel transaksi adalah tabel yang banyak menerima kunci sebagai tamu. Sedangkan diagram berikut
menjelaskan tentang atribut yang terdapat pada tiap hubungan tabel. Tanda titik hitam adalah tabel master
relasi dimana tiap tabel master relasi memiliki hubungan tabel master sebagai entitas dasar diagram data
diatas terdapat dua hubungan antar tabel yang masing-masing merupakan tabel master dan tabel transaksi.
Adapun ketiganya adalah sebagai berkut :
Tabel 1 : Tabel relasi diagram data
No.
1
2
3
Nama Tabel
mahasiswa
matakuliah
Krs
Jenis
Master
Master
Transaksi
Kunci Primer Kunci Tamu
Nim
kdkul
Nim, kdkul
Penerapan Constrine Tabel (Winarno)
57
Susunan dari isi tabel diatas menjelaskan bahwa ada dua jenis bentuk tabel yang menjelaskan perbedaan dari
tabel master dan transaksi / master penghubung yaitu pada kepemilikan kunci primer dan kunci tamu. Tabel
master pasti memiliki kunci primer dan tidak memiliki kunci tamu sedangkan master penghubung memiliki
keduanya, jadi dapat disimpulkan bahwa jenis tabel master adalah entitas dasar pada struktur sistem
manajemen basis data. Berikut adalah tatanan basis data yang menjelaskan tetang tingkat akses pengguna yang
masih termasuk bagian dari diagram data master.
Gambar 3. Atribut hubungan antar tiap table
Gambar 4. – Contrine table relasi table matakuliah dan krs.
58
Techno.Com, Vol. 7 No. 2, None,ber 2009
Gambar 5. – Contrine table relasi table mahasiswa dan krs.
Dari gambar 4 dan gambar 5 tersebut merupakan contraine relasi table antara matakuliah dengan krs dan
contraine table mahasiswa dengan krs yang memberikan ikatan terhadap pilihan update dan delete dari relasi
tersebut, sehingga akan memberikan ikatan pada relasi tersebut.
Enforce Relationship for replication jika kita pilih:
Pada pilihan ini akan memberikan replikasi terhadap update data, delete data dari master table sampai dengan
table-tabel transaksinya yang ada keterhubungan relasi tabelnya. Sehingga penghapusan data maupun update
data akan lebih mudah Karena bisa dilakukan seperti system syaraf yang melakukan update ataupun delete
data mulai dari master sampai dengan data yang berada pada table- table tarnsaksinya.
Enforce Relationship for insert and updates jika kita pilih:
a. Cascade update related field.
Pada pilihan ini apabila kita melakukan insert data yang nim pada krs apabila nim tersebut tidak ada maka
data tidak akan bisa ditambahkan.
Dan apabila kita melakukan update data pada kedua table krs atau mahasiswa dimana nim yang kita update
table krs tetapi nim tersebut tidak terdapat pada table mahasiswa atau nim yang kita update pada table
mahasiswa dan nim tersebut tidak terdapat pada table krs maka data tersebut tidak dapat diupdate, sehingga
sudah otomatis sudah memvalidasi pada update data yang akan memberikan data yang konsisten.
b. Cascade delete related record
Pada pilihan ini apabila kita melakukan delete atau penghapusan data pada table table mahasiswa maka
apabila data tersebut ada pada transkasi krs maka data secara otomatis tidak bisa dihapus sehingga nim
yang ada pada table mahasiswa bisa dihapus apabila nim tersebut tidak terdapat pada table krs atau table
transaksinya.
Penerapan Constrine Tabel (Winarno)
59
4. Melakukan entry data pada table yang sudah diberikan ikatan / contraine terhadap pilihan update dan delete
dari relasi table mahasiswa dengan krs dan table matakuliah dengan krs.
a. Table mahasiswa.
b. Table matakuliah
c. Table krs
Dari ketiga table tersebut jika kita masukkan atau kita update nim atau kdkul yang ada pada table krs maka
akan secara otomatis menolak jika data tidak ada pada master. Pada saat insert nim pada krs tersebut maka
jika nim tersebut tidak ada pada table mahasiswa otomatis akan menolak begitu juga apabila kita update
atau insert kdkul pada krs jika kdkul tersebut tidak ada pada table matakuliah maka otomatis akan menolak.
Gambar 6. – Update nim.
60
Techno.Com, Vol. 7 No. 2, None,ber 2009
Gambar diatas kita coba melakukan update nim “A11.2007.00008” dimana nim tersebut tidak terdapat pada
table mahasiswa maka akan muncul komentar bahawa field nim pada table krs tidak bisa dilakukan update.
Gambar 7. – Update kode kuliah
Gambar diatas kita coba melakukan update kdkul “MT36208” dimana kdkul tersebut tidak terdapat pada
table matakuliah maka akan muncul komentar bahawa field kdkul pada table krs tidak bisa dilakukan
update.
Gambar 8. – Insert nim
Penerapan Constrine Tabel (Winarno)
61
Gambar diatas kita coba melakukan insert nim “A11.2007.00008” dimana nim tersebut tidak terdapat pada
table mahasiswa maka akan muncul komentar bahawa field nim pada table krs tidak bisa dilakukan insert
atau penambahan nim tersebut.
Gambar 9. – insert kode kuliah
Gambar diatas kita coba melakukan insert kdkul “MT38888” dimana kdkul tersebut tidak terdapat pada table
matakuliah maka akan muncul komentar bahawa field kdkul pada table krs tidak bisa dilakukan insert atau
penambahan kdkul tersebut.
Dalam sebuah sistem database dengan menggunakan Constrine table, tiap tabel memiliki ikatan dengan tiap
tabel lainnya serta bisa saling keterkaitan karena integrasi datanya terjaga, serta system kerjanya seperti system
syaraf yang mana data master akan dilakukan perubahaan data atau penghapusan data yang memiliki ikatan
dengan table lainnya seperti table krs, jika akan menghapus nim yang ada pada table master matakuliah maka
perlu melakukan cek nim yang ada pada data transaksi seperti table krs tersebut apakah ada nim yang akan
dihapus, apabila ada nim pada table transaksi krs tersebut maka tidak diperbolehkan menghapus nim yang ada
pada table transasksi (krs) tersebut. Sebaliknya juga apabila kita akan melakukan insert atau update data table
transaksi seperti nim atau kdkul pada table krs maka perlu melakukan cek nim yang ada pada table mahasiswa
dan kdkul yang ada pada table matakuliah, jika nim tersebut tidak terdapat pada table master matakuliah
tersebut maka tidak bisa diupdate atau insert nim tersebut. Karena kita bisa insert atau update nim pada table
krs jika nim yang kita tambahkan atau update tersebut harus sudah ada pada table master mahasiswa. Begitu
juga apabila akan menambahkan atau update kdkul pada table krs maka kdkul tersebut harus sudah ada pada
table master matakuliah.
Techno.Com, Vol. 7 No. 2, None,ber 2009
62
KESIMPULAN
1.
2.
3.
4.
Dengan Constrine table akan memberikan konsistensi data dari table table yang berrelasi sehingga akan
memberikan informasi yang valid.
Memanfatkan Constrine table akan memberikan validasi penghapusan data pada table transaksi maupun
table master yang saling berrelasi sehingga akan mencegah kehilangan data atau infromasi yang masih
dibutuhkan.
Constrine table akan memvalidasi insert data maupun update data pada table transaksi yang harus mengacu
pada keberadaan data pada table master.
Constrine table akan memberikan kemudahan pengelolaan basis data dan sekumpulan program (DBMS)
yang memungkinkan beberapa user mengakses dan memanipulasi data tersebut
DAFTAR PUSTAKA
1.
2.
3.
4.
http://www.microsoft.com/sqlserver/2008/en/us/default.aspx
http://www.mysql.com/doc.htm, 2004
Bunafit Nugroho, Database Relational dengan MySQL, Penerbit Andi, 2005
Ben Forta. 2002. Belajar Sendiri SQL dalam 10 menit / Ben Forta diterjemahkan oleh Imanuel
S.C.H. Penerbit Andi, Yogyakarta.
Download