PEMBAHASAN DARI APA ITU PRIMARY KEY, FOREIGN KEY DAN RELATION PADA ERD

 Apa itu PrimaryKey?

    PrimaryKey ( kunci utama ): Primary Key adalah atribut unik yang mengidentifikasi setiap baris dalam tabel secara unik, ini digunakan untuk memastikan integritas data dan membuat hubungan antar tabel. Dalam konteks basis data, primary key sangat penting karena memastikan bahwa setiap baris dalam tabel dapat dibedakan satu sama lain.

Karakteristik Primary Key :

1. Unik : Setiap nilai dalam kolom primary key harus unuj. Tidak boleh ada dua baris yang memiliki nilai primary key yang sama.

2. Tidak Boleh Null : Setiap baris harus memiliki nilai untuk kolom primary key. Nilai null tidak diperbolehkan karena primary key digunakan untuk mengidentifikasi baris secara unik.

3. Imutabel : Nilai primary key sebaiknya tidak berubah setelah dimasukkan. Karena perbubahan nilai primary key dapat menyebabkan masalah dalam referensi data.

4. Satu per tabel : Setiap tabel hanya boleh memiliki satu primary key, meskipun primary key dapat terdiri dari lebih dari satu kolom ( composite key ).

Fungsi Primary Key

Primary key berfungsi untuk :
  • Identifikasi unik : Setiap entitas dalam tabel harus bisa diidentifikasi secara unik, sehingga tidak ada duplikat data.
  • Hubungan antar tabel : Primary key sering digunakan dalam relasi antar tabel, dimana primary key dari satu tabel digunaka  sebagai foreign key di tabel lain untuk membentuk hubungan antara data.
  • Integritas data : Dengan adanya primary key, database dapat menjaga integritas data dan memastikan bahwa tidak ada duplikasi atau baris tanpa identitas yang jelas.

Berikut Contoh Penerapan Pada ERD :

Gambar Penerapan Primary key pada ERD.
  • ID_Mahasiswa dalam tabel Mahasiswa.
  • Nomor_KTP dalam tabel Penduduk.
  • ISBN dalam tabel Buku.
  • Nomor_Plat dalam tabel Kendaraan.
  • ID_Transaksi dalam tabel Penjualan.

Apa Itu Foreign Key?

    Foreign key ( kunci asing ) : Foreign key adalah atribut dalam satu tabel yang mengacu pada primary key ditabel lain. Ini digunakan untuk membuat hubungan antar tabel dan berfungsi untuk menjaga integritas referensial antar data dalam basis data.

Karakteristik Foreign Key :

1. Referensi ke Primary key : Foreign key di satu tabel merujuk pada primary key di tabel lain. Hal ini menciptakan hubungan antara dua entitas.

2. Dapat Berisi Nilai Null : Foreign key dapat memiliki null, berbeda dengan kunci utama. Ini berarti bahwa tidak setiap entitas harus memiliki referensi ke entitas lain.

3. Dapat Berisi Duplikasi : Foreign key dapat memiliki nilai yang sama di beberapa baris dalam tabel, yang berarti bahwa satu entitas dapat merujuk ke banyak entitas.

4. Satu atau Lebih Atribut : Foreign key tergantung cara hubungan antar tabel dirancang, dapat terdiri dari satu atau lebih kolom.

Fungsi Foreign Key :

Foreign key memiliki beberapa fungsi penting, antara lain :
  • Membangun Relasi : Memungkinkan pengorganisasian data yang lebih terstruktur, foreign key digunakan untuk menghubungkan dua tabel.
  • Menjaga Integritas Data : Nilai yang dimasukan dalam kolom foreign key selalu ada dalam tabel yang dirujuk ( tabel yang memiliki primary key ), yang membantu menjaga integritas dan konsistensi data.
  • Mendukung Operasi CRUD : Dalam proses create, read, update, dan delete ( CRUD ), foreign key memungkinkan pengambilan data terkait dari berbagai tabel.

