Anda di halaman 1dari 34

Perancangan Database Lojik

dan Model Relasi


Relasi
 Definisi: suatu relasi adalah tabel data 2 dimensi
– Tabel disusun oleh baris (record) dan kolom (atrbiut atau field)
– Tidak semua tabel memenuhi syarat sebagai suatu relasi
 Persyaratan:
– Setiap relasi memnupnyai sebuah nama yang unik.
– Setiap nilai atribut adalah atomik (tidak bernilai banyak, multivalued,
maupun komposit)
– Setiap baris adalah unik (tidak boleh 2 baris atau lebih mempunyai nilai
yang sama persis)
– Masing-masing atribut (kolom) dalam tabel mempunyai nama unik.
– Urutan kolom tidak penting.
– Urutan baris tidak penting.
Field Kunci
 Kunci adalah field-field khusus yang digunakan :
– Kunci primer (Primary keys) adalah identitas unik dari relasi.
Contoh : Nomor Penduduk, Nomor Rekening, dsb. Kunci
primer menjamin bahwa semua baris bersifat unik.
– Kunci asing (Foreign keys) adalah kunci yang digunakan
sebagai pengait antar relasi.
 Kunci bisa sederhana (simple) yaitu hanya sebuah field
saja) bisa juga komposit (composite) (yaitu lebih dari
satu field)
 Kunci biasanya digunakan sebagai indexes untuk
mempecepat respon pencarian kepada pengguna.
Contoh Relasi

Kunci Primer
Kunci Asing

Kunci composite primary key


Kendala Integritas
 Kendala Domain
– Nilai-nilai yang diizinkan untuk sebuah atribut.
 Integritas Entitas
– Kunci primer tidak boleh kosongg. Semua field
kunci harus berisi data.
 Aturan Aksi
– Aturan-aturan bisnis.
Kendala Integritas
 Referential Integrity – aturan yang harus dipenuhi bahwa
suatu nilai kunci asing HARUS bertemu dengan nilai kunci
primer.
– Contoh: Aturan Menghapus
 Restrict – tidak diizinkan menghapus sisi “parent” bila ada
relasi yang bergantung kepadanya..
 Cascade – secara otomatis menghapus sisi yang “bergantung”

terhadap sisi “parent”.


 Set-to-Null – memberi nilai NULL pada kunci asing pada saat

menghapus dari sisi “parent”.


Referential integrity

Referential
integrity
digambarkan oleh
gambar panah
Transformasi Diagram E-R ke
Relasi
Mapping :
1. Atribut sederhana: atribut E-R bersesuaian
dengan relasi.
2. Atribut Komposite : Hanya menggunakan
jenis sederhana.
3. Atribut Multi-valued : menjadi relasi terpisah.
Diagram ER (entity relationship)

(a) Entitas
CUSTOMER
dengan atribut
sederhana

(b) Relasi CUSTOMER


Atribut Komposit

(a) Entitas
CUSTOMER dgn
atribut komposit

(b) Relasi CUSTOMER dengan alamat


Atribut Multivalued
(a)

Atribut Multivalued menjadi relasi terpisah dgn kunci asing


(b)

Relasi 1–to–many antara entitas asal dengan relasi baru


Transformasi Diagram E-R
menjadi Relasi
Relasi Biner
– One-to-Many – Kunci primer pada satu sisi
menjadi kunci asing pada sisi lainnya.
– Many-to-Many – Buat sebuah relasi baru
dengan masing-masing kunci primer dari dari
kedua entitas.
– One-to-One – Kunci primer pada sisi utama
menjadi kunci asing pada sisi pilihan.
Relasi 1-Banyak

(a) Keterkaitan antara Customer dengan Order


Mapping

Kunci asing
Mapping relasi m:n (banyak-ke-banyak)
(a) Diagram ER (M:N)

Relasi Supplies menjadi relasi terpisah


3 Relasi Hasil Mapping

Kunci Primer Komposit

Relasi
Kunci Asing cabang
Kunci Asing
Relasi 1:1

(a) Relasi 1:1 Biner


