Jumat, 23 November 2012

Atribut Key



Jenis Atribut Tabel

ATRIBUT

Atribut identik dengan istilah "kolom data" tetapi dapat menunjukkan fungsinya sebagai pembentuk karakteristik (sifat-sifat) yang melekat dalam sebuah tabel.Pada penerapan aturan normalisasi, bisa berdampak pada penghilangan atau penambahan kolom tertentu, atau bahkan dapat memebentuk suatu tabel baru.

Contoh : 
-Tabel Mahasiswa memiliki 4 atribut, yaitu : nim, nama_mhs, alamat_mhs, dan tgl_lahir.
-Tabel Kuliah memiliki 4 atribut, yaitu : kode_kul, nama_kul, sks dan semester.

Selain penamaan yang unik berdasarkan fungsinya di tiap tabel, atribut juga dapat dibedakan berdasarkan sejumlah pengelompokkan sbb :

1. Atribut Key dan Atribut Deskriptif
2. Atribut Sederhana ( Simple Attribute ) dan Atribut Komposit ( Composite Attribute )
3. Atribut Bernilai Tunggal ( Single-Valued Attribute ) dan Atribut Bernilai Banyak ( Multi-Valued Attribute )
4. Atribut Harus Bernilai ( Mandatory Attribute ) dan Atribut Nilai Null ( Null Value Attribute )
5. Atribut Turunan ( Derrived Attribute )

ATRIBUT KEY

Atribut Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data ( Row/Record ) dalam tabel secara unik.Dikatakan unik jika pada atribut yang dijadikan key tidak boleh ada baris data dengan nilai yang sama.

Dalam metode relasional, ada 6 kunci yaitu :

1.            Candidat key
Candidate Key (kunci calon) adalah salah satu rangkaian yang mempunyai nilai unik untuk membedakan atau mengidentifikasi  nilai-nilai kombinasi yang unik diantara semua kejadian yang spesifik dari entetitas. Candidat key ini tidak boleh berisi atribut dari tabel yang lain. kombinasi dari atribut yang dapat digunakan untuk mengidentifikasi secara unik rekor database tanpa data apapun yang asing. Setiap tabel dapat memiliki satu atau lebih candidate key.
Contoh:
File pegawai berisi attribute
Ø  no induk
Ø  No ktp
Ø  Nama
Ø  Tempat lahir
Ø  Tanggal lahir
Ø  Alamat
Ø  Kota

Kunci kandidat disini adalah:
Ø  No induk
      Ø  No ktp

2.            Primary Key (kunci utama)
Primary Key (kunci utama) adalah atribut Merupakan candidate key yang telah dipilih untuk mengidentifikasi setiap record secara unik. Primary key harus merupakan field yang benar-benar unik dan tidak boleh ada nilai NULL. Pengertian lainya Primary Key adalah suatu nilai dalam basis data yang digunakan untuk mengidentifikasi suatu baris dalam table. Primary key, salah satu atrribut dari candidat key dapat dipilih menjadi primary key dengan 3 kriteria sbb :
Ø  Key tersebut lebih natural untuk dijadikan acuan
Ø  Key tersebut lebih sederhana
Ø  Key tersebut cukup uniqe
database tanpa data apapun yang asing. Setiap tabel dapat memiliki satu atau lebih candidate key.
Contoh:
File pegawai berisi attribute
Ø  no induk
Ø  No ktp
Ø  Nama
Ø  Tempat lahir
Ø  Tanggal lahir
Ø  Alamat
Ø  Kota
No induk dan no ktp adalah kunci calon (Candidate Key) dan untuk kunci utama (primary key) adalah salah satu yang dipilih dari kunci calon. Misalnya No. induk di jadikan primary key, maka primary key nya adalah no induk.

3.      Alternate Key (Kunci Alternatif)
Alternate key Adalah candidate key yang tidak terpilih. Misal : dalam suatu entity terdapat dua field yang bisa dijadikan sebagai kunci. Sementara yang boleh dijadikan kunci hanya satu, maka anda harus memilih salah satu. Field yang anda pilih, disebut primary key, sedangkan field yang tidak dipilih disebut dengan alternate key.
Contoh:
File pegawai berisi attribute
Ø  no induk
Ø  No ktp
Ø  Nama
Ø  Tempat lahir
Ø  Tanggal lahir
Ø  Alamat
Ø  Kota
No induk dan no ktp adalah kunci calon (Candidate Key) dan untuk kunci utama (primary key) adalah salah satu yang dipilih dari kunci calon. Misalnya No. induk di jadikan primary key, maka primary key nya adalah no induk. Dan untuk no ktp menjadi alternate key.

4.            Foreign Key (kunci Tamu)
Jika sebuah primary key terhubungan ke table/entity lain, maka keberadaan primary key pada entity tersebut di sebut sebagai foreign key. Foreign key adalah Sebuah kumpulan field dalam satu relasi yang digunakan untuk me“refer” (menunjuk) ke suatu baris (tuple) pada relasi yang lain (harus berkorespondensi dengan primary key pada relasi yang kedua), seperti: ‘logical pointer’. Sedangkan hubungan antara keduanya (primary key dan foreign key) di jelaskan sebagai berikut,“Primary Key” adalah field kunci / utama dari suatu tabel yang menunjukkan bahwa field yang menjadi kunci tersebut tidak bisa diisi dengan data yang sama, atau dengan kata lain Primary key menjadikan tiap record memiliki identitas sendiri-sendiri yang membedakan satu sama lainnya (unik).“Foreign key” adalah satu attribute yang melengkapi satu relationship yang menunjukan ke induknya, dengan kata lain keduanya saling berkaitan. Perhatikan gambar berikut.

