SLIDE 1
CHAPTER 4
MODEL DATA RELATIONAL
Pengantar Basis Data
SLIDE 2
Model Data Relasional
• Data direprentasikan dalam tabel berdimensi dua
• Tiga komponen yang mendasari model data relasional:– Struktur data – Pemanipulasi data– Integritas data
Nomor_Peg Nama
05001 Karmen
05002 Tigor
05003 Sita Devi
SLIDE 3
Model Data Relasional
• Istilah relasi (relation) menyatakan nama tabel– Contoh:
• PEGAWAI(Nomor_Peg, Nama)
Nomor_Peg Nama
05001 Karmen
05002 Tigor
05003 Sita Devi
SLIDE 4
Relasi
• Setiap relasi memiliki kunci primer (primary key)
• Kunci primer adalah atribut atau sejumlah atribut yang menjadi pembeda setiap baris dalam relasi
• Kunci primer biasa dinyatakan dengan garis bawah
Kunci primer
PEGAWAI(PEGAWAI(Nomor_PegNomor_Peg, Nama), Nama)
SLIDE 5
• Sekumpulan attribut-attribut yang menjelaskan suatu entitas.
1. Pertimbangkan himpunan entitas employee dengan attribut employee-name dan phone-number, sementara itu suatu telephone adalah suatu entitas yang memiliki attribut phone-number dan location.
2. Setiap attribut terdapat suatu himpunan nilai yang dapat diberikan pada attribut tersebut yang dikatakan sebagai domain dari suatu attribut.
3. Pembedaan pada seuah entitas digunakan suatu identitas dalam bentuk attribut kunci.
Attribute
SLIDE 6
Attribute• Klasifikasi Atribut
– Simple Attributeadalah atribut yang tidak dapat di breakdown menjadi beberapa komponen.
– Composite AttributeAdalah atribut yang dapat di breakdown menjadi beberapa
komponen.– Multivalued Attribute
Adalah atribut yang memiliki lebih dari satu entity instance.– Derived Attribute
Adalah atribut yang merupakan nilai hasil perhitungan darinilai atribut yang lain.
SLIDE 7
Attribute• Beberapa jenis Atribut (lanjutan)
– Candidate Key adalah atribut yang dapat dijadikan sebagai identifikasi dari Entitas.
– Primary Key adalah atribut yang mempunyai sifat unik.• Simple
Primary Key yang terdiri dari saru atribut• Composite
Primary Key yang terdiri dari dua atau lebih atribut.
– Foreign Key adalah suatu atribut yang dimiliki oleh suatu entitas, tetapi atribut tersebut merupakan Primary Key dari entitas lain.
– Descriptor adalah atribut biasa.
SLIDE 8
Kunci Tamu• Kunci tamu.(( tidak ada ketentuan nilainya beda)
foreign key) biasa digunakan sebagai penghubung ke relasi lain
Kd_Kota
Nama_Kota
0501 Semarang
0502 Salatiga
0503 Kendal
Kd_Pelanggan
Nama
A001 Aditya
B001 Bakdi
B002 Bramanto
Kd_Kota
0501
0502
0502
PELANGGAN
KOTA
Kunci primer
Kunci asing
SLIDE 9
Attribute
• Memilih Nama Attribute– Nama harus unik di dalam sistem
– Semua atribut yang menguraikan Entity atau Relationship tertentu harus diberi nama.
– Masing-Masing Relationship harus meliputi atribut yang menguraikan Entity tersebut dalam membentuk Ralationship.
– Nama penuh arti harus diterpilih sehingga E-R diagram adalah self-explanatory (menjelaskan isi dari dirinya)
SLIDE 10
Relationship • Suatu relasi adalah suatu assosiasi diantara
beberapa entitas.• Suatu himpunan relasi adalah suatu himpunan
relasi yang memiliki tipe yang sama
• Jika e1, e2, ..... en adalah himpunan entitas, maka suatu himpunan relasi r adalah suatu subset dari {(E1, e2, ... ,en) | e1 e1, e2 e2, . . . ., en en}Dimana (e1, e2, ... ,en) adalah suatu relasi
SLIDE 11
Relationship • Degree of Relationships
– Jenis-Jenis dari Degree of Relationship• Unary Relationship• Binary Relationship• Ternary Relationship
SLIDE 12
Relationship • Jenis-Jenis dari Degree of Relationship
SLIDE 13
Relationship • Unary Relationship
SLIDE 14
Relationship • Binary Relationship
SLIDE 15
Relationship • Ternary Relationship
SLIDE 16
Relationship • Penamaan Relasi
– Berinama dengan “Kata Kerja”– Tapi boleh juga menggunakan kata
“Penghubung”– Contoh:– Kata kerja isi, tulis, kirim, dst– Kata penghubung ada, untuk, dalam, dst
SLIDE 17
Mapping Cardinality• One – to – One
– Each entity in the relationship will have exactly one related entity
• One – to – Many– An entity on one side of the relationship can have
many related entities, but an entity on the other side will have a maximum of one related entity
• Many – to – Many– Entities on both sides of the relationship can have
many related entities on the other side
SLIDE 18
Mapping Cardinality• Cardinality Constraints – Jumlah dari instances pada
satu Entity dapat atau harus dihubungkan dengan masing-masing instance pada entity lain.
• Minimum Cardinality– Jika Kosong, merupakan optional– Jika Satu atau Lebih, merupakan mandatory
• Maximum Cardinality– Jumlah maximum
SLIDE 19
Mapping Cardinality
a1
a2
a3
a4
b 1
b 2
b 3
b 4
a1
a2
a3
b 1
b 2
b 3
b 4
b 5
ONE TO ONE ONE TO MANY
a1
a2
a3
b 1
b 2
b 3a4
a5
a1
a2
a3
a4
b 1
b 2
b 3
b 4
MANY TO ONE MANY TO MANY
SLIDE 20
Contoh Entity Relationship Diagram
no_bpk#tg_bpkjm_kreditlm_angsuranjm_angsuranbunga
ANGGOTA FPK BPK
ANGSURAN
AJUKAN
ANGSUR
SETUJUI
no_anggota#nm_anggotaal_rumahal_kantorno_teleponno_hp
no_fpk#tg_fpkjm_kreditlm_angsuran
no_angsuran#tg_angsuranjm_angsuranangsuran_ke
no_fpk#no_anggota#
no_fpk#no_bpk#
no_fpk#no_angsuran#
1 m 1 1
1
m
SLIDE 21
(Integrity Constraint)
• Tujuannya adalah untuk memfasilitasi penjagaan keakurasian dan integritas data dalam database (supaya tetap konsisten)
• Macamnya:– Integritas domain– Integritas entitas– Integritas referensial– Kekangan operasional
SLIDE 22
Integritas Domain(kemungkinan nilai)• Memastikan data dalam domain yang telah
ditetapkan• Domain adalah kemungkinan nilai terhadap
suatu atribut• Contoh:
– A,B,C,D,E untuk nilai– TRUE untuk pria dan FALSE untuk wanita– INTEGER untuk menyatakan nilai bulat
• Dalam praktek, domain juga mencakup panjang data
• Contoh:– CHARACTER, SIZE 35– INTEGER, 3 DIGITS
SLIDE 23
Integritas Entitas
• Memastikan bahwa data yang terkait dengan kunci primer tidak terlanggar
• Secara khusus, data Null pada kunci primer akan ditolak
• Null berarti nilai pada atribut tidak pernah diberikan
SLIDE 24
Integritas Referensial
• Memastikan bahwa konsistensi antara dua buah relasi tetap terjaga
Kd_Kota Nama_Kota
0501 Semarang
0502 Salatiga
0503 Kendal
Kd_Pelanggan Nama
A001 Aditya
B001 Bakdi
B002 Bramanto
Kd_Kota
0501
0502
0502
Keadaan Awal:
SLIDE 25
Efek Tanpa Integritas Referensial
Kd_Kota Nama_Kota
0501 Semarang
0502 Salatiga
0503 Kendal
Kd_Pelanggan Nama
A001 Aditya
B001 Bakdi
B002 Bramanto
Kd_Kota
0501
0502
0502
Keadaan Setekah data 0502 pada KOTA dihapus:
Menjadi tidak konsisten
SLIDE 26
Efek Integritas Referensial
Kd_Kota Nama_Kota
0501 Semarang
0503 Kendal
Kd_Pelanggan Nama
A001 Aditya
B002 Bramanto
Kd_Kota
0501
0502
0502 Salatiga
Keadaan Setekah data 0502 pada KOTA dihapus:
B001 Bakdi 0502Ikut terhapus!
atau penghapusan
ditolak
SLIDE 27
Integritas Operasional
• Integritas yang berhubungan dengan aturan bisnis
• Misalnya “Saldo tabungan tidak boleh negatif”
• Pada Access, Integritas seperti ini bisa diimplementasikan pada Validation Rule.
• Pada PostgreSQL, hal ini bisa diimplementasikan dalam prosedur tersimpan
SLIDE 28
Relasi Berstruktur Baik
• Suatu relasi dikatakan berstruktur baik kalau :– Mengandung redundansi sesedikit mungkin
dan– Memungkinkan pemakai memasukkan,
mengubah, atau menghapus baris tanpa menimbulkan kesalahan atau tidak konsisten
• Kesalahan atau akibat tidak konsisten yang ditimbulkan pada ulasan di atas biasa dinamakan anomali