Relasi Hasil
Relasi m:n

(a) Diagram

(b) Relasi
Normalisasi Data
 Suatu alat untuk memvalidasi dan
meningkatkan rancangan lojik sehingga
memenuhi kendala tertentu untuk
menghindari duplikasi data yang tidak
perlu.
 Tekniknya dengan mendekomposisi
(memecah) menjadi relasi yang berstruktur
baik.
Relasi dengan Struktur Baik
 Tidak menghamburkan ruang dan dapat dilakukan :
penyisipan, pengahapusan, dan pembaruan data
tanpa menyebabkan ketidak konsistenan.
 Terhindar dari anomali :
– Anomali Penyisipan – menambah data bisa membuat
duplikasi data
– Anomali Penghapusan – menghapus baris dapat
menyebabkan kehilangan yang sebetulnya dibutuhkan
oleh baris lain.
– Anomali Perubahan – mengubah data pada suatu baris
dapat mengubah baris lain karena duplikasi.

Pedoman umum: satu tabel sebaiknya hanya


berkaitan dengan sau jenis entitas
Contoh

Apakah ini sebuah Relasi? Jawaban – Ya : baris yang unik dan tidak ada
atrbut multivalued

Apa Kunci Primernya? Jawaban – Komposit : Emp_ID,


Course_Title
Anomali-Anomali pada Tabel
 Penyisipan – tidak dapat memasukkan employee
baru tanpa mempunyai kelas
 Penghapusan – bila employee 140, kita
kehilangan informasi keberadaan kelas Tax Acc
 Modification – giving a salary increase to
employee 100 forces us to update multiple records
Mengapa ada anomali ini?
Karena 2 tema (entitas) disatukan pada satu relasi.
Akibatnya ada duplikasi, dan ketergantungan yang
tidak perlu antara 2 entitas.
Ketergantungan Fungsional dan
Kunci
 Ketergantungan Fungsional: Nilai dari satu
atribut menentukan atribut-atribut lainnya
 Kunci Kandidat:
– Pengidentifikasi yang unik. Salah satu kunci
kandidat akan menjadi kunci primer.
 Misal : Nomor Kunci Kredit atau Nomor Penduduk
dalam satu tabel keduanya dalah kunci kandidat.
– Setiap field bukan kunci bergantung pada setiap
kunci kandidat.
Langkah-langkah
Normalisasi
Bentuk Normal Pertama (1st
Form)
Tidak ada atribut multivalue
Setiap nilai atribut adalah atomik
Bentuk Normal Kedua
Memenuhi 1st NF
Setiap atribut bukan kunci bergantung secara
fungsional pada kunci primer
Tidak ada ketergantungan fungsional
sebagian
Ketergantungan Fungsional pada in
EMPLOYEE2
Bergantung pada kunci primer sepenuhnya

EmpID CourseTitle Name DeptName Salary DateCompleted

Bergantung hanya pada sebgian

EmpID, CourseTitle  DateCompleted


EmpID  Name, DeptName, Salary

Tidak memenuhi 2nd Form!!


Dibuat Memenuhi 2nd Normal
Form

Kedua relasi
mempunyai
EmpID Name DeptName Salary
ketergantungan
fungsional

EmpID CourseTitle DateCompleted


Third Normal Form
 2NF
 Tidak ada ketergantungan transitif (satu
atribut menentukan atribut kedua, atribut
kedua menentukan aribut ketiga)
Ketergantungan Transitif
(a) Relasi SALES dengan data sederhana
Relasi dengan Ketergantungan transitif

CustID  Name
CustID  Salesperson Tetapi
CustID  Region
CustID  Salesperson  Region
Ok dengan Ketergantungan
(2nd NF) Transitif
(tidak 3rd NF)
Menghilangkan Ketergantungan Transitif
(a) Dekomposisi relasi SALES
Relasi Memenuhi 3NF

Salesperson  Region

CustID  Name
CustID  Salesperson

Tidak terdapat Ketergantungan Transitif.


Kedua relasi memenuhi 3rd NF

Anda mungkin juga menyukai