Model Data Relasional Istilahistilah dalam model relasional Model

  • Slides: 26
Download presentation
 • Model Data Relasional • Istilah–istilah dalam model relasional

• Model Data Relasional • Istilah–istilah dalam model relasional

Model Data Relasional • Data direprentasikan dalam tabel berdimensi dua Nomor_Peg Nama 05001 Karmen

Model Data Relasional • Data direprentasikan dalam tabel berdimensi dua Nomor_Peg Nama 05001 Karmen 05002 Tigor 05003 Sita Devi

Model Data Relasional • Istilah relasi (relation) menyatakan nama tabel – Contoh: PEGAWAI(Nomor_Peg, Nama)

Model Data Relasional • Istilah relasi (relation) menyatakan nama tabel – Contoh: PEGAWAI(Nomor_Peg, Nama) Struktur data Nomor_Peg Nama 05001 Karmen 05002 Tigor 05003 Sita Devi

Relasi • Setiap relasi memiliki kunci primer (primary key) • Kunci primer adalah atribut

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(Nomor_Peg, Nama)

Kunci • Kunci dapat dibedakan menjadi: 1. Kunci sederhana : Terdiri atas sebuah atribut

Kunci • Kunci dapat dibedakan menjadi: 1. Kunci sederhana : Terdiri atas sebuah atribut 2. Kunci komposit : Tersusun atas dua atribut atau lebih Kunci sederhana: PEGAWAI(Nomor_Peg, Nama) DEPARTEMEN(Kode_Dep, Nama_Dep) BARANG(Kode_Barang, Nama_Barang) Kunci komposit: BARANG DIPESAN(No_Pesanan, Kode_Barang, Jumlah) NILAI(No_Mhs, Kode_Matakuliah, Skor)

SUPERKEY • satu atau lebih atribut (kump atribut) yang dapat membedakan setiap baris data

SUPERKEY • satu atau lebih atribut (kump atribut) yang dapat membedakan setiap baris data dalam table secara unik

l Contoh Superkey : l NIM dan Nama l NIM dan Alamat l NIM

l Contoh Superkey : l NIM dan Nama l NIM dan Alamat l NIM dan Jurusan l NIM, Nama dan alamat l NIM, Nama dan Jurusan l NIM, Nama, Alamat dan Jurusan

 • Bukan Superkey : – Nama – Alamat – Jurusan – Nama dan

• Bukan Superkey : – Nama – Alamat – Jurusan – Nama dan Alamat – Nama dan Jurusan – Alamat dan jurusan – Nama, Alamat dan Jurusan

KANDIDAT KEY kumpulan atribut minimal yang membedakan setiap baris data dalam table secara unik.

KANDIDAT KEY kumpulan atribut minimal yang membedakan setiap baris data dalam table secara unik. Untuk bisa menjadi kandidat key, suatu atribut harus memenuhi persyaratan sebagai berikut: • • – – – • • untuk satu nilai hanya mengindentifikasikan satu baris dalam satu relasi (unik) tidak memiliki subset yang juga merupakan kunci relasi tidak dapat bernilai null Dengan kata lain, sebuah kandidat key adalah superkey yang paling sedikit jumlah atributnya. Dari contoh pada superkey dari tabel Mahasiswa yang memenuhi persyaratan sebagai kandidat key adalah atribut NIM.

Kunci Relasi /Kunci Utama (Primary Key) • • Nilai dari kunci relasi harus mengidentifikasikan

Kunci Relasi /Kunci Utama (Primary Key) • • Nilai dari kunci relasi harus mengidentifikasikan sebuah baris yang unik didalam sebuah relasi. Kunci relasi terdiri dari satu atau lebih atribut-atribut relasi Agar bisa menjadi sebuah primary key sebuah atribut haruslah memenuhi persyaratan sebagai kandidat key. Dalam contoh tabel mahasiswa NIM adalah kunci relasinya.

Kunci Alternatif (Alternate Key) • • Kunci yang tidak ada didunia nyata, tetapi diadakan

Kunci Alternatif (Alternate Key) • • Kunci yang tidak ada didunia nyata, tetapi diadakan dijadikan primary key Kunci alternatif dibuat ketika tidak ada satupun atribut dalam sebuah relasi yang bisa mewakili relasi tersebut, atau ada yang bisa menjadi kandidat key tetapi tidak cukup efektif untuk digunakan sebagai primary key

Kunci Tamu • Kunci tamu (foreign key) biasa digunakan sebagai penghubung ke relasi lain

Kunci Tamu • Kunci tamu (foreign key) biasa digunakan sebagai penghubung ke relasi lain Kunci asing PELANGGAN Kd_Pelanggan Nama Kd_Kota A 001 Aditya 0501 B 001 Bakdi 0502 B 002 Bramanto 0502 Kunci primer KOTA Kd_Kota Nama_Kota 0501 Semarang 0502 Salatiga 0503 Kendal

Kunci Tamu (Lanjutan…) • Garis bawah terputus-putus biasa dipakai untuk menyatakan kunci tamu •

Kunci Tamu (Lanjutan…) • Garis bawah terputus-putus biasa dipakai untuk menyatakan kunci tamu • Contoh: PELANGGAN(Kd_Pelanggan, Nama, Kd_Kota) KOTA(Kd_Kota, Nama_Kota)

Sifat Relasi 1. Setiap relasi memiliki nama yang unik 2. Setiap isian pada perpotongan

