Post on 03-Jan-2016
description
Perancangan Basisdata
Tahap Perancangan Basis Data
1. Pembuatan ERD (Entity Relasionship Diagram)
2. Pembuatan Struktur Tabel.– Menentukan tipe data– Menentukan Domain dan Constraint
Pembuatan ERD(tahap Logika)
1. Tahap pembuatan ERD awal (preliminary design)
2. Tahap optimasi ERD (final design).
Tahap awal (preliminary design)
1. Mengidentifikasi dan menetapkan seluruh entity yang terlibat dalam sistem database tersebut.
2. Menentukan attribute-attribute atau field dari masing-masing entity beserta kunci (key)-nya
3. Mengidentifkasi dan menetapkan seluruh himpunan relasi diantara himpunan-himpunan entity yang ada.
4. Menentukan derajat relasi untuk setiap himpunan relasi, yang akan menjadi dasar penentuan kunci tamu (foreign key)- nya
5. Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif (non key).
Tahap optimasi Diagram ER (final design).
• Transformasi Relasi M-M• Pemetaan Hubungan Supertype/Subtype• Normalisasi Tabel
Relasi/ Tabel• 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
PEGAWAI(Nomor_Peg, Nama)
Kunci primer
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)
Kunci Tamu• Kunci 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
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)
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
Tranformasi Diagram ER/EER ke Relasi
• Memetakan Entitas Reguler (kuat)
PELANGGANNo_Pelanggan
Nama_Pelanggan
Alamat_Pelanggan
Tipe entitas PELANGGAN
Tranformasi Diagram ER ke Relasi
• Memetakan Entitas dengan Atribut Komposit
Relasi PELANGGAN
PELANGGANNo_Pelanggan
Nama_Pelanggan
Alamat_Pelanggan
Tipe entitas PELANGGAN dengan atribut komposit
JalanKota
Kode_Pos
Tranformasi Diagram ER ke Relasi
• Memetakan Entitas dengan Atribut Bernilai Ganda
PEGAWAI
No_Pegawai
Nama_Pegawai
Keterampilan
Tipe entitas PEGAWAI dengan atribut bernilai ganda
Alamat_Pegawai
Pemetaan Entitas Lemah
PEGAWAI Memiliki
No_Pegawai Nama_Pegawai Nama_Tanggungan Tanggal_Lahir
TANGGUNGAN
Pemetaan Hubungan 1 to M
MengirimPELANGGAN
No_Pelanggan Nama_Pelanggan Nomor_Pesan Tanggal_Pesan
PESANAN
Pemetaan Hubungan M to M
MemintaPESANAN
No_Pesan Tgl_Pesan Kode_Produk Harga_Unit
PRODUK
Jumlah
Pemetaan Hubungan 1 to 1
MengepalaiDOSEN
No_Dosen Nama_Dosen Kode_Prodi Nama_Prodi
PROGRAM STUDI
Tanggal_Penugasan
atau
Pemetaan Entitas Asosiatif(Ternary)
PENGIRIMANPELANGGAN
No_Pelanggan Nama Kode_Vendor Nama_Vendor
VENDOR
TanggalNo_KirimJumlah
Barang
Kode_Barang Nama_Barang Alamat
Pemetaan Unary 1:N
PEGAWAI
No_Pegawai
Nama_PegawaiTgl_Lahir
Mengepalai
Pemetaan Unary M:M
ITEM
No_Item
Nama_ItemHarga_Unit
Tersusun_atasJumlah
Pemetaan Hubungan Supertipe/Subtipe
PEGAWAI
d
PEGAWAI HARIANPEGAWAI TETAPPEGAWAI KONTRAK
Gaji_Bulanan
Nomor_Pegawai
Nama_Pegawai Alamat
Tgl_Mulai_Kerja
Upah_Harian Nomor_KontrakLama_KontrakTunjangan
Kompensasi
Tipe_Pegawai:
“H”
“K”“T
”
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 dalam supertipe
3. Masukkan pembeda subtipe pada supertipe4. Tambahkan kunci primer pada supertipe ke
semua subtipe
Pemetaan Hubungan Supertipe/Subtipe (Lanjutan…)
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 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• 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
Kd_Kota Nama_Kota
0501 Semarang
0502 Salatiga
0503 Kendal
Kd_Pelanggan Nama
A001 Aditya
B001 Bakdi
B002 Bramanto
Kd_Kota
0501
0502
0502
Keadaan Awal:
Efek Tanpa Integritas Referensial
Kd_Kota Nama_Kota
0501 Semarang
0502 Salatiga
0503 Kendal
Kd_Pelanggan Nama
A001 Aditya
B001 Bakdi
B002 Bramanto
Kd_Kota
0501
0502
0502
Keadaan Setekah data 0502 pada KOTA dihapus:
Menjadi tidak konsisten
Efek Integritas Referensial
Kd_Kota Nama_Kota
0501 Semarang
0503 Kendal
Kd_Pelanggan Nama
A001 Aditya
B002 Bramanto
Kd_Kota
0501
0503
0502 Salatiga
Keadaan Setekah data 0502 pada KOTA dihapus:
B001 Bakdi 0502Ikut terhapus!
atau penghapusan
ditolak
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
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
PR• 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