Kunci field yang dipakai dalam program pada saat program mengakses Database adalah

Kunci field yang dipakai dalam program pada saat program mengakses Database adalah

Sebelumnya telah dijelaskan mengenai primary key, kali ini Penulis akan membahas mengenai atribut yang tidak kalah penting dari primary key, yaitu foreign key (kunci asing). Berdasarkan namanya, atribut tersebut bukanlah atribut utama yang harus terdapat dalam sebuah tabel. Namun, foreign key inilah yang memiliki peran untuk menghubungkan antara tabel master dengan tabel turunannya.

Secara sederhana, kunci asing dapat menciptakan hubungan antara record yang terdapat dalam dua tabel yang berbeda dalam suatu database. Kunci asing inilah yang menjadi kolom yang merujuk ke kolom primary key. Rujukan tersebut menjadi sangat penting dalam merancang database, Hal itu guna untuk membangun hubungan antar record yang memainkan peran penting dalam normalisasi relasional database. Dalam normailisasi, kunci asing berperan untuk mengakses tabel lain dan dapat untuk menyortir database.

Namun, tahukah Anda apa sebenarnya pengertian dari foreign key? Fungsinya? Bahkan, apa yang membedakan foreign key dengan primary key. Oleh karena itu, dalam artikel kali ini, Penulis akan membahas secara detail mengenai pengertian dari foreign key¸ fungsi foreign key dan juga perbedaan antara foreign key dengan primary key. Langsung saja ke pembahasan yang pertama, yaitu mengenai pengertian foreign key dibawah ini.

Pengertian Foreign Key

Secara sederhana, foreign key dapat diartikan sebagai kunci asing. Definisi tersebut juga berlaku dalam pengolahan relasional database. Kunci asing (Foreign Key) adalah sebuah atribut atau gabungan atribut yang terdapat dalam suatu tabel yang digunakan untuk menciptakan hubungan (relasi) antara dua tabel.

Dalam relasional database, penggunaan foreign key merujuk pada suatu kunci primer yang terdapat pada tabel pertama atau dikenal juga dengan tabel master. Untuk lebih jelasnya, perhatikanlah gambar dibawah ini.

Kunci field yang dipakai dalam program pada saat program mengakses Database adalah

Pada gambar diatas, kolom Department_Id yang berada dalam tabel Karyawan merupakan foreign key. Sebab, kolom Department_Id merujuk pada kolom Department_Id yang berada di tabel Department. Dalam hal itu, kolom Department_Id pada tabel Department disebut dengan kunci primer (primary key). Berikut ini dijelaskan bagaimana cara menentukan kunci asing (foreign key) dalam membuat tabel Karyawan menggunakan MySQL:

CREATE TABLE Karyawan (Karyawan_Id CHAR(7), nama CHAR(25), jenis_kelamin BOOLEAN, tgl_lahir DATE, Department_Id CHAR(3), PRIMARY KEY (Karyawan_Id),

FOREIGN KEY (Department_Id) REFERENCES Department (Department_Id));

Fungsi Foreign Key

Kunci field yang dipakai dalam program pada saat program mengakses Database adalah

Pada dasarnya, foreign key digunakan untuk menandakan hubungan tabel yang satu dengan yang lainnya. Atau dapat dikenal dengan istilah parent dan child. Tabel pertama berperan sebagai parent yang terdapat primary key di dalamnya, tabel kedua disebut sebagai child yang berisi kunci asing (foreign key).

Suatu tabel dapat dikatakan child apabila dalam tabel tersebut terdapat kolom yang merupakan rujukan (reference) terhadap tabel pertama atau parent. Selain itu, terdapat beberapa fungsi yang dimiliki oleh foreign key. Berikut akan dijelaskan mengenai beberapa fungsinya :

  • Dengan menentukan kunci asing, maka otomatis database akan konsisten dalam mempertahankan integritas referensial. Dengan begitu, database dapat memonitor setiap data yang dimasukkan. Misalkan pada contoh gambar diatas, ketika Anda mencoba memasukkan record baru dalam tabel Karyawan (“2010004”, “Andi”, “Pria”, “10/03/1990”, “PEN”). Maka secara otomatis, database akan menolak memasukkan record tersebut dan menampilkan pesan kesalahan. Sebab, dalam kolom Department_Id di tabel Department tidak mengenal “PEN”.
  • Ketika Anda telah menetapkan kunci primer di tabel utama dan kunci asing di tabel kedua, maka itu memudahkan Anda untuk melihat rancangan fisik database dengan komponen yang saling terkait. Dengan begitu, Anda tidak perlu membuat rancangan database secara manual. Pada XAMPP, Anda dapat melihat rancangan fisik database yang telah dirancang dengan klik menu More -> Designer.
  • Dengan membuat kolom yang digunakan sebagai foreign key, maka dapat memudahkan Anda untuk melakukan operasi pengolahan setiap data yang tersimpan dalam database. Sebab, data yang tersimpan sudah saling terkait satu dengan yang lainnya.