Sifat Relasi 1. Setiap relasi memiliki nama yang unik 2. Setiap isian pada perpotongan baris dan kolom harus bersifat atomik (bernilai tunggal) 3. Setiap baris bersifat unik 4. Setiap atribut memiliki nama yang unik 5. Urutan kolom tidak penting 6. Urutan baris juga tidak penting

Kekangan Integritas (Integrity Constraint) • Tujuannya adalah untuk memfasilitasi penjagaan keakurasian dan integritas data

Kekangan Integritas (Integrity Constraint) • Tujuannya adalah untuk memfasilitasi penjagaan keakurasian dan integritas data dalam database (supaya tetap konsisten) • Macamnya: – Kekangan domain – Integritas entitas – Integritas referensial – Kekangan operasional

Kekangan Domain • Memastikan data dalam domain yang telah ditetapkan • Domain adalah kemungkinan

Kekangan Domain • 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

Integritas Entitas • Memastikan bahwa data yang terkait dengan kunci primer tidak terlanggar •

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

Integritas Referensial • Memastikan bahwa konsistensi antara dua buah relasi tetap terjaga Keadaan Awal:

Integritas Referensial • Memastikan bahwa konsistensi antara dua buah relasi tetap terjaga Keadaan Awal: Kd_Pelanggan Nama Kd_Kota Nama_Kota A 001 Aditya 0501 Semarang B 001 Bakdi 0502 Salatiga B 002 Bramanto 0502 0503 Kendal

Efek Tanpa Integritas Referensial Keadaan Setekah data 0502 pada KOTA dihapus: 0502 Kd_Pelanggan Nama

Efek Tanpa Integritas Referensial Keadaan Setekah data 0502 pada KOTA dihapus: 0502 Kd_Pelanggan Nama Kd_Kota Salatiga Nama_Kota A 001 Aditya 0501 Semarang B 001 Bakdi 0502 0503 Kendal B 002 Bramanto 0502 Menjadi tidak konsisten

Efek Integritas Referensial Keadaan Setekah data 0502 pada KOTA dihapus: 0502 Kd_Pelanggan Nama Kd_Kota

Efek Integritas Referensial Keadaan Setekah data 0502 pada KOTA dihapus: 0502 Kd_Pelanggan Nama Kd_Kota Salatiga Nama_Kota A 001 Aditya 0501 Semarang B 002 Bramanto 0503 Kendal B 001 Bakdi 0502 Ikut terhapus! atau penghapusan ditolak

Kekangan Operasional • Kekangan yang berhubungan dengan aturan bisnis • Misalnya “Saldo tabungan tidak

Kekangan Operasional • Kekangan yang berhubungan dengan aturan bisnis • Misalnya “Saldo tabungan tidak boleh negatif” • Pada Access, kekangan seperti ini bisa diimplementasikan pada Validation Rule. • Pada Postgre. SQL, hal ini bisa diimplementasikan dalam prosedur tersimpan

Relasi Berstruktur Baik • Suatu relasi dikatakan berstruktur baik kalau : – Mengandung redundansi

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

Anomali 1. Anomali penyisipan 2. Anomali penghapusan 3. Anomali peremajaan

Anomali 1. Anomali penyisipan 2. Anomali penghapusan 3. Anomali peremajaan

Anomali Peremajaan • Terjadi bila terdapat pengubahan pada sejumlah data yang redundan, tetapi tanpa

Anomali Peremajaan • Terjadi bila terdapat pengubahan pada sejumlah data yang redundan, tetapi tanpa sengaja tidak semua ikut diubah PEMASOK KOTA BARANG JUMLAH Kartika Jakarta Monitor GGG Citra Bandung ZIP drive 4 Candra Jakarta Keyboard 5 Citra Bandung Mouse CCP 10 25 Pemasok Citra pindah ke Bogor dan Pengubahan dilakukan hanya pada data pertama PEMASOK KOTA BARANG JUMLAH Kartika Jakarta Monitor GGG Citra Bogor ZIP drive 4 Candra Jakarta Keyboard 5 Citra Bandung Mouse CCP 10 25

Anomali Penyisipan • Terjadi bila ada penambahan data • Perhatikan contoh disamping • Masalah:

Anomali Penyisipan • Terjadi bila ada penambahan data • Perhatikan contoh disamping • Masalah: “Bagaimana caranya menyimpan fakta bahwa ruang baru bernama Arjuna ada pada gedung selatan? ” KULIAH RUA NG TEMPAT Jaringan Komputer Merapi Gedung Utara Pengantar Basis Data Merbabu Gedung Utara Matematikaa I Rama Gedung Selatan Sistem Pakar Sinta Gedung Selatan Kecerdasan Buatan Merapi Gedung Utara

Anomali Penghapusan • Terjadi kiranya sesuatu baris yang tak terpakai dihapus dan sebagai akibatnya

Anomali Penghapusan • Terjadi kiranya sesuatu baris yang tak terpakai dihapus dan sebagai akibatnya terdapat data lain yang hilang • Perhatikan contoh di samping • Apa yang terjadi seandainya data bahwa siswa dengan identitas 12 dihapus? Data yang menyatakan bahwa biaya kursus bahasa Jepang juga akan terhapus NO_SISWA NAMA_KURSUS BIAYA 10 Bahasa Inggris 120. 000 10 Bahasa Prancis 120. 000 10 Bahasa Mandarin 180. 000 15 Bahasa Inggris 120. 000 12 Bahasa Jepang 160. 000