Berikut Penerapan Pada ERD :


Gambar Penerapan Foreign Key pada ERD.
  • ID_Jurusan dalam tabel Mahasiswa ( Mengacu ke tabel Jurusan )
  • ID_Penulis dalam tabel Buku ( mengacu ke tabel Penulis )
  • ID_Pelanggan dalam tabel Pesanan ( mengacu ke tabel Pelanggan )
  • ID_Departemen dalam tabel karyawan ( mengacu ke Departemen )
  • ID_Suplier dalam tabel produk ( mengacu ke tabel suplier )

Apa itu Candidate Key?

    Candidate Key ( Kunci Kandidat ) : Candidate Key adalah atribut atau kumpulan atribut yang bisa menjadi primary key. Setiap tabel memiliki beberapa candidate key, tetapi hanya satu yang dipilih sebagai primary key. 

Karakteristik Candidate Key :

1. Unik : Setiap nilai candidate key harus unik di dalam tabel sehingga dapat digunakan untuk membedakan entitas.

2. Tidak Boleh Null : Setiap baris dalam tabel harus memiliki nilai untuk atribut candidate key, yang berarti candidate key tidak boleh memiliki nilai null.

3. Minimal : Untuk menjaga keunikan, candidate key harus memiliki minimal atribut. Dengan kata lain, jika atribut tambahan dihapus, keunikan tetap terjaga.

Fungsi Candidate Key :

  • Identifikasi Unik : Candidate key memungkinkan identifikasi unik untuk setiap entitas dalam tabel, yang sangat penting untuk integritas data.
  • Menjadi Primary Key : Salah satu dari candidate key akan dipilih untuk menjadi primary key, sedangkan yang lainnya akan dianggap sebagai alternatif.

Berikut Contoh Penerapan pada ERD :

Gambar Penerapan Candidate Key pada ERD.
  • Nomor_KTP dan Nomor_Paspor dalam tabel Penduduk
  • ISBN dan Judul_Buku dalam tabel Buku
  • Email dan Nomor_Telepon dalam tabel Pelanggan
  • Nomor_Plat dan Nomor_Mesin dalam tabel Kendaraan
  • Kode_Produk dan Nama_Produk dalam tabel Produk

Relation dalam ERD

Relasi dalam ERD menggambarkan hubungan antara entitas. 
Ada tigas jenis utama relasi :
1. One-to-One (1:1)
2. One-to-Many (1:N)
3. Many-to-Many (M:N)

Mengapa Many-to-Many tidak baik digunakan pada ERD? :
    Relasi Many-to-Many sebenarnya bukan " tidak baik " digunakan pada ERD, tetapi dalam implementasi basis data relasional, relasi ini perlu ditransformasikan menjadi bentuk yang lebih efisien.
Alasannya :

1. Redundansi data : Relasi Many-to-Many dapat menyebabkan redundansi data yang berlebihan.
2. Kesulitan dalam pemeliharaan : Sulit untuk memelihara integritas data dalam relasi Many-to-Many langsung.
3. Keterbatasan basis data relasional : Sebagaian besar sistem manajemen basis data relasional tidak mendukung relasi Many-to-Many langsung. 
4. Kompleksitas query : Relasi Many-to-Many langsung dapat membuat query menjadi lebih kompleks dan kurang efisien.
5. Fleksibilitas terbatas : Sulit untuk menambahkan atribut tambahan ke relasi tanpa membuat struktur yang lebih kompleks.

    Solusinya adalah dengan memecah relasi Many-to-Many menjadi dua relasi One-to-many dengan menambahkan tabel perantara ( junction table atau associative entity ). Ini membuat struktur data lebih efisien, mudah dikelola, dan sesuai dengan prinsip normalisasi basis data.

Untuk Informasi Lebih Lanjut Tentang Universitas Buana Perjuangan.


BERIKUT VIDEO ERD PEMINJAMAN BUKU PERPUSTAKAAN:






Komentar

Postingan Populer