Perbedaan Primary Key dan Foreign Key

Kunci field yang dipakai dalam program pada saat program mengakses Database adalah

Setelah mengetahui definisi dari primary key dan foreign key, Anda sudah dapat menyimpulkan perbedaan yang dimiliki kedua istilah tersebut. Dalam relasional database, maka setiap tabel hanya dapat memiliki sebuah primary key. Berbeda dengan foreign key, setiap tabel dapat memiliki banyak foreign key.

Masih banyak lagi perbedaan yang dimiliki primary key dan foreign key. Berikut akan dijelaskan mengenai perbedaan keduanya.

a. Primary Key

  1. Kunci utama mendefinisikan nilai tuple dalam sebuah tabel. Kunci utama juga dapat dikatakan sebagai atribut tunggal dalam tabel. Dengan begitu, nilai dari kunci utama tidak boleh berubah. Sebab, perubahan nilai pada primary key malah akan menciptakan kebingungan.
  2. Hal yang menjadi perbedaan utama antara primary key dengan foreign key adalah nilai yang digunakan dalam primary key tidak boleh NULL. Maksudnya adalah record tersebut harus diisi dengan nilai (tidak boleh kosong). Jika nilai atribut primary key mengandung NULL, maka Anda tidak dapat mengidentifikasi record yang terdapat dalam tabel tersebut.
  3. Dalam primary key, Anda dapat membuat clustered index secara otomatis. Maksudnya Anda dapat mengurutkan data yang akan disimpan dalam database.
  4. Kunci utama merupakan kombinasi antara UNIQUE dan NOT NULL. Hal itu menyebabkan tidak adanya nilai duplikat yang boleh dimiliki kolom untuk didefinisikan sebagai kunci utama, terutama dalam mengolah relasional database.
  5. Anda dapat menambahkan nilai baru ke atribut primary key, walaupun kunci asing tidak memiliki nilai baru dalam kolomnya.
  6. Anda tidak dapat menghapus nilai dari primary key dari tabel pertama (parent). Untuk itu, Anda harus menghapus atribut yang disebut dengan foreign key di dalam tabel kedua atau child.

b. Foreign Key

  1. Foreign key merupakan suatu field dalam satu tabel yang digunakan untuk menghubungkan dua tabel. Dengan begitu, foreign key merujuk pada suatu kolom yang unik untuk mengidentifikasi baris dari satu tabel yang sama atau berbeda.
  2. Berbeda dengan primary key yang nilainya tidak boleh NULL. Foreign key dapat menerima nilai NULL. Oleh karena itu, foreign key tidak memiliki fungsi untuk mengidentifikasi record yang terdapat dalam tabel. Selain itu, foreign key juga dapat menerima nilai yang duplikat.
  3. Di dalam foreign key tidak terdapat clustered index. Namun, Anda dapat melakukannya dengan manual.
  4. Anda tidak dapat menambahkan nilai ke dalam foreign key, jika nilai tersebut tidak tersedia di kolom primary key. Sebab, syarat nilai dalam foreign key merupakan nilai rujukan dari kolom primary key.
  5. Anda dapat menghapus suatu nilai yang berasal dari kolom foreign key tanpa mengganggu record yang lain, dan juga tanpa harus mengetahui apakah nilai tersebut merupakan nilai yang dirujuk dari primary key atau tidak.

Itulah penjelasan mengenai pengertian foreign key, fungsinya beserta perbedaan yang dimiliki primary key dengan foreign key. Penulis berharap artikel diatas dapat membantu Anda mengetahui foreign key dengan jelas sehingga Anda dapat menetapkan foreign key yang berasal dari rujukan primary key.

Editor: Muchammad Zakaria

10 f. Masalah Integritas Kesatuan Database berisi file-file yang saling berkaitan berdasarkan field kuncinya. g. Masalah Data Independence Kebebasan data Data terbebas dari program aplikasi yang akan mengaksesnya, sehingga bisa terjadi perubahan struktur data maka tidak mengganggu program aplikasi yang mengaksesnya.

2. Normalisasi Data

Proses ini merupakan proses pengelompokan data elemen yang menjadi tabel-tabel untuk menunjukkan entitas dan relasinya, dan selalu menguji beberapa kondisi. Normalisasi juga merupakan suatu proses untuk mengubah suatu tabel yang memiliki masalah tertentu kedalam dua buah tabel atau lebih, yang tidak lagi memiliki masalah tersebut atau sebagai verifikasi terhadap tabel-tabel yang telah dibuat sehingga tidak menimbulkan suatu permasalahan saat data diperbaharui maupun saat data dihapus Kadir, 2003. Jika ditemukan kesulitan maka ujian tersebut dapat dipecahkan pada beberapa tabel, karena perancangan belum mendapatkan basis data yang optimal. Konsep yang perlu tentang normalisasi adalah field kunci atau atribut, kebergantungan kunci dan bentuk normalisasi itu sendiri.

