Pemodelan Data dalam Basis Data

Pemodelan Data dalam Basis Data

Konsep Foreign Key

Foreign key adalah kolom yang diambil dari primary key entitas lain yang menggunakan hubungan antar 2 tabel tsb.

Fakta
Adi, Budi dan Cici bekerja pada bagian Persinalia. Sedangkan Rudi dan Santo bekerja pada bagian Gudang

Dari fakta diatas dan panah relasi sebelah kiri, bagaimana cara menuliskan data yang menunjukkan hubungan/relasi antar tabel pegawai dan departemen?

Pemodelan Data dalam Basis Data

Pemodelan Data dalam Basis Data



Ada 3 alternatif untuk menyimpan data relasi
1. Membuat tabel baru yang field-fieldnya berisi primari key kedua tabel
2. Primary key di tabel pegawai ditempatkan pula pada tabel departemen
3. Primary key dari tabel departemen ditempatkan pula pada tabel pegawai

Alternatif 1 dan 2 tidak dipakai karena mengakibatkan pengulangan yang tidak perlu (boros). Alternatif ke-3 dipilih, sehingga struktur tabelnya menjadi:

Pemodelan Data dalam Basis Data


Kolom DEP_Nomor dan DEP_Nama pada tabel Pegawai disebut dengan foreign key, karena diambil dari primary key entitas lain



Derajat kardinalitas relasi (Cardinality Ratio)

Kardinalitas relasi menunjukkan jumlah maksimum data entitas yang dapat berelasi dengan entitas lain 

ERD Perusahaan

Pemodelan Data dalam Basis Data



Satu ke satu (one to one) 

Setiap data pada entitas A berhubungan dengan maksimal satu data pada entitas B, begitu pula sebaliknya 

Contoh:

relasi “mengepalai” antara entitas Pegawai dengan entitas Departemen

Pemodelan Data dalam Basis Data



Satu ke Banyak (one to many)

Setiap data pada entitas A bisa berhubungan dengan banyak data pada entitas B, tetapi data pada entitas B berhubungan maksimal hanya dengan sebuah data di A 

Contoh:
relasi “menanggung” antara entitas pegawai terhadap entitas tanggungan 

Pemodelan Data dalam Basis Data




Banyak ke Satu (many to one)

Merupakan kebalikan dari relasi satu-ke-banyak 

Contoh:
relasi “bekerja untuk” pada entitas pegawai terhadap entitas departemen 

Pemodelan Data dalam Basis Data


Banyak ke banyak (many to many)

Setiap data pada entitas A bisa berhubungan dengan banyak data pada entitas B, demikian pula sebaliknya 

Contoh:
relasi “bekerja pada” pada entitas Pegawai terhadap entitas proyek 

Pemodelan Data dalam Basis Data


Batasan Partisipasi (Participation Constraint) 

Menentukan apakah keberadaan sebuah entitas tergantung pada hubungannya ke entitas lain melalui jenis relasinya 

Ada 2 jenis:
1. Partisipasi Total → partisipasi pegawai dalam relasi “bekerja untuk”, memberikan arti bahwa setiap       data pada pegawai, harus direlasikan pada sebuah departemen. Atau tidak ada data pegawai yang             tidak berelasi dengan data departemen 
2.  Partisipasi sebagian → partisipasi pegawai dalam relasi “mengepalai” terhadap departemen, tidak          setiap data pada pegawai dihubungkan dengan departemen dengan relasi ini. Atau tidak semua                pegawai mengepalai departemen 


Derajat Relasi Minimum
  • Menunjukkan hubungan (korespondensi) minimum   yang boleh terjadi dalam sebuah relasi antar entitas. 
  • Notasi (x,y) pada relasi menunjukkan derajat minimum (x) dan derajat maksimum (y) pada sebuah relasi 
  • Partisipasi total bisa dinotasikan dengan memberikan derajat relasi minimum (x) = 1 

Contoh:
pada relasi “bekerja untuk” pada entitas pegawai terhadap departemen Derajat relasi minimumnya adalah satu 

Notasi lain untuk relasi

Pemodelan Data dalam Basis Data

Pemodelan Data dalam Basis Data

Pemodelan Data dalam Basis Data

Macam relasi 

  • relasi Biner (binary relation)
  • relasi tunggal (unary relation)
  • relasi Multi entitas (n-ary relation)
  • relasi ganda (redundant relation)


Relasi Biner (Binary Relation) 

Merupakan relasi yang terbentuk antar 2 buah entitas 

Contoh:
relasi “bekerja pada” pada entitas pegawai terhadap entitas proyek 

Pemodelan Data dalam Basis Data


Relasi Tunggal (Unary Relation) 

Merupakan relasi yang terjadi dari sebuah entitas ke entitas yang sama 

Contoh:
Merupakan relasi yang terjadi dari sebuah entitas ke entitas yang sama 


Pemodelan Data dalam Basis Data



Relasi Multi Entitas (N-ary Relation)

Merupakan relasi dari 3 buah entitas atau lebih. Seharusnya dihindari, karena akan mengaburkan derajat relasi yang ada dalam relasi. 

Contoh:

Pemodelan Data dalam Basis Data


Relasi Ganda (Redundant Relation) 

Relasi yang jumlahnya lebih dari satu untuk dua buah entitas 
Contoh:
Pemodelan Data dalam Basis Data

Pemodelan Data dalam Basis Data

Pemodelan Data dalam Basis Data