350 likes | 576 Views
Perancangan Database. 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. Nomor_Peg.
E N D
Nomor_Peg Nama 05001 Karmen 05002 Tigor 05003 Sita Devi Model Data Relasional • Data direprentasikandalamtabelberdimensidua • Tigakomponen yang mendasari model data relasional: • Struktur data • Pemanipulasi data • Integritas data
Nomor_Peg Nama 05001 Karmen 05002 Tigor 05003 Sita Devi Model Data Relasional • Istilahrelasi (relation) menyatakannamatabel • Contoh: PEGAWAI(Nomor_Peg, Nama) Struktur data
Relasi • Setiaprelasimemilikikunci primer (primary key) • Kunci primer adalahatributatausejumlahatribut yang menjadipembedasetiapbarisdalamrelasi • Kunci primer biasadinyatakandengangarisbawah Kunci primer PEGAWAI(Nomor_Peg, Nama)
Kunci • Kuncidapatdibedakanmenjadi: • Kuncisederhana : Terdiriatassebuahatribut • Kuncikomposit : Tersusunatasduaatributataulebih Kuncisederhana: PEGAWAI(Nomor_Peg, Nama) DEPARTEMEN(Kode_Dep, Nama_Dep) BARANG(Kode_Barang, Nama_Barang) Kuncikomposit: BARANG DIPESAN(No_Pesanan, Kode_Barang, Jumlah) NILAI(No_Mhs, Kode_Matakuliah,Skor)
Kunci Tamu • Kuncitamu (foreign key) biasadigunakansebagaipenghubungkerelasi lain PELANGGAN Kunci asing Kd_Pelanggan Nama Kd_Kota KOTA A001 Aditya 0501 Kd_Kota Nama_Kota B001 Bakdi 0502 B002 Bramanto 0502 0501 Semarang 0502 Salatiga Kunci primer 0503 Kendal
Kunci Tamu (Lanjutan…) • Garisbawahterputus-putusbiasadipakaiuntukmenyatakankuncitamu • Contoh: PELANGGAN(Kd_Pelanggan, Nama, Kd_Kota) KOTA(Kd_Kota, Nama_Kota)
SifatRelasi • Setiaprelasimemilikinama yang unik • Setiapisianpadaperpotonganbarisdankolomharusbersifatatomik (bernilaitunggal) • Setiapbarisbersifatunik • Setiapatributmemilikinama yang unik • Urutankolomtidakpenting • Urutanbarisjugatidakpenting
KekanganIntegritas (Integrity Constraint) • Tujuannyaadalahuntukmemfasilitasipenjagaankeakurasiandanintegritas data dalamdatabase (supayatetapkonsisten) • Macamnya: • Kekangan domain • Integritasentitas • Integritasreferensial • Kekanganoperasional
Kekangan Domain • Memastikan data dalam domain yang telahditetapkan • Domain adalahkemungkinannilaiterhadapsuatuatribut • Contoh: • A,B,C,D,E untuknilai • TRUE untukpriadan FALSE untukwanita • INTEGER untukmenyatakannilaibulat • Dalampraktek, domain jugamencakuppanjang data • Contoh: • CHARACTER, SIZE 35 • INTEGER, 3 DIGITS
IntegritasEntitas • Memastikanbahwa data yang terkaitdengankunci primer tidakterlanggar • Secarakhusus, data Null padakunci primer akanditolak • Nullberartinilaipadaatributtidakpernahdiberikan
Integritas Referensial • Memastikanbahwakonsistensiantaraduabuahrelasitetapterjaga 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
Efek Tanpa Integritas Referensial KeadaanSetelah 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 tidakkonsisten
Efek Integritas Referensial KeadaanSetekah 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
Kekangan Operasional • Kekangan yang berhubungandenganaturanbisnis • Misalnya “ Saldotabungantidakbolehnegatif ” • Pada Access, kekangansepertiinibisadiimplementasikanpada Validation Rule. • PadaPostgreSQL, halinibisadiimplementasikandalamprosedurtersimpan
RelasiBerstrukturBaik • Suaturelasidikatakanberstrukturbaikkalau : • Mengandungredundansisesedikitmungkindan • Memungkinkanpemakaimemasukkan, mengubah, ataumenghapusbaristanpamenimbulkankesalahanatautidakkonsisten • Kesalahanatauakibattidakkonsisten yang ditimbulkanpadaulasandiatasbiasadinamakananomali
Anomali • Anomali penyisipan • Anomali penghapusan • Anomali peremajaan
Anomali Peremajaan • Terjadibilaterdapatpengubahanpadasejumlah data yang redundan, tetapitanpasengajatidaksemuaikutdiubah Pemasok Citra pindah ke Bogor dan Pengubahan dilakukan hanya pada data pertama
AnomaliPenyisipan • Terjadibilaadapenambahan data • Perhatikancontohdisamping • Masalah: “BagaimanacaranyamenyimpanfaktabahwaruangbarubernamaArjunaadapadagedungselatan?”
Anomali Penghapusan • Terjadikiranyasesuatubaris yang takterpakaidihapusdansebagaiakibatnyaterdapat data lain yang hilang • Perhatikancontohdisamping • Apa yang terjadiseandainya data siswadenganidentitas 20 dihapus? Data yang menyatakanbahwabiayakursusbahasaJepangjugaakanterhapus
Tranformasi Diagram ER/EER keRelasi • Memetakan Entitas Reguler (kuat) Nama_Pelanggan Tipe entitas PELANGGAN No_Pelanggan PELANGGAN Alamat_Pelanggan Relasi PELANGGAN No_Pelanggan Nama_Pelanggan Alamat_Pelanggan
Tranformasi Diagram ER keRelasi • 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
Tranformasi Diagram ER keRelasi • Memetakan Entitas dengan Atribut Bernilai Ganda Nama_Pegawai Alamat_Pegawai No_Pegawai Tipe entitas PEGAWAI dengan atribut bernilai ganda PEGAWAI Keterampilan No_Pegawai Nama_Pegawai Alamat_Pegawai Relasi PEGAWAI No_Pegawai Keterampilan Relasi KETERAMPILAN PEGAWAI
PemetaanEntitasLemah 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
PemetaanHubungan 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
PemetaanHubungan 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
PemetaanHubungan 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
PemetaanEntitasAsosiatif (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
Pemetaan Unary 1:N Nama_Pegawai Tgl_Lahir No_Pegawai PEGAWAI Mengepalai No_Pegawai Nama_Pegawai Tgl_lahir ID_Manajer Relasi PEGAWAI
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
PemetaanHubunganSupertipe/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
Pemetaan Hubungan Supertipe/Subtipe (Lanjutan…) • Model relasionaltidakmendukunghubungansupertipe/subtipesecaralangsung • Strategipemecahanuntukkasusdidepan: • Buatrelasiterpisahuntukmasing-masingsupertipedansubtipe • Berikanatribut-atribut yang umum (termasukkunci primer) kesupertipe • Masukkanpembedasubtipepadasupertipe • Tambahkankunci primer padasupertipekesemuasubtipe
SolusiPemetaanHubunganSupertipe/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
PR • Suatu hasil ujian dinyatakan dengan atribut seperti berikut: • No_Mhs • Nama_Mhs • Mataujian • No_Dosen_Penguji • Nama_Dosen_Penguji • Nilai • Gambarkan diagram E-R-nya • Kemudian ubahlah diagram E-R tersebut ke relasi