Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Perancangan Database Bagian I. Model Data Relasional Data direprentasikan dalam tabel berdimensi dua Data direprentasikan dalam tabel berdimensi dua Tiga.

Presentasi serupa


Presentasi berjudul: "Perancangan Database Bagian I. Model Data Relasional Data direprentasikan dalam tabel berdimensi dua Data direprentasikan dalam tabel berdimensi dua Tiga."— Transcript presentasi:

1 Perancangan Database Bagian I

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

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

4 Relasi Setiap relasi memiliki kunci primer (primary key) Setiap relasi memiliki kunci primer (primary key) Kunci primer adalah atribut atau sejumlah atribut yang menjadi pembeda setiap baris dalam relasi Kunci primer adalah atribut atau sejumlah atribut yang menjadi pembeda setiap baris dalam relasi Kunci primer biasa dinyatakan dengan garis bawah Kunci primer biasa dinyatakan dengan garis bawah PEGAWAI(Nomor_Peg, Nama) Kunci primer

5 Kunci Kunci dapat dibedakan menjadi: 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) Jumlah) NILAI(No_Mhs, Kode_Matakuliah,Skor)

6 Kunci Tamu Kunci tamu (foreign key) biasa digunakan sebagai penghubung ke relasi lain Kunci tamu (foreign key) biasa digunakan sebagai penghubung ke relasi lain Kd_Kota  Nama_Kota 0501Semarang 0502Salatiga 0503Kendal Kd_Pelanggan  Nama A001Aditya B001Bakdi B002Bramanto Kd_Kota PELANGGAN KOTA Kunci primer Kunci asing

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

8 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

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

10 Kekangan Domain Memastikan data dalam domain yang telah ditetapkan Memastikan data dalam domain yang telah ditetapkan Domain adalah kemungkinan nilai terhadap suatu atribut Domain adalah kemungkinan nilai terhadap suatu atribut Contoh: Contoh: A,B,C,D,E untuk nilai A,B,C,D,E untuk nilai TRUE untuk pria dan FALSE untuk wanita TRUE untuk pria dan FALSE untuk wanita INTEGER untuk menyatakan nilai bulat INTEGER untuk menyatakan nilai bulat Dalam praktek, domain juga mencakup panjang data Dalam praktek, domain juga mencakup panjang data Contoh: Contoh: CHARACTER, SIZE 35 CHARACTER, SIZE 35 INTEGER, 3 DIGITS INTEGER, 3 DIGITS

11 Integritas Entitas Memastikan bahwa data yang terkait dengan kunci primer tidak terlanggar Memastikan bahwa data yang terkait dengan kunci primer tidak terlanggar Secara khusus, data Null pada kunci primer akan ditolak Secara khusus, data Null pada kunci primer akan ditolak Null berarti nilai pada atribut tidak pernah diberikan Null berarti nilai pada atribut tidak pernah diberikan

12 Integritas Referensial Memastikan bahwa konsistensi antara dua buah relasi tetap terjaga Memastikan bahwa konsistensi antara dua buah relasi tetap terjaga Kd_Kota Nama_Kota 0501Semarang 0502Salatiga 0503Kendal Kd_PelangganNama A001Aditya B001Bakdi B002Bramanto Kd_Kota Keadaan Awal:

13 Efek Tanpa Integritas Referensial Kd_Kota Nama_Kota 0501Semarang 0502Salatiga 0503Kendal Kd_PelangganNama A001Aditya B001Bakdi B002Bramanto Kd_Kota Keadaan Setelah data 0502 pada KOTA dihapus: Menjadi tidak konsisten

14 Efek Integritas Referensial Kd_Kota Nama_Kota 0501Semarang 0503Kendal Kd_PelangganNama A001Aditya B002Bramanto Kd_Kota Salatiga Keadaan Setekah data 0502 pada KOTA dihapus: B001Bakdi0502 Ikut terhapus! atau penghapusan ditolak

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

16 Relasi Berstruktur Baik Suatu relasi dikatakan berstruktur baik kalau : Suatu relasi dikatakan berstruktur baik kalau : Mengandung redundansi sesedikit mungkin dan Mengandung redundansi sesedikit mungkin dan Memungkinkan pemakai memasukkan, mengubah, atau menghapus baris tanpa menimbulkan kesalahan atau tidak konsisten 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 Kesalahan atau akibat tidak konsisten yang ditimbulkan pada ulasan di atas biasa dinamakan anomali

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

18 Anomali Peremajaan Terjadi bila terdapat pengubahan pada sejumlah data yang redundan, tetapi tanpa sengaja tidak semua ikut diubah Terjadi bila terdapat pengubahan pada sejumlah data yang redundan, tetapi tanpa sengaja tidak semua ikut diubah PEMASOKKOTABARANGJUMLAH KartikaJakartaMonitor GGG10 CitraBandungZIP drive4 CandraJakartaKeyboard5 CitraBandungMouse CCP25 Pemasok Citra pindah ke Bogor dan Pengubahan dilakukan hanya pada data pertama PEMASOKKOTABARANGJUMLAH KartikaJakartaMonitor GGG10 CitraBogorZIP drive4 CandraJakartaKeyboard5 CitraBandungMouse CCP25