Pada gambar diatas, nim pada table mhs adalah primary key. Sedangkan primary key pada table matkul adalah id_matkul. Lalu id_matkul menempel pada table mhs yang kita sebut sebagai foreign key.
Biasanya saya menyebut table yang berisi foreign key sebagai table anak karena table tersebut mengait pada table lain. Sedangkan table yang terkait saya sebut sebagai table induk. Pada contoh table di atas, mhs sebagai table anak sedangkan matkul sebagai table induk

5.            Composite key
Dalam desain database, composite key adalah kunci yang terdiri dari 2 atau lebih atribut yang secara unik mengidentifikasi suatu kejadian entitas. Setiap atribut yang membentuk kunci senyawa adalah kunci sederhana dalam haknya sendiri.
Hal ini sering bingung dengan kunci composite, meskipun ini juga merupakan kunci yang terdiri dari 2 atau lebih atribut yang secara unik mengidentifikasi suatu kejadian, setidaknya satu atribut yang membentuk kunci komposit bukanlah kunci sederhana.
Contohnya, suatu entitas yang mewakili masing-masing modul siswa hadir di Universitas. entitas ini memiliki nim dan kode_matakuliah sebagai kunci utama. Setiap atribut yang membentuk kunci utama adalah kunci sederhana karena masing-masing merupakan referensi unik ketika mengidentifikasi siswa dalam satu kasus dan modul yang lain.
Sebaliknya, dengan menggunakan contoh yang sama, bayangkan kita mengidentifikasi seorang mahasiswa oleh NamaBelakang + NamaDepan mereka. Di tabel siswa tersebut pada modul kunci utama yaitu NamaDepan + NamaBelakang + kode_matakuliah. Karena NamaBelakang + NamaDepan merupakan referensi unik untuk mahasiswa, itu bukanlah sebuah kunci sederhana, itu adalah kombinasi dari atribut yang digunakan untuk secara unik mengidentifikasi seorang mahasiswa. Oleh karena itu kunci utama untuk entitas ini adalah kunci komposit.
Tidak ada pembatasan diterapkan pada atribut tentang (awal) kepemilikan mereka dalam model data. Ini berarti bahwa setiap satu, tidak ada, atau semua, dari beberapa atribut dalam kunci senyawa dapat menjadi kunci asing. Memang, kunci asing mungkin sendiri menjadi kunci majemuk.

6.            Sekunder key
Sekunder key adalah sebuah atribut atau kombinasi yang digunakan hanya untuk tujuan pengambilan data.
ATRIBUT DESKRIPTIF
Atribut Deskriptif adalah atribut-atribut yang tidak menjadi atau merupakan anggota dari primary key.Jadi, dalam tabel mahasiswa yang menjadi atribut deskriptif adalah selain NIM.
ATRIBUT SEDERHANA ( simple attribute ) DAN ATRIBUT KOMPOSIT ( composite attribute )
Atribut Sederhana ( simple attribute ) adalah atribut atomik yang tidak dapat dipilah lagi, sedangkan Atribut Komposit ( composite attribute ) adalah atribut yang masih dapat diuraikan lagi menjadi sub-sub atribut yang masing-masing memiliki makna.
Contoh pada tabel Mahasiswa :
-Atribut Sederhana ( simple attribute ) -> Nim, Nama_MHS
-Atribut Komposit ( composite attribute ) -> Alamat_MHS
Pada Alamat_MHS dapat diuraikan lagi menjadi Alamat, Kota dan Kode_POS.Bisa dimungkinkan pengelompokan data mahasiswa berdasarkan Kota asalnya.
ATRIBUT BERNILAI TUNGGAL ( single-valued attribute ) DAN ATRIBUT BERNILAI BANYAK ( multi-valued attribute )
Atribut bernilai tunggal adalah atribut-atribut yang memiliki paling banyak satu nilai untuk setiap baris data.

Contoh : 
Bila seorang mahasiswa memiliki 2 tempat tinggal, maka hanya 1 saja yang boleh diisikan ke atribut alamat_mhs.

Atribut bernilai banyak adalah atribut-atribut yang dapat diisi dengan lebih dari satu nilai, tetapi jenisnya sama.

Contoh :
Atribut hobi pada data mahasiswa.Ada mahasiswa yang punya banyak hobi, ada yang cuma satu hobi dan ada yang tidak ada sama sekali.

ATRIBUT HARUS BERNILAI ( mandatory attribute ) dan ATRIBUT NILAI NULL ( non-mandatory attribute )

Atribut harus bernilai adalah jika berisi data dan nilainya tidak boleh kosong.
Contoh : nim dan nama_mhs harus ada nilainya dalam tabel mahasiswa.

Atribut nilai null adalah atribut yang nilainya boleh dikosongkan.
Dapat digunakan untul menyatakan/mengisi atribut-atribut yang nilainya memang belum siap atau tidak ada.Nilai null tidak sama dengan spasi.

ATRIBUT TURUNAN ( derrived attribute )

Atribut turunan adalah atribut-atribut yang nilai-nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut tabel lain yang berhubungan.Dapat ditiadakan dari sebuah tabel, karena nilainya bergantung pada nilai yang ada di atribut lain.