Apa saja Key dalam DBMS?
Contoh:
EmpID | FirstName | LastName |
---|---|---|
11 | Nur | Ardi |
22 | Sandi | Wayudi |
33 | Dadit | Pradityo |
Dalam contoh yang diberikan di atas, EmpID adalah Primary Key karena secara unik mengidentifikasi record karyawan. Dalam tabel ini, tidak ada karyawan lain yang dapat memiliki ID Karyawan yang sama.
Mengapa kita membutuhkan Key?
- Kunci dapat membantu kita dalam mengidentifikasi baris data apa pun dalam tabel. Dalam aplikasi dunia nyata, tabel bisa berisi ribuan record. Selain itu juga, record dapat di duplikasi. Key dalam DBMS memastikan bahwa kita dapat secara unik mengidentifikasi record tabel meskipun ada tantangan ini.
- Memungkinkan kita untuk membangun relasi antara tabel.
- Membantu kita untuk menegaskan identitas dan integritas dalam relasi.
Jenis-jenis Key dalam DBMS
- Super Key
- Primary Key
- Candidate Key
- Alternative Key
- Foreign Key
- Compound Key
- Composite Key
- Surrogate Key
- Super Key: Super key adalah sekelompok kunci tunggal atau ganda yang mengidentifikasi dalam tabel.
- Primary Key: adalah kolom atau kelompok dalam tabel yang secara unik mengidentifikasi setiap baris dalam tabel itu.
- Candidate Key: adalah seperangkat atribut yang secara unik mengidentifikasi tuple dalam tabel. Candidate Key adalah Super key tanpa atribut berulang.
- Alternative Key: adalah kolom atau kelompok kolom dalam tabel yang secara unik mengidentifikasi setiap baris dalam tabel itu.
- Foreign Key: adalah kolom yang menciptakan hubungan antara dua tabel. Tujuan dari Foreign key adalah untuk menjaga integritas data dan memungkinkan navigasi antara dua contoh yang berbeda dari suatu entitas.
- Compound Key: memiliki dua atau lebih atribut yang memungkinkan kita untuk secara unik untuk mengenali record tertentu. Ada kemungkinan bahwa setiap kolom mungkin tidak unik dengan sendirinya dalam database.
- Composite Key: adalah kombinasi dari dua atau lebih kolom yang secara untuk mengidentifikasi baris dalam tabel. Kombinasi kolom menjamin keunikan, meskipun keunikan secara individu tidak dijamin.
- Surrogate Key: kunci buatan memiliki fungsi untuk secara unik mengidentifikasi setiap record disebut surrogate key. Key semacam ini unik karena dibuat ketika kita tidak memiliki kunci alami.
Apa itu Super Key?
Contoh
NIK | NoKaryawan | NamaKaryawan |
---|---|---|
99983210 | AB02 | Ardi |
99982001 | AB06 | Wayudi |
99092717 | AE66 | Pradityo |
Dari tabel di atas yang yang merupakan Super Key adalah kolom NIK dan Nomor Karyawan.
Apa itu Primary Key?
Aturan untuk mendefinisikan Primary Key
- Dua baris tidak boleh memiliki nilai Primary Key yang sama.
- Hanya setiap baris memiliki nilai setiap Primary Key.
- Field Primary Key tidak boleh NULL.
- Nilai dalam kolom Primary Key tidak boleh dimodifikasi atau diperbaharui jika ada Foreign Key yang mengacu pada Primary Key tersebut.
Contoh
Dalam contoh di bawah ini EmpID adalah Primary Key.
EmpID | FirstName | LastName | |
---|---|---|---|
1 | Tom | Cruise | tom@gmail.com |
2 | Andien | Malawa | andien@gmail.com |
3 | Nick | Ledon | nick@gmail.com |
Apa itu Alternative Key?
Contoh
Dalam tabel ini, EmpID dan Email memenuhi syarat untuk menjadi Primary Key. Tetapi Karena EmpID adalah Primary Key, status email menjadi Alternative Key.
EmpID | FirstName | LastName | |
---|---|---|---|
1 | Tom | Cruise | tom@gmail.com |
2 | Andien | Malawa | andien@gmail.com |
3 | Nick | Ledon | nick@gmail.com |
Apa itu Candidate Key?
Aturan Candidate Key
- Harus memiliki nilai unik
- Candidate Key di SQL mungkin memiliki beberapa atribut.
- Tidak boleh berisi nilai NULL.
- Harus memiliki field minimum untuk memastikan keunikan.
- Mengidentifikasi setiap record secara unik di tabel.
Apa itu Foreign Key?
CodePelajaran | NamaPelajaran |
---|---|
001 | Bahasa Inggris |
002 | Bahasa Indonesia |
003 | Matematika |
IDGuru | FirstName | LastName |
---|---|---|
A002 | Siti | Aisya |
A008 | Sarah | Nindita |
A009 | Mike | Sitompul |
Dalam key ini dalam DBMS, kita memiliki dua tabel, tabel pelajaran dengan tabel guru. Namun, tidak ada yang terkait antara tabel yang satu dengan yang lainnya.
Dalam tabel tersebut, kita dapat menambahkan Foreign Key di CodePelajaran ke Nama Guru, kita dapat membuat relasi antara dua tabel. yang nantinya akan seperti ini.
IDGuru | CodePelajaran | FirstName | LastName |
---|---|---|---|
A002 | 001 | Siti | Aisya |
A008 | 002 | Sarah | Nindita |
A009 | 003 | Mike | Sitompul |
Konsep ini juga dikenal sebagai Integritas Referensial.
Apa itu Compound Key?
Contoh:
OrderNo | ProductID | NamaProduk | Jumlah |
---|---|---|---|
B005 | JAP2213 | Mouse | 5 |
B005 | JKT9908 | USB | 10 |
B004 | OMG9900 | USB | 15 |
B002 | OMG9900 | Printer | 3 |
Dalam contoh ini, OrderNo dan ProductID tidak dapat menjadi kunci utama karena tidak secara unik mengidentifikasi record. Namun, Compound Key OrderNo dan ProductID dapat digunakan karena diidentifikasi secara unik di setiap record.
Apa itu Composite Key?
Perbedaanya antara compound dan composite key adalah bahwa setiap bagian dari compound key dapat menjadi foreign key, tetapi composite key mungkin atau tidak mungkin dari bagian dari foreign key.
Apa itu Surrogate Key?
Surrogate Key adalah key buatan yang bertujuan untuk secara unik mengidentifikasi setiap record yang disebut surrogate key. Jenis key ini dalam DBMS bersifat unik karena dibuat ketika kita tidak memiliki Primary Key alami. Mereka tidak memberi arti apa pun pada data dalam tabel. Surrogate key dalam DBMS biasanya merupakan bilangan bulat. Surrogate key adalah nilai yang dihasilkan tepat sebelum record dimasukan ke dalam tabel.
FirstName | LastName | Start | Finish |
---|---|---|---|
Anni | Smith | 09:00 | 18:00 |
Dong | Jun | 08:00 | 17:00 |
Anna | Mclean | 11:00 | 20:00 |
Samuel | Show | 14:00 | 23:00 |
Seperti contoh yang ditunjukan di atas, menunjukan waktu shift para karyawan yang berbeda-beda. Dalam contoh ini, surrogate key diperlukan untuk mengidentifikasi secara unik setiap karyawan.
Surrogate dapat digunakan ketika-
- Tidak ada properti yang memiliki parameter Primary Key.
- Di tabel ketika Primari Key terlalu besar atau rumit.
Perbedaan Antara Primary Key dengan Foreign Key
Primary Key | Foreign Key |
---|---|
Membantu kita mengidentifikasi record secara unik dalam table. | Ini adalah field dalam table yang merupakan Primary Key dari table lain. |
Primary Key tidak pernah memiliki nilai NULL. | Foreign Key dapat menerima nilai NULL. |
Primary Key adalah indeks berkerumun dan data dalam table DBMS secara fisik diatur dalam urutan indeks clustered. | Foreign Keu tidak dapat otomatis membuat indeks. Namun, kita dapat membuat indeks secara manual. |
Kita dapat memiliki Primary Key tunggal dalam tabel. | Kita dapat memiliki beberapa Foreign Key dalam table. |
Posting Komentar untuk "Jenis-jenis dan Contoh Keys di DBMS"