19 Anomali Penyisipan Terjadi bila ada penambahan data Terjadi bila ada penambahan data Perhatikan contoh disamping Perhatikan contoh disamping Masalah: “Bagaimana caranya menyimpan fakta bahwa ruang baru bernama Arjuna ada pada gedung selatan?” Masalah: “Bagaimana caranya menyimpan fakta bahwa ruang baru bernama Arjuna ada pada gedung selatan?” KULIAHRUA NGTEMPAT Jaringan KomputerMerapiGedung Utara Pengantar Basis DataMerbabuGedung Utara Matematikaa IRamaGedung Selatan Sistem PakarSintaGedung Selatan Kecerdasan BuatanMerapiGedung Utara

20 Anomali Penghapusan Terjadi kiranya sesuatu baris yang tak terpakai dihapus dan sebagai akibatnya terdapat data lain yang hilang Terjadi kiranya sesuatu baris yang tak terpakai dihapus dan sebagai akibatnya terdapat data lain yang hilang Perhatikan contoh di samping Perhatikan contoh di samping Apa yang terjadi seandainya data bahwa siswa dengan identitas 20 dihapus? Data yang menyatakan bahwa biaya kursus bahasa Jepang juga akan terhapus Apa yang terjadi seandainya data bahwa siswa dengan identitas 20 dihapus? Data yang menyatakan bahwa biaya kursus bahasa Jepang juga akan terhapus NO_SISWANAMA_KURSUSBIAYA 10Bahasa Inggris Bahasa Prancis Bahasa Mandarin Bahasa Inggris Bahasa Jepang

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

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

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

24 Pemetaan Entitas Lemah PEGAWAI Memiliki No_PegawaiNama_PegawaiNama_TanggunganTanggal_Lahir TANGGUNGAN No_PegawaiNama_Pegawai Relasi PEGAWAI No_PegawaiNama_TanggunganTanggal_Lahir Relasi TANGGUNGAN

25 Pemetaan Hubungan 1 to M Mengirim PELANGGAN No_PelangganNama_PelangganNomor_PesanTanggal_Pesan PESANAN No_PelangganNama_Pelanggan Relasi PELANGGAN No_PesanTanggal_PesanNo_Pelanggan Relasi PESANAN

26 Pemetaan Hubungan M to M Meminta PESANAN No_PesanTgl_PesanKode_ProdukHarga_Unit PRODUK No_PesanTgl_pesan Relasi PESANAN Kode_ProdukHarga_Unit Relasi BARIS PESANAN Jumlah No_PesanKode_ProdukJumlah Relasi PRODUK

27 Pemetaan Hubungan 1 to 1 Mengepalai DOSEN No_DosenNama_DosenKode_ProdiNama_Prodi PROGRAM STUDI No_DosenNama_Dosen Relasi DOSEN Relasi PROGRAM STUDI Tanggal_Penugasan Kode_ProdiNama_ProdiNo_DosenTanggal_penugasan

28 Pemetaan Entitas Asosiatif (Ternary) PENGIRIMAN PELANGGAN No_PelangganNama VendorAlamat VENDOR No_PelangganNama Relasi PELANGGAN Kode_VendorAlamat Relasi PENGIRIMAN Tanggal No_KirimTanggalJumlah Relasi VENDOR No_Kirim Jumlah No_PelangganKode_Vendor

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

30 Pemetaan Unary M:M ITEM No_Item Nama_Item No_ItemNama_ItemHarga_Unit Relasi ITEM Harga_Unit Tersusun_atas Jumlah No_ItemNo_KomponenJumlah Relasi KOMPONEN

31 Pemetaan Hubungan Supertipe/Subtipe PEGAWAI d PEGAWAI HARIANPEGAWAI TETAPPEGAWAI KONTRAK Gaji_Bulanan Nomor_Pegawai Nama_PegawaiAlamat Tgl_Mulai_Kerja Upah_HarianNomor_KontrakLama_KontrakTunjangan Kompensasi Tipe_Pegawai: “H” “K” “T”

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

33 Solusi Pemetaan Hubungan Supertipe/Subtipe Nomor_PegawaiNama_PegawaiAlamatTgl_Mulai_Kerja PEGAWAI Nomor_PegawaiUpah_Harian PEGAWAI HARIAN Nomor_PegawaiGaji_Bulanan PEGAWAI TETAP Nomor_PegawaiNomor_Kontrak PEGAWAI KONTRAK Tunjangan Lama_KontrakKompensasi Tipe_Pegawai

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


Download ppt "Perancangan Database Bagian I. Model Data Relasional Data direprentasikan dalam tabel berdimensi dua Data direprentasikan dalam tabel berdimensi dua Tiga."

Presentasi serupa


Iklan oleh Google