1 / 34

Perancangan Database Bagian I*

Perancangan Database Bagian I*. *diadopsi dari Abdul Kadir, 2005. Nomor_Peg. Nama. 05001. Karmen. 05002. Tigor. 05003. Sita Devi. Model Data Relasional. Data direprentasikan dalam tabel berdimensi dua Tiga komponen yang mendasari model data relasional: Struktur data

ipo
Download Presentation

Perancangan Database Bagian I*

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Perancangan DatabaseBagian I* *diadopsi dari Abdul Kadir, 2005

  2. Nomor_Peg Nama 05001 Karmen 05002 Tigor 05003 Sita Devi Model Data Relasional • Data direprentasikan dalam tabel berdimensi dua • Tiga komponen yang mendasari model data relasional: • Struktur data • Pemanipulasi data • Integritas data

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

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

  5. Kunci • Kunci dapat dibedakan menjadi: • Kunci sederhana : Terdiri atas sebuah atribut • 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)

  6. Kunci Tamu • Kunci tamu.(( tidak ada ketentuan nilainya beda) foreign key) biasa digunakan sebagai penghubung ke relasi lain Kunci asing PELANGGAN Kd_Pelanggan  Nama Kd_Kota A001 Aditya 0501 KOTA B001 Bakdi 0502 Kd_Kota  Nama_Kota B002 Bramanto 0502 0501 Semarang 0502 Salatiga Kunci primer 0503 Kendal

  7. 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)

  8. Sifat Relasi • Setiap relasi memiliki nama yang unik • Setiap isian pada perpotongan baris dan kolom harus bersifat atomik (bernilai tunggal) • Setiap baris bersifat unik • Setiap atribut memiliki nama yang unik • Urutan kolom tidak penting • Urutan baris juga tidak penting

  9. 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

  10. Kekangan 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

  11. 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

  12. Integritas Referensial • Memastikan bahwa konsistensi antara dua buah relasi tetap terjaga Keadaan Awal: Kd_Pelanggan Nama Kd_Kota Kd_Kota Nama_Kota A001 Aditya 0501 0501 Semarang B001 Bakdi 0502 0502 Salatiga B002 Bramanto 0502 0503 Kendal

  13. Efek Tanpa Integritas Referensial Keadaan Setekah data 0502 pada KOTA dihapus: 0502 Salatiga Kd_Pelanggan Nama Kd_Kota Kd_Kota Nama_Kota A001 Aditya 0501 0501 Semarang B001 Bakdi 0502 0503 Kendal B002 Bramanto 0502 Menjadi tidak konsisten

  14. Efek Integritas Referensial Keadaan Setekah data 0502 pada KOTA dihapus: 0502 Salatiga Kd_Pelanggan Nama Kd_Kota Kd_Kota Nama_Kota A001 Aditya 0501 0501 Semarang B002 Bramanto 0502 0503 Kendal Ikut terhapus! atau penghapusan ditolak B001 Bakdi 0502

  15. 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 PostgreSQL, hal ini bisa diimplementasikan dalam prosedur tersimpan

  16. 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

  17. Anomali • Anomali penyisipan • Anomali penghapusan • Anomali peremajaan

  18. Anomali Peremajaan • Terjadi bila terdapat pengubahan pada sejumlah data yang redundan, tetapi tanpa sengaja tidak semua ikut diubah Pemasok Citra pindah ke Bogor dan Pengubahan dilakukan hanya pada data pertama

  19. Anomali Penyisipan • Terjadi bila ada penambahan data • Perhatikan contoh disamping • Masalah: “Bagaimana caranya menyimpan fakta bahwa ruang baru bernama Arjuna ada pada gedung selatan?”

  20. 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

  21. Tranformasi Diagram ER/EER ke Relasi • Memetakan Entitas Reguler (kuat) Nama_Pelanggan Tipe entitas PELANGGAN No_Pelanggan PELANGGAN Alamat_Pelanggan Relasi PELANGGAN No_Pelanggan Nama_Pelanggan Alamat_Pelanggan

  22. Tranformasi Diagram ER ke Relasi • Memetakan Entitas dengan Atribut Komposit Jalan Nama_Pelanggan Kota Kode_Pos Tipe entitas PELANGGAN dengan atribut komposit No_Pelanggan PELANGGAN Alamat_Pelanggan Relasi PELANGGAN No_Pelanggan Nama_Pelanggan Jalan Kota Kode_Pos

  23. Tranformasi Diagram ER ke Relasi • Memetakan Entitas dengan Atribut Bernilai Ganda Nama_Pegawai No_Pegawai Alamat_Pegawai Tipe entitas PEGAWAI dengan atribut bernilai ganda PEGAWAI Keterampilan No_Pegawai Nama_Pegawai Alamat_Pegawai Relasi PEGAWAI No_Pegawai Keterampilan Relasi KETERAMPILAN PEGAWAI

  24. Pemetaan Entitas Lemah No_Pegawai Nama_Pegawai Nama_Tanggungan Tanggal_Lahir Memiliki PEGAWAI TANGGUNGAN No_Pegawai Nama_Pegawai Relasi PEGAWAI No_Pegawai Nama_Tanggungan Tanggal_Lahir Relasi TANGGUNGAN

  25. Pemetaan Hubungan 1 to M No_Pelanggan Nama_Pelanggan Nomor_Pesan Tanggal_Pesan Mengirim PELANGGAN PESANAN No_Pelanggan Nama_Pelanggan Relasi PELANGGAN No_Pesan Tanggal_Pesan No_Pelanggan Relasi PESANAN

  26. Pemetaan Hubungan M to M No_Pesan Tgl_Pesan Kode_Produk Harga_Unit Jumlah Meminta PESANAN PRODUK No_Pesan Tgl_pesan Relasi PESANAN No_Pesan Kode_Produk Jumlah Relasi BARIS PESANAN Kode_Produk Harga_Unit Relasi PRODUK

  27. Pemetaan Hubungan 1 to 1 No_Dosen Nama_Dosen Kode_Prodi Nama_Prodi Tanggal_Penugasan Mengepalai DOSEN PROGRAM STUDI No_Dosen Nama_Dosen Relasi DOSEN Kode_Prodi Nama_Prodi No_Dosen Tanggal_penugasan Relasi PROGRAM STUDI

  28. Pemetaan Entitas Asosiatif(Ternary) No_Pelanggan Nama Vendor Alamat Tanggal No_Kirim Jumlah PENGIRIMAN PELANGGAN VENDOR No_Pelanggan Nama Relasi PELANGGAN Relasi PENGIRIMAN No_Kirim Tanggal Jumlah No_Pelanggan Kode_Vendor Kode_Vendor Alamat Relasi VENDOR

  29. Pemetaan Unary 1:N Nama_Pegawai No_Pegawai Tgl_Lahir PEGAWAI Mengepalai No_Pegawai Nama_Pegawai Tgl_lahir ID_Manajer Relasi PEGAWAI

  30. Pemetaan Unary M:M Nama_Item Harga_Unit No_Item ITEM Tersusun_atas Jumlah No_Item Nama_Item Harga_Unit Relasi ITEM No_Item No_Komponen Jumlah Relasi KOMPONEN

  31. Pemetaan Hubungan Supertipe/Subtipe Nama_Pegawai Alamat PEGAWAI Nomor_Pegawai Tgl_Mulai_Kerja Tipe_Pegawai: d “K” “H” “T” PEGAWAI HARIAN PEGAWAI TETAP PEGAWAI KONTRAK Kompensasi Upah_Harian Gaji_Bulanan Tunjangan Nomor_Kontrak Lama_Kontrak

  32. Pemetaan Hubungan Supertipe/Subtipe (Lanjutan…) • Model relasional tidak mendukung hubungan supertipe/subtipe secara langsung • Strategi pemecahan untuk kasus di depan: • Buat relasi terpisah untuk masing-masing supertipe dan subtipe • Berikan atribut-atribut yang umum (termasuk kunci primer) ke supertipe • Masukkan pembeda subtipe pada supertipe • Tambahkan kunci primer pada supertipe ke semua subtipe

  33. Solusi Pemetaan Hubungan Supertipe/Subtipe Nomor_Pegawai Nama_Pegawai Alamat Tgl_Mulai_Kerja Tipe_Pegawai PEGAWAI Nomor_Pegawai Upah_Harian PEGAWAI HARIAN Nomor_Pegawai Gaji_Bulanan Tunjangan PEGAWAI TETAP Nomor_Pegawai Nomor_Kontrak Lama_Kontrak Kompensasi PEGAWAI KONTRAK

  34. Tugas • Suatu hasil ujian dinyatakan dengan atribut seperti berikut: • No_Mhs • Nama_Mhs • Mataujian • No_Dosen_Penguji • Nama_Dosen_Penguji • Gambarkan diagram E-R-nya • Kemudian ubahlah diagram E-R tersebut ke relasi

More Related