Apa yang dimaksud dengan primary key pada Microsoft Access?

Setiap table dalam database harus mempunyai field yang memiliki data yang unik atau tidak boleh sama untuk setiap record. Field ini dinamakan Primary Key. Misalnya dalam sebuah table barang, yang mungkin dijadikan primary key adalah kode barang, dimana field kode barang tidak mungkin sama untuk semua barang. Primary key berfungsi untuk membuat relasi antar table. Nantinya dengan adanya relasi kita bisa mengambil informasi dari beberapa table sekaligus.

Mengisi Primary Key pada Field

Jika anda mempunyai sebuah table yang mana mempunyai record yang unik (tidak ada yang sama), seperti ID, serial number, atau kode, field tersebut bisa dijadikan primary key. Field dengan primary key tidak boleh berisi data atau record yang kosong, jarang atau tidak pernah diubah.
  • Buka database
  • Klik kanan pada table yang ingin diisi primary key, kemudian klik Design View untuk menampilkan table pada mode design.


  • Pilih field yang ingin dijadikan primary key.
  • Pada tab Design, di group Tools, klik Primary Key .
  • Akan berisi tanda pada field.

Menghilangkan Primary Key

  • Buka table dalam mode design.
  • Sebelum menghilangkan primary key dari field, anda harus menghapus relasi yang ada pada field tersebut.
  • Pada tab Design, di group Tools, klik Primary Key .

Tags : Access 2007

Related : Mengatur Primary Key pada Access 2007

Pengertian Primary Key & Foreign Key

a. “Primary Key” adalah field kunci / utama dari suatu tabel yang menunjukkan bahwa field yang menjadi kunci tersebut tidak bisa diisi dengan data yang sama, / dengan kata lain Primary key menjadikan tiap record memiliki identitas sendiri-sendiri yang membedakan satu sama lainnya (unik).

Primary Key berguna pada saat menampilkan record hasil pencarian (searching), pengurutan (sorting), dan berbagai operasi query lainnya. Dengan memilih rimary key, proses pencarian, pengurutan dan proses penampilan data dan lainnya berlangsung lebih cepat.

“Foreign key” adalah satu attribute yang melengkapi satu relationship yang menunjukan ke induknya.

b. Satu tabel tidak boleh memiliki lebih dari satu primary key, karena primary key merupakan variable data yang menjadi identitas utama dari tabel tersebut.

Key dan Peranannya di Database relasional:

Seluruh dokumen di IlmuKomputer.Comdapat digunakan,dimodifikasi dan disebarkan

secarabebas untuk tujuan bukankomersial (nonprofit), dengansyarattidakmenghapus

atau merubah atribut penulis dan pernyataancopyright yang disertakan dalamsetiap

dokumen. Tidak diperbolehkanmelakukan penulisanulang, kecuali mendapatkan ijin

terlebihdahulu dari IlmuKomputer.Com.

Untuk mencapai tujuan ini (mengidentifikasi/menghubungkan), key harus

unik didalam tabel. Dengan kata lain, nilaidata yang ditentukan sebagai

key tidak boleh dipakai di order yanglain. Jadi, nomor pesanan 1071 hanya

boleh ada disatu order.Secara umum, dpat dikatakan, bahwa suatu nilai

key hanya boleh dipakai disatu baris data (row).

Ada sejumlah sifat-sifat penting yang harus dipahami tentang key ini,agar

rancangan dan pemakaiannya optimum.

Selanjutnya akan dibahas: Tiga macam key (Primary, Unique, dan Foreign),

sifat-sifat dan penerapannya di Oracle. Agar mudah disimak dan praktis,

contoh-contoh akan menyertai pembahasan.

Tiga Macam Key

Seperti sudah disinggung diatas, key,baik Primary maupun Unique,

haruslah unik. Selain unik, nilai Primary key tidak boleh null (kosong, tidak

diketahui, tidak dapat ditentukan); Unique key boleh null. Perlu dipahami,

bahwa suatu nilai null tidak pernah sama dengan nilai null yang lain,

bahkan tidak pernahsama dengan dirinya sendiri. Jadi, disuatu tabel

sejumlah data (row) Unique key-nya boleh lebih dari satu yang, atau

semuanya, memiliki nilai null.

Misalkan kita membuat tabel pesanan dengan SQLstatement sebagai

contoh Unique key,sebagai berikut:

CREATE TABLE pesanan (

nomor_pesanan VARCHAR2(6)

CONSTRAINT nomor_pesanan_uk UNIQUE

, tanggal_pesan DATE NOT NULL);

Kemudian kita masukkan dua buah data (baris) sebagai berikut:

INSERT INTO pesanan VALUES (1071, ‘01-JAN-2003’);

INSERT INTO pesanan (tanggal_pesan) VALUES (‘30-JUN-2003’);

Maka kedua data masuk kedalam tabel.

Kemudian kita masukkan dua buah data (baris) sebagai berikut:

INSERT INTO pesanan VALUES (1071, ‘01-JAN-2003’);

30-JUN-2003Tetapi andaikan nomor_pesanan adalah Primary key,maka INSERT yang

kedua akan gagal.Oracle akan mengeluarkanpesan kesalahan (error

message):

ORA-01400: cannot insert NULL into ("PESANAN"."NOMOR_PESANAN")

Key boleh terdiri lebih dari satu kolom data (didalam istilah database

relasional, bagian data terkecil disebut kolom (column), seperti

nomor_pesanandalam contoh kita). Misalkan perusahaan punya beberapa