a. Field kunci atau atribut

Setiap file selalu terdapat kunci dari file berupa satu field atau satu set field yang mewakili record. Misalnya kode barang merupakan kunci dari satu tabel barang, setiap pencarian cukup dengan mengetikkan kode barang tersebut maka dapat diketahui atribut lainnya tentang satu barang tertentu. Beberapa macam jenis kunci yang dapat digunakan, yaitu: 1 Kunci Kandidat Candidate Key adalah salah satu atribut yang dapat mengidentifikasikan secara unik suatu kejadian spesifik dari setiap entitas. Minimal satu set dari atribut menyatakan secara tidak langsung dimana anda tidak dapat membuang beberapa atribut dalam set tanpa merusak kepemilikan yang unik. Jika kunci kandidat berisi lebih dari satu atribut maka biasanya sebagai kunci campuran atau gabungan Composite Key. 11 2 Kunci Primer Primary Key adalah salah satu atribut yang tidak hanya mengidentifikasikan secara unik suatu kejadian spesifik, tetapi juga dapat mewakili setiap kejadian dari satu entitas. Setiap kunci kandidat juga mempunyai peluang menjadi kunci primer, tetapi sebaiknya dipilih salah satu yang dapat mewakili secara menyeluruh terhadap entitas yang ada. 3 Kunci Alternatif Alternative Key adalah kunci kandidat yang tidak dipakai sebagai kunci primer. Sering sekali kunci alternatif ini dipakai sebagai kunci pengurutan misalnya dalam pembuatan laporan. 4 Kunci Tamu Foreign Key adalah satu atribut yang melengkapi satu hubungan atau relationship yang menunjukkan keinduknya. Ditempatkan pada entitas anak sama dengan kunci primer induk dihubungkan. Karena antara entitas induk dengan anak adalah hubungan terhadap banyak one to many relationship . Dalam hubungan banyak terhadap banyak many to many relationship maka terdapat 2 buah kunci tamu.

b. Bentuk Normalisasi

Bentuk-bentuk dari pada normalisasi tersebut adalah bentuk tidak normal Unnormalize Form, bentuk normal ke satu First Normalize Form 1NF, bentuk normal ke dua Second Normalize Form 2NF, bentuk normal ke tiga Third Normalize Form 3NF , Bentuk Normal Ke empat dan Ke limaFour Normalize Form 4NF and Five Normalize Form 5NF . 1 Bentuk Tidak Normal Unnormalize Form Merupakan data yang akan dibentuk, tidak ada suatu keharusan untuk mengikuti satu format tertentu, dapat saja data lengkap atau terduplikasi. Data yang dikumpulkan atau adanya sesuai dengan kedatangannya. 2 Bentuk Normal Ke Satu First Normalize Form 1NF Setiap data dibentuk dalam file datar flat file dalam satu record demi satu record dan nilai dari field. Tidak ada satupun atribut yang berulang atau bernilai ganda dan tiap field hanya satu pengertian, bukan merupakan kumpulan kata yang memiliki dua arti, tetapi hanya satu arti saja dan bukan pula pecahan-pecahan kata sehingga memiliki arti yang berbeda. 12 3 Bentuk Normal Ke Dua Second Normalize Form 2NF Syarat yang dibutuhkan dalam bentuk kedua ini adalah bentuk data telah memenuhi kriteria bentuk kesatu. Atribut bukan kunci harus bergantung secara fungsi pada kunci utama kunci primer, sehingga untuk membentuk normal kedua ini harus sudah menentukan kunci-kunci field. Dan kunci field haruslah unik dan dapat mewakili atribut lain yang menjadi anggotanya. 4 Bentuk Normal Ke Tiga Third Normalize Form 3NF Untuk menjadi normal ketiga maka setiap relasi harus dalam bentuk normal kedua dan semua atribut bukan primer tidak memiliki hubungan yang transitif. Dengan kata lain, setiap atribut yang bukan kunci field harus bergantung hanya pada kunci primer secara menyeluruh. 5 Bentuk Normal Ke Empat dan Kelima Four Normalize Form 4NF and Five Normalize Form 5NF Normalisasi hingga pada tahap ke tiga sudah cukup memadai untuk menghasilkan tabel yang berkualitas baik, tetapi dalam bentuk ke empat berkaitan dengan sifat ketergantungan banyak nilai pada suatu tabel, sedangkan yang tahap Ke lima dengan nama lain Project-Join Normal FormPJNF berkaitan dengan ketergantungan relasi antar tabel.

E. Apache