Top Banner
Perancangan Database
34

Perancangan Database

Jan 07, 2016

Download

Documents

Ewa

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. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Perancangan Database

PerancanganDatabase

Page 2: Perancangan Database

Model Data RelasionalData direprentasikan dalam tabel

berdimensi duaTiga komponen yang mendasari model data

relasional:Struktur data Pemanipulasi dataIntegritas data

Nomor_Peg Nama

05001 Karmen

05002 Tigor

05003 Sita Devi

Page 3: Perancangan Database

Model Data RelasionalIstilah relasi (relation) menyatakan nama

tabelContoh:

PEGAWAI(Nomor_Peg, Nama)Nomor_Peg Nama

05001 Karmen

05002 Tigor

05003 Sita Devi

Struktur data

Page 4: Perancangan Database

RelasiSetiap 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

PEGAWAI(Nomor_Peg, Nama)

Kunci primer

Page 5: Perancangan Database

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)

Page 6: Perancangan Database

Kunci TamuKunci tamu (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

Page 7: Perancangan Database

Kunci Tamu (Lanjutan…)Garis bawah terputus-putus biasa dipakai

untuk menyatakan kunci tamuContoh:

PELANGGAN(Kd_Pelanggan, Nama, Kd_Kota)

KOTA(Kd_Kota, Nama_Kota)

Page 8: Perancangan Database

Sifat Relasi1. Setiap relasi memiliki nama yang unik2. Setiap isian pada perpotongan baris dan

kolom harus bersifat atomik (bernilai tunggal)

3. Setiap baris bersifat unik4. Setiap atribut memiliki nama yang unik5. Urutan kolom tidak penting6. Urutan baris juga tidak penting

Page 9: Perancangan Database

Kekangan Integritas (Integrity Constraint)Tujuannya adalah untuk memfasilitasi

penjagaan keakurasian dan integritas data dalam database (supaya tetap konsisten)

Macamnya:Kekangan domainIntegritas entitasIntegritas referensialKekangan operasional

Page 10: Perancangan Database

Kekangan DomainMemastikan data dalam domain yang telah

ditetapkanDomain adalah kemungkinan nilai terhadap suatu

atributContoh:

A,B,C,D,E untuk nilaiTRUE untuk pria dan FALSE untuk wanitaINTEGER untuk menyatakan nilai bulat

Dalam praktek, domain juga mencakup panjang data

Contoh:CHARACTER, SIZE 35INTEGER, 3 DIGITS

Page 11: Perancangan Database

Integritas EntitasMemastikan bahwa data yang terkait dengan

kunci primer tidak terlanggarSecara khusus, data Null pada kunci primer

akan ditolakNull berarti nilai pada atribut tidak pernah

diberikan

Page 12: Perancangan Database

Integritas ReferensialMemastikan bahwa konsistensi antara dua

buah relasi tetap terjaga

Kd_KotaNama_Kota

0501 Semarang

0502 Salatiga

0503 Kendal

Kd_Pelanggan Nama

A001 Aditya

B001 Bakdi

B002 Bramanto

Kd_Kota

0501

0502

0502

Keadaan Awal:

Page 13: Perancangan Database

Efek Tanpa Integritas Referensial

Kd_KotaNama_Kota

0501 Semarang

0502 Salatiga

0503 Kendal

Kd_Pelanggan Nama

A001 Aditya

B001 Bakdi

B002 Bramanto

Kd_Kota

0501

0502

0502

Keadaan Setelah data 0502 pada KOTA dihapus:

Menjadi tidak konsisten

Page 14: Perancangan Database

Efek Integritas Referensial

Kd_KotaNama_Kota

0501 Semarang

0503 Kendal

Kd_Pelanggan Nama

A001 Aditya

B002 Bramanto

Kd_Kota

0501

0502

0502 SalatigaKeadaan Setekah data 0502 pada KOTA dihapus:

B001 Bakdi 0502Ikut terhapus!

atau penghapusan

ditolak

Page 15: Perancangan Database

Kekangan OperasionalKekangan yang berhubungan dengan aturan

bisnisMisalnya “ Saldo tabungan tidak boleh

negatif ”Pada Access, kekangan seperti ini bisa

diimplementasikan pada Validation Rule.Pada PostgreSQL, hal ini bisa

diimplementasikan dalam prosedur tersimpan

Page 16: Perancangan Database

Relasi Berstruktur BaikSuatu 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

Page 17: Perancangan Database

Anomali1. Anomali penyisipan2. Anomali penghapusan3. Anomali peremajaan

Page 18: Perancangan Database

Anomali PeremajaanTerjadi bila

terdapat pengubahan pada sejumlah data yang redundan, tetapi tanpa sengaja tidak semua ikut diubah

PEMASOK KOTA BARANG JUMLAH

Kartika Jakarta Monitor GGG 10

Citra Bandung ZIP drive 4

Candra Jakarta Keyboard 5

Citra Bandung Mouse CCP 25

PEMASOK KOTA BARANG JUMLAH

Kartika Jakarta Monitor GGG 10

Citra Bogor ZIP drive 4

Candra Jakarta Keyboard 5

Citra Bandung Mouse CCP 25

Pemasok Citra pindah ke Bogor dan Pengubahan dilakukan hanya pada

data pertama

Page 19: Perancangan Database

Anomali PenyisipanTerjadi bila ada

penambahan dataPerhatikan contoh

disampingMasalah: “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

Page 20: Perancangan Database

Anomali PenghapusanTerjadi kiranya sesuatu

baris yang tak terpakai dihapus dan sebagai akibatnya terdapat data lain yang hilang

Perhatikan contoh di samping

Apa yang terjadi seandainya data siswa dengan identitas 20 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

20 Bahasa Jepang 160.000

Page 21: Perancangan Database

Tranformasi Diagram ER/EER ke RelasiMemetakan Entitas Reguler (kuat)

PELANGGANNo_Pelanggan

Nama_Pelanggan

Alamat_Pelanggan

No_PelangganNama_PelangganAlamat_Pelanggan

Tipe entitas PELANGGAN

Relasi PELANGGAN

Page 22: Perancangan Database

Tranformasi Diagram ER ke RelasiMemetakan Entitas dengan Atribut Komposit

PELANGGANNo_Pelanggan

Nama_Pelanggan

Alamat_Pelanggan

No_PelangganNama_Pelanggan Jalan

Tipe entitas PELANGGAN dengan atribut komposit

Relasi PELANGGAN

JalanKota

Kode_Pos

Kota Kode_Pos

Page 23: Perancangan Database

Tranformasi Diagram ER ke RelasiMemetakan Entitas dengan Atribut Bernilai Ganda

PEGAWAI

No_Pegawai

Nama_Pegawai

Keterampilan

No_Pegawai Nama_Pegawai Alamat_Pegawai

Tipe entitas PEGAWAI dengan atribut bernilai ganda

Relasi PEGAWAI

Alamat_Pegawai

No_Pegawai Keterampilan Relasi KETERAMPILAN PEGAWAI

Page 24: Perancangan Database

Pemetaan Entitas Lemah

PEGAWAI Memiliki

No_Pegawai Nama_PegawaiNama_Tanggungan Tanggal_Lahir

TANGGUNGAN

No_Pegawai Nama_Pegawai Relasi PEGAWAI

No_PegawaiNama_TanggunganTanggal_Lahir Relasi TANGGUNGAN

Page 25: Perancangan Database

Pemetaan Hubungan 1 to M

MengirimPELANGGAN

No_Pelanggan Nama_Pelanggan Nomor_Pesan Tanggal_Pesan

PESANAN

No_PelangganNama_Pelanggan Relasi PELANGGAN

No_Pesan Tanggal_Pesan No_Pelanggan Relasi PESANAN

Page 26: Perancangan Database

Pemetaan Hubungan M to M

MemintaPESANAN

No_Pesan Tgl_Pesan Kode_Produk Harga_Unit

PRODUK

No_Pesan Tgl_pesan Relasi PESANAN

Kode_Produk Harga_Unit

Relasi BARIS PESANAN

Jumlah

No_Pesan Kode_Produk Jumlah

Relasi PRODUK

Page 27: Perancangan Database

Pemetaan Hubungan 1 to 1

MengepalaiDOSEN

No_Dosen Nama_Dosen Kode_Prodi Nama_Prodi

PROGRAM STUDI

No_Dosen Nama_Dosen Relasi DOSEN

Relasi PROGRAM STUDI

Tanggal_Penugasan

Kode_Prodi Nama_Prodi No_DosenTanggal_penugasan

Page 28: Perancangan Database

Pemetaan Entitas Asosiatif (Ternary)

PENGIRIMANPELANGGAN

No_Pelanggan Nama Vendor Alamat

VENDOR

No_Pelanggan Nama Relasi PELANGGAN

Kode_Vendor Alamat

Relasi PENGIRIMAN

Tanggal

No_Kirim Tanggal Jumlah

Relasi VENDOR

No_KirimJumlah

No_PelangganKode_Vendor

Page 29: Perancangan Database

Pemetaan Unary 1:N

PEGAWAI

No_Pegawai

Nama_Pegawai

No_Pegawai Nama_Pegawai Tgl_lahir Relasi PEGAWAI

Tgl_Lahir

Mengepalai

ID_Manajer

Page 30: Perancangan Database

Pemetaan Unary M:M

ITEM

No_Item

Nama_Item

No_Item Nama_Item Harga_Unit Relasi ITEM

Harga_Unit

Tersusun_atasJumlah

No_Item No_Komponen Jumlah Relasi KOMPONEN

Page 31: Perancangan Database

Pemetaan Hubungan Supertipe/Subtipe

PEGAWAI

d

PEGAWAI HARIAN PEGAWAI TETAP PEGAWAI KONTRAK

Gaji_Bulanan

Nomor_Pegawai

Nama_Pegawai Alamat

Tgl_Mulai_Kerja

Upah_Harian Nomor_KontrakLama_KontrakTunjangan

Kompensasi

Tipe_Pegawai:

“H”

“K”“T”

Page 32: Perancangan Database

Pemetaan Hubungan Supertipe/Subtipe (Lanjutan…) Model relasional tidak mendukung hubungan

supertipe/subtipe secara langsung 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 supertipe4. Tambahkan kunci primer pada supertipe ke

semua subtipe

Page 33: Perancangan Database

Solusi Pemetaan Hubungan Supertipe/Subtipe

Nomor_PegawaiNama_Pegawai AlamatTgl_Mulai_Kerja PEGAWAI

Nomor_Pegawai Upah_Harian PEGAWAI HARIAN

Nomor_PegawaiGaji_Bulanan PEGAWAI TETAP

Nomor_PegawaiNomor_Kontrak

PEGAWAI KONTRAK

Tunjangan

Lama_KontrakKompensasi

Tipe_Pegawai

Page 34: Perancangan Database

PRSuatu hasil ujian dinyatakan dengan

atribut seperti berikut:No_MhsNama_MhsMataujianNo_Dosen_PengujiNama_Dosen_PengujiNilai

Gambarkan diagram E-R-nyaKemudian ubahlah diagram E-R tersebut

ke relasi