cabang dan nomor pesanan disatu kantor tidak ada hubungan dengan nomor

pesanan kantor lain, dengan kata lainnomor pesanan yang sama digunakan

disemua kantor, maka untuk membedakan nomor nomor pesanan diseluruh

cabang ditambahkan identitas cabang (misalnya kode_cabang) sebagai

bagian darikey.Keyyang terdiri lebih dari satu kolom seperti ini disebut

compositekey (dalam contoh kasus kita compositekey adalah

nomor_pesanan dan kode_cabang). Secara umum dapat dikatakan, bahwa

untuk composite key,keunikannya ditinjau dari gabungan semua kolom data

yang membentuknya.

Untuk Unique key,bila salah satu kolom atau lebih didalam compositekey

bernilai null, nilai kolom lainya yang ada didalam composite key tidak boleh

sama; tetapi diperbolehkan bila semuakolomnya bernilai null.

Memilih dan menggunakan kolom sebagaikeyperlu memperhatikan aturan

berikut:

1.Disatu tabel hanya boleh ada satu Primary key.

2.Disatu tabel boleh ada lebih dari satu Unique key.

3.Untuk composite key,kolom yang sudah dipakai oleh Primary key atau

Unique key boleh digunakan lagi untuk Unique key yang lain, asal tidak

seluruh kolom.

Didalam hubungan kedua tabel dalam contoh diatas, tabel pesanansering

disebut sebagai tabel orang-tua (parent), sedang barang_pesanandisebut

tabel anak (child)

nomor_pesanandi tabel barang_pesanan, yang nilainya mengikuti nilai dari

tabel pesanan, disebut Foreign key –dapat dikatakan bahwa: Foreign key

adalah penghubungkedua table. Foreign key boleh berasal dari Primary

dan/atau Unique key tabel parent, dan boleh composite. Istilah lain yang

kadang dipakai adalah “migrated key” (maksudnya sama dengan Foreign

key) Database Oracletidak membolehkan data di tabel child dimana foreign

key-nya belum ada di tabel parent. Misalnya, kita tidak bisamemasukkan

data barang pesanan untuk pesanan bernomor 1073 sebelum pesanan nomor

1073 ada didalam tabel pesanan.

Kita buat tabel  barang_pesanandenganForeignkey yang

menghubungkannya (me-referensi) dengan nomor_pesanan(key ditabel

pesanan) sebagai berikut:

CREATE TABLE barang_pesanan (

nomor_pesanan VARCHAR2(6)

CONSTRAINT  nomor_pesanan_fk  REFERENCES

pesanan(nomor_pesanan),

nama_barang VARCHAR2(20),

jumlah NUMBER(6));

Tips dan Trik IlmuKomputer.Com

Copyright ©2003 IlmuKomputer.Com

Foreign key di tabel barang_pesanan ini kita beri nama sama yaitu

nomor_pesanan. Sedang nama constraint-nya adalah nomor_pesanan_fk.

Kemudian kita masukkan dua buah data:

INSERT INTO barang_pesanan VALUES (1071, 'Pensil');

INSERT INTO barang_pesanan VALUES (1073, 'Papan tulis');

SQLstatement yang kedua akan gagal.

Karena sifat menghalangi inilah, makakey ditabel parent (primary dan

unique) diistilahkan penjaga integritas (integrity constraint) Perlu dicatat

bahwa ada jenis constraint lain didalam database relasional, selain

penggunaan key yang dibahas disini.

Tetapi, bilakitamenggunakan Unique key dari tabel parent sebagai Foreign

key di tabel child, Oracle tidak menghalangi adanya nilai null didalam

Foreign key ini –maka akanada barang_pesananyang tidak memiliki

pesanannya! Maka kita harus berhati-hati bila menggunakan Unique key

sebagai Foreign key!

Foreign key,didalam tabel child boleh digunakan sebagaiPrimary atau

Unique key,misalnya karena Foreign key ini akandigunakan oleh tabel

yang lain sebagai Foreign key (hubungan ber-rantai)

Efek Samping

Oracle otomatis membuat index untuk semua key, primary maupun unique.

Index memerlukan tempat (didalam disk).

Selain membutuhkan tempat, indexbisa memperlambat respon

(performance), karena setiap kali ada data baru maka selain ditabelnya,

di-index-nya juga harus ditambahkan key dari data baru bersangkutan;

demikian juga bila kita mengubah nilai key yang sudah ada. (Mengubah

nilai key sangat tidak dianjurkan, salah satu alasan adalah karena semua

tabel yang terhubung juga harus segera di-update!) Ada teknik-teknik

untuk menangani masalah respon dan perubahan nilai key ini, dan Oracle

juga menyediakan fasilitasnya. (Tetapi tidak dibahas di tulisan ini)

Saran Pemakaian Key

Pilih kolom yang tepat, tentukan macam (primary dan/atau unique) dan

jumlahnya, sesuai spesifikasi (peraturan pelaksanaan bisnis dan kebutuhan

datanya), untuk menghubungkan tabel-tabel didalam database. Terapkan

dengan menggunakan fasilitas bersangkutan yang tersedia didalam

database yang dipakai. Fasilitas key dan sifat-sifatnya di Microsoft SQL

Server misalnya tidak sama percis denganOracle.

Page 2

Video yang berhubungan

Postingan terbaru

LIHAT SEMUA