Anda di halaman 1dari 2

Sebagai contoh, misalkan dalam kasus pengambilan matakuliah mahasiswa.

Dalam kasus ini misalkan terdapat tabel induk bernama MHS yang di dalamnya terdapat field N M, N!M!MHS. "abel induk yang lain adalah M# untuk menyimpan data matakuliah dengan field$fieldnya #%D&M#, N!M!M#. Dalam hal ini field N M dan #%D&M# masing$masing adalah primary key pada tabel MHS dan M#. Selan'utnya ada tabel lain bernama !M( )M# dengan field N M, #%D&M#, N )! yang digunakan untuk menyimpan data pengambilan matakuliah mahasiswa. Nah* dalam hal ini, field N M dan #%D&M# keduanya adalah bertindak sebagai +%,& -N #&.. Selan'utnya dalam MS. !ccess terdapat pula fasilitas untuk mengimplementasikan referensial integrity. Misalkan, kita ubah data salah satu kode N M mahasiswa dalam tabel induk MHS. Nah* secara otomatis proses update ini 'uga ter'adi di tabel !M( )M# yaitu pada data yang terkait N M tersebut. (egitu pula pada proses penghapusan. Sebagai contoh misalkan kita hapus salah satu kode matakuliah di tabel M#, maka secara otomatis data yang terkait dengan kode matakuliah tersebut pada tabel !M( )M# akan terhapus. Nah.. bagaimana dengan MyS/)0 #ira$kira bisa tidak diterapkan kedua hal di atas seperti halnya MS. !ccess0 Saya 'awab TENTU SAJA BISA. .ang men'adi pertanyaan adalah, 1(agaimana cara melakukannya02. .a* untuk menerapkan konsep +%,& -N #&. dan ,&+&,&N" !) N"&-, ". ini, kita harus mensetting MyS/) nya bisa support untuk tabel bertipe NN%D(. (iasanya ketika proses instalasi MyS/) akan ditanyakan apakah databasenya support dengan NN%D(0 3ntuk hal ini, !nda harus 'awab .!. Namun.. bila proses instalasi !nda terlan'ur tidak memilih support NN%D(, maka cara mengaktifkan NN%D( adalah buka file 1my.ini2 lalu cari baris perintah 1skip$innodb2. Hapuslah perintah ini, lalu hentikan MyS/) dan hidupkan kembali MyS/) 4restart MyS/)5. %#* sekarang kita coba untuk studi kasus. #ita akan membuat database untuk keperluan pengambilan matakuliah mahasiswa seperti pada kasus di atas. (erikut ini, adalah perintah S/) untuk membuat tabel$tabelnya. 6erintah S/) untuk membuat tabel MHS view sourceprint?

1.CREATE TABLE mhs 2.( 3.nim varchar(8), 4.namaMhs varchar(20), 5.PRIMAR !E (nim) ".) T PE # I$$%&B'
6erintah S/) untuk membuat tabel M# view sourceprint?

1.CREATE TABLE m( 2.( 3.()*+M! varchar(3), 4.namaM! varchar(20), 5.PRIMAR !E (()*+M!) ".) T PE # I$$%&B'

6erhatikan kedua perintah S/) di atas. #arena kita akan membuat tabel bertipe NN%D(, maka masing$masing perintah S/) diberikan perintah ".6& 7 NN%D(8 Sekarang, kita lan'utkan untuk membuat tabel untuk ambilM#. view sourceprint?

01.CREATE TABLE am,i-M! 02.( 03.nim varchar(8), 04.()*+M! varchar(3), 05.ni-ai .-)a/(3,2), 0".PRIMAR !E (nim, ()*+M!), 00.1%REI2$ !E (nim) RE1ERE$CE3 mhs (nim) %$ &ELETE CA3CA&E %$ 4P&ATECA3CA&E, 08.1%REI2$ !E (()*+M!) RE1ERE$CE3 m( (()*+M!) %$ &ELETE CA3CA&E %$ 4P&ATECA3CA&E 05.) T PE # I$$%&B'

"abel di atas terdapat dua primary key yaitu N M dan #%D&M#. Sedangkan field N M ini 'uga merupakan foreign key yang direferensikan dari field N M yang ada dalam tabel MHS. %leh karena itu tambahkan perintah 1+%,& -N #&. 4nim5 ,&+&,&N9&S mhs 4nim52. Selan'utnya apa maksud dari 1%N D&)&"& 9!S9!D&20 6erintah ini maksudnya bila ada data N M yang dihapus pada tabel MHS, maka secara otomatis data N M yang ada dalam tabel !M( )M# ini 'uga akan terhapus. Sedangkan 1%N 36D!"& 9!S9!D&2 digunakan untuk proses update otomatis pada N M dalam tabel !M( )M#, apabila N M yang ada di tabel MHS ini diupdate. Hal yang sama 'uga kita terapkan untuk tabel !M( )M#. Dalam hal ini, #%D&M# adalah sebagai foreign key yang direfensikan dari #%D&M# yang ada dalam tabel M#. Sekarang coba !nda masukkan data$data berikut ini pada tabel MHS view sourceprint?

1.$IM 2.M0150001 3.M0150002 4.M0150003 5.M0150004 ".M0150005 1.!%&EM! 2.M01 3.M02

$AMAM63 R)sihan Ari 7ana &8i Ama-ia 1i/riani 1a9a 1a79an $a*a 6asanah M7h. Ahsani Ta:8im $AMAM! &a/a,as+ %%P

Masukkan pula data pada tabel M# view sourceprint?

Nah* untuk mengecek referensial integrity, sekarang kita coba masukkan data pada tabel !M( )M#. view sourceprint?

1.I$3ERT I$T% am,i-m( ;AL4E3 (<M0150001<, <M01<, 3.0)'


#etika perintah S/) di atas di'alankan, data dapat dimasukkan ke tabel !M( )M# dengan sukses. #ita lihat bahwa N M M:;<=::; terdapat dalam tabel MHS, begitu pula pada kode matakuliah M:; yang ada pada tabel M#. Sehingga isi tabel !M( )M# men'adi view sourceprint?

1.$IM 2.M0150001

!%&EM! M01

$ILAI 3.0

Sekarang kita coba masukkan data berikut ini view sourceprint?

1.I$3ERT I$T% am,i-m( ;AL4E3 (<M015000"<, <M01<, 3.0)'

Nah* perintah di atas akan menghasilkan error. Hal ini disebabkan N M M:;<=::> tidak ada dalam tabel MHS. Sekarang kita coba melakukan proses update. #ita akan mengupdate N M M:;<=::; men'adi M:;<=:;: yang ada dalam tabel MHS. view sourceprint?

1.4P&ATE mhs 3ET nim # <M0150010< =6ERE nim # <M0150001<'


Hasil ?uery di atas pada tabel MHS men'adi view sourceprint?

1.$IM 2.M0150010 3.M0150002 4.M0150003 5.M0150004 ".M0150005 1.$IM 2.M0150010

$AMAM63 R)sihan Ari 7ana &8i Ama-ia 1i/riani 1a9a 1a79an $a*a 6asanah M7h. Ahsani Ta:8im !%&EM! M01 $ILAI 3.0

Sekarang !nda coba lihat isi tabel !M( )M#. 6astilah isinya men'adi berikut ini view sourceprint?

Selan'utnya kita coba update untuk #%D&M# yang ada dalam tabel M#. Misalnya akan diubah kode mk M:; men'adi M:<. view sourceprint?

1.4P&ATE m( 3ET ()*+M! # <M05< =6ERE ()*+M! # <M01<'


Hasil ?uery di atas pada tabel M# adalah view sourceprint?

1.!%&EM!

$AMAM!

2.M05 3.M02

Nah* bila kita lihat data di tabel !M( )M#, pastilah isinya men'adi view sourceprint?

&a/a,as+ %%P !%&EM! M05

1.$IM 2.M0150010

(agaimana dengan proses penghapusan0 #ita cek a'a* sekarang kita coba hapus data mahasiswa berN M M:;<=:;: dalam tabel MHS. view sourceprint?

$ILAI 3.0

1.&ELETE 1R%M mhs =6ERE nim # <M0150010<'


Hasil dari ?uery S/) di atas pada tabel MHS adalah view sourceprint?

1.$IM 2.M0150002 3.M0150003 4.M0150004 5.M0150005

Sekarang bila kita lihat isi tabel !M( )M#, pastilah men'adi kosong karena data pengambilan matakuliah terkait dengan mahasiswa N M M:;<=:;: ini ikut terhapus. %#* begitulah pen'elasan ini saya tulis. Moga$moga bermanfaat bagi mahasiswaku semua* terus semangat bela'ar dan pantang menyerah. ndonesia sangat membutuhkanmu

$AMAM63 &8i Ama-ia 1i/riani 1a9a 1a79an $a*a 6asanah M7h. Ahsani Ta:8im

Anda mungkin juga menyukai