|
Page 2 of 3 Gambar 1.2
Terlihat melalui ER, setiap kolom yang ada pada tabel direlasikan atau dihubungkan dengan kolom pada tabel lainnya. Dapat dilihat pada diagram di atas, terdapat empat buah relasi tabel, yaitu: kolom Nik pada Tabel Karyawan yang dihubungkan dengan kolom Nik pada Tabel Gaji, kolom Nik pada Tabel Karyawan direlasikan dengan kolom Nik pada Tabel Keahlian, kolom Nik pada Tabel Karyawan dihubungkan dengan kolom Nik pada Tabel Pekerjaan dan kolom id_perusahaan pada Tabel Perusahaan. Relasi tabel adalah hubungan sebuah tabel dengan tabel lainnya. Setiap tabel memiliki fungsi dan kegunaan yang berbeda satu sama lainnya masing-masing, misalnya Tabel Karyawan yang berguna untuk menyimpan data-data karyawan, Tabel Perusahaan untuk menyimpan data-data perusahaan Tabel keahlian yang berisi data-data keahlian yang dimiliki seorang karyawan dan sebagainya, dan tabel-tabel tersebut memiliki hubungan atau relasi antara satu dengang yang lainnya. Untuk menghubungkan sebuah tabel dengan tabel lainnya, kita membutuhkan deua buah kolom yang merupakan sebuah key (kunci). Satu buah kolom untuk tabel yang satu disebut dengan Primary Key (Kunci Utama) dan satu buah kolom untuk tabel yang lainnya disebut dengan Foreign Key (Kunci Asing). Sebuah tabel hanya beolh memiliki satu Primary Key dan sebuah tabel boleh memiliki beberapa Foreign Key, tergantung kebutuhan. Kolom-kolom yang akan dihubungkan harus memiliki kegunaan dan fungsi yang sama satu dan lainnya. Sebagi contoh kolom Nik pada tabel karyawan dengan kolom Nik poada tabel perusahaan memiliki fungsi yang sama, ,yaitu untk menyimpan data Nik (Nomor induk karyawan. Karena fungsi key sangat spesifik, yaitu untuk menghubungkan satu buah tabel dengan tabel lainnya, maka sebuah kolom yang akan dijadikan key harus dapat mewakili kolom-kolom lainnya yang ada pada tabel. Sebagai contoh, dalam tabel karyawan hanya kolom Nik yang dapat digunakan sebagai primary key karena kolom tersebut yang dapat mewakili semua kolom yang ada pada tabel karyawan dan juga bernilai unik diantara satu orang karyawan dengan karyawan lainnya (tidak diperkenankan untuk menggunakan Nik yang sama pada beberapa orang karyawan), berbeda dengan kolom lalinnya seperti kolom nama, yang m emungkinkan ada beberapa orang karyawan yang memiliki nama yang sama.. Relationship dibedakan menjadi 3 jenis: 1.2.1 One to One (1 to 1) Relasi ini terjadi apabila sebuah data yang ada pada table pertama juga ada pada tabel kedua, dimana dimana data tersebut hanya diizinkan satu buah pada masing-masing table, tidak boleh ada beberapa data yang sama pada tabel yang sama. Perhatikan kembali Tabel Karyawan dan Tabel Gaji pada diagram, kedua tabel tersebut dihubungkan melalui kolom Nik, apakah memungkinkan seorang karyawan memiliki dua buah gaji? Begitu juga sebaliknya, apakah memungkinkan sebuah gaji diberikan pada dua orang karyawan. Tentu tidak, maka dari itu, data karyawan yang sama pada kedua tabel ini hanya boleh ada satu kali saja. 1.2.2 One to many (1 to n) Relasi One to Many (satu ke banyak) terjadi apabila sebuah data yang ada pada tabel pertam memiliki beberapa data yang sama pada tabel kedua. Pada relasi ini hanya didizinkan sebuah data pada tabel pertama dan tabel kedua boleh memiliki beberapa data yang sama dengan tabel pertama. Perhatikan kembali diagram tabel karyawan dan tabel keahlian di atas, seorang karyawan dapat saja memiliki beberapa keahlian seperti menggunakan komputer, mengetik, akuntansi dan lainnya. 1.2.3 Many to Many (n to m) Relasi many to many (banyak ke banyak) terjadi apabila sebuah data yang ada pada tabel pertam memiliki beberapa data yang sama pada tabel kedua, dan sebuah data yang ada pada tabel kedua juga memiliki beberapa data yang sama pada tabel pertama. Pada relasi ini, tabel pertama dan kedua diizinkan memiliki beberapa data yang sama dengan kedua tabel tersebut. Perhatikan kembali Tabel Karyawan dan Tabel Pekerjaan pada diagram di atas, seorang karyawan dapat saja bekerja pada beberapa perusahaan selama dia sanggup, begitu juga dengan sebuah perusahaan dapat memiliki beberapa orang karyawan. Pada umumnya, relasi One to One dan One to Many yang sering dipergunakan, relasi Many to Many jarang dipergunakan karena dianggap banyak melakukan redudansi (penduplikasian) data. Namun pada beberapa kondisi, kita harus menggunakan relasi Many to Many meskipun banyak melekukan penduplikasian data. Dalam mendesain sebuah database, tentukan relasi yang akan Anda pergunakan, sesuaikan dengan struktur organisasi yang anda miliki atau tempati. Relassi yang akan Anda pakai sangat tergantung pada struyktur organisasi yang Anda miliki. 1.3 Permasalahan Database Ketika kita membuat sebuah schema database, kita harus memperhatikan beberapa hal. Tidaklah medah untuk mendesain sebuah database, kita harus mempertimbangkan segala kemungkinan yang terjadi. Kesalahan dalam mendesain suatu database dapat menyebabkan masalh di kemudian hari. Permasalahan-permasalahan yang mungkin terjadi ketika kita mendesain sebuah database. 1.3.1 Redudansi Redudansi adalah sebuah data yang diulang beberapa kali. Sebuah data yang tidak baik bila diulang beberapa kali, karena data akan semakin banyak dan akan membuat bingung seorang user yang menggunakannya. Langkah yang baik dalam mendesain sebuah database adalah memperkecil data-data yang disimpan berulang kali, tanpa membuat kita kehilangan data yang diperlukan. Untuk memperjelas redudansi, perhatikan tabel berikut: Perhatikan dari tabel di atas terdapat beberapa redudansi (penduplikasian) data seperti tampak pada beberapa kolom. 1.3.2 Anomali Anomali berhubungan dengan data sebuah tabel, Anomali adalah kesalahan-kesalahan dalam memanipulasi sebuah data yang disebabkan oleh desain database yang baik. Anomali dapat diperkecil dengan pembuatan desain database yang